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.

Game Mode API dan intervensi tersedia di:

Setiap game dapat menerapkan perilaku Game Mode API, mengusulkan setelan intervensi Mode Game kepada OEM, atau memilih tidak ikut 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 di 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 mengkueri 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

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

<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"
/>

Beralih 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 Game Mode selama pengembangan.

Jika 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 Berbagi app bundle dan APK secara internal.

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

Pada Gambar 1, Mode Game game yang sedang berjalan dapat diubah dari widget Pengoptimalan. Seperti yang ditampilkan di widget, game saat ini berjalan dalam mode PERFORMANCE.

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

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

Aplikasi Contoh

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

Berikutnya

Baca Intervensi Mode Game untuk meningkatkan performa game saat update game tidak dapat diberikan.