Game Mode API

Dengan API Mode Game, Anda dapat mengoptimalkan game untuk mendapatkan performa terbaik atau masa pakai baterai terpanjang jika pengguna memilih mode game yang sesuai.

Atau, Anda dapat mengirimkan permintaan untuk Intervensi Mode Game guna meningkatkan performa game yang tidak lagi diupdate oleh developer.

API Mode Game dan intervensi tersedia di:

Setiap game dapat menerapkan perilaku API Mode Game, menyarankan setelan intervensi Mode Game ke OEM, atau memilih untuk tidak ikut menggunakan intervensi Mode Game.

Penyiapan

Untuk menggunakan API Mode Game di game Anda, lakukan hal berikut:

  1. Download dan instal Android 13 SDK.

  2. Dalam file AndroidManifest.xml, deklarasikan aplikasi Anda sebagai game dengan menetapkan atribut appCategory dalam elemen <application>:

android:appCategory="game"
  1. Buat kueri mode game saat ini dengan menambahkannya ke aktivitas utama Anda:

Java

// Only call this for Android 12 and higher devices
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ) {
  // Get GameManager from SystemService
  GameManager gameManager = Context.getSystemService(GameManager.class);

  // Returns the selected GameMode
  int gameMode = gameManager.getGameMode();
}

Kotlin

// Only call this for Android 12 and higher devices
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
  // Get GameManager from SystemService
  val gameManager: GameManager? = context.getSystemService(Context.GAME_SERVICE) as GameManager?

  // Returns the selected GameMode
  val gameMode = gameManager?.gameMode
}
Mode game yang didukung Deskripsi
TIDAK DIDUKUNG Game tidak mendeklarasikan dukungan untuk API Mode Game dan tidak mendukung intervensi Mode Game.
STANDAR Pengguna belum memilih mode game atau pengguna memilih mode standar.
PERFORMA Memberikan kecepatan frame latensi terendah karena fidelitas dan masa pakai baterai berkurang.
BATERAI Memberikan masa pakai baterai terlama karena kecepatan frame dan fidelitas berkurang.
  1. Tambahkan kode untuk meminta status mode game dalam fungsi onResume:

    Contoh dengan mode Baterai setelan pengguna

Praktik Terbaik

Jika game Anda sudah mendukung beberapa target fidelitas dan kecepatan frame, Anda harus mengidentifikasi setelan yang sesuai untuk mode performa dan penghemat baterai:

  • Untuk mencapai kecepatan frame perangkat maksimum secara konsisten, pertimbangkan adanya sedikit pengurangan dalam fidelitas untuk mencapai kecepatan frame yang lebih tinggi.

  • Untuk meningkatkan masa pakai baterai: sebaiknya pilih kecepatan refresh layar yang lebih rendah (misalnya, 30 Hz atau 60 Hz) dan gunakan kecepatan frame untuk menargetkan frekuensi yang lebih rendah.

Untuk game tipe high-fidelity, seperti tembak-menembak orang pertama, arena pertarungan online multiplayer (MOBA), dan game RPG, Anda harus berfokus mencapai kecepatan frame yang tinggi untuk memaksimalkan pengalaman pengguna.

Untuk game tipe high-fidelity dan sederhana, Anda harus mendukung mode penghemat baterai untuk memperpanjang waktu bermain dengan mengurangi kecepatan frame puncak.

Mendeklarasikan dukungan untuk Mode Game

Untuk mendeklarasikan dukungan untuk Mode Game dan mengganti intervensi Mode Game apa pun oleh OEM, pertama-tama tambahkan konfigurasi Mode Game ke <application> elemen dalam AndroidManifest.xml file:

<application>
    <meta-data android:name="android.game_mode_config"
               android:resource="@xml/game_mode_config" />
  ...
</application>

Kemudian, buat file game_mode_config.xml di direktori res/xml/ project Anda dengan konten berikut:

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="true"
    android:supportsPerformanceGameMode="true"
/>

Mengalihkan Mode Game

Untuk beralih antar-mode game, Anda dapat menggunakan Dasbor Game (tersedia di perangkat Pixel) atau aplikasi serupa yang disediakan oleh OEM. Atau, Anda dapat menggunakan perintah shell Mode Game selama pengembangan.

Jika Anda menggunakan Dasbor Game dan ikon pengoptimalan tidak ditampilkan saat game diluncurkan, Anda mungkin perlu mengupload aplikasi ke Konsol Google Play dan menginstalnya melalui Play Store. Untuk mengetahui informasi tentang pengujian aplikasi di Play Store, lihat Membagikan app bundle dan APK secara internal.

Aktivitas Dasbor Game! Gambar 1. Dasbor Game ditampilkan sebagai overlay di atas game yang berjalan di perangkat Pixel.

Pada gambar 1, Mode Game yang berjalan dapat diubah dari widget Pengoptimalan. Seperti yang ditunjukkan pada widget, game saat ini berjalan dalam PERFORMANCE mode.

Selama pengembangan, jika Anda menggunakan perangkat tanpa Dasbor Game dan produsen tidak menyediakan cara untuk menetapkan Mode Game untuk setiap aplikasi, Anda dapat mengubah status Mode Game melalui adb:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

Contoh Aplikasi

Contoh API Mode Game menyoroti cara mengoptimalkan FPS dan merender batas resolusi untuk menghemat daya sekitar 25% dalam aplikasi Anda.

Berikutnya

Baca Intervensi Mode Game untuk meningkatkan performa game saat tidak memungkinkan untuk memberikan update game.