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:
- Perangkat Android 12 tertentu
- Perangkat yang menjalankan Android 13 atau yang lebih baru
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:
Download dan instal SDK Android 13.
Dalam file
AndroidManifest.xml
, mendeklarasikan aplikasi Anda sebagai game dengan menyetel atributappCategory
di kolom Elemen<application>
:
android:appCategory="game"
- 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. |
Tambahkan kode untuk mengkueri status mode game di Fungsi
onResume
:
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.
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.