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 Mode Game setelan intervensi ke OEM, atau memilih tidak ikut intervensi Mode Game.

Penyiapan

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

  1. Download dan instal SDK Android 13.

  2. Dalam file AndroidManifest.xml, mendeklarasikan aplikasi Anda sebagai game dengan menyetel atribut appCategory di kolom 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 di 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 apa pun dengan OEM, pertama-tama tambahkan konfigurasi Mode Game ke Elemen <application> di File AndroidManifest.xml:

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

Lalu, 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 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 informasi tentang pengujian aplikasi di Play Store, lihat Membagikan app bundle dan APK secara internal.

Aktivitas Dasbor Game! Gambar 1. Dasbor Game ditampilkan yang menempatkan game yang sedang berjalan di Pixel perangkat seluler.

Di gambar 1, Mode Game pada game yang sedang berjalan dapat diubah dari Pengoptimalan . Seperti yang ditampilkan di widget, game saat ini berjalan di PERFORMANCE mode.

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

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

Contoh Aplikasi

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

Berikutnya

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