Google Play Game mengharuskan Anda membuat perubahan kompatibilitas dan pengoptimalan PC untuk game Anda. Perubahan ini memastikan game dapat berjalan di PC dan pengalaman pengguna dioptimalkan untuk platform.
Selain itu, Google Play Game memiliki persyaratan grafik, input perangkat, dan permainan lintas-perangkat. Untuk informasi selengkapnya, lihat Panduan memulai.
Saat membuat perubahan kompatibilitas dan pengoptimalan PC (selain dukungan x86), Anda dapat menyiapkan game untuk mendeteksi Google Play Game, lalu menonaktifkan atau mengaktifkan fitur khusus platform. Dengan begitu, Anda dapat menggunakan APK atau App bundle yang sama untuk rilis PC dan seluler Android Anda.
Berikut adalah ringkasan persyaratan dan rekomendasi di halaman ini:
- Menyertakan arsitektur ABI x86 (wajib)
- Mendeteksi Google Play Game saat runtime (direkomendasikan)
- Menangani peristiwa onPause (direkomendasikan)
- Memperbarui elemen UI (wajib)
- Menonaktifkan dialog izin aplikasi Android (wajib)
- Menonaktifkan fitur dan izin Android yang tidak didukung (wajib)
- Mengganti WebView dengan intent browser (direkomendasikan)
- Menonaktifkan API Layanan Google Play yang tidak didukung (wajib)
- Mengaktifkan penyimpanan terbatas (wajib)
- Menonaktifkan iklan seluler di PC (direkomendasikan)
- Bermigrasi ke Google Analytics 4 (direkomendasikan)
Menyertakan arsitektur ABI x86
Diwajibkan oleh proses rilis
Semua library yang disertakan dalam game Anda memerlukan versi yang kompatibel dengan ABI x86 untuk memastikan performa dan stabilitas terbaik di platform. Google Play Game mendukung versi 32 bit dan 64 bit, tetapi Anda hanya perlu memilih salah satu untuk memenuhi persyaratan.
Kompilasi library
Untuk memastikan kompatibilitas prosesor x86 terbaik, jangan gunakan kumpulan petunjuk
atom saat mengompilasi library Anda. Misalnya, saat menggunakan gcc
,
hindari penggunaan -march=atom
dan gunakan -march=x86
atau
-march=x86-64
.
Arsitektur target di Unity
Beberapa versi Unity 2019 dan 2020 tidak memiliki dukungan arsitektur x86 di Android. Pastikan Anda menggunakan Unity 2019.4.31f1, 2020.3.19f1, atau yang lebih baru.
Jika game Anda menggunakan versi game engine Unity yang kompatibel, lakukan langkah-langkah berikut untuk mengaktifkan target Android x86/x86-64:
Buka Player Settings > Other Settings > Configuration > Scripting Backend, lalu pilih IL2CPP dari menu dropdown untuk mengaktifkan Scripting Backend IL2CPP.
Mengaktifkan target Android x86 untuk versi Unity Anda:
Unity 2018 dan versi sebelumnya: buka Player Settings > Other Settings > Target Architecture, lalu pilih kotak centang x86.
Rilis Dukungan Jangka Panjang Unity 2019 (LTS) dan yang lebih baru: buka Player Settings > Other Settings > Target Architectures, lalu aktifkan x86 ChromeOS) dan x86-64 (ChromeOS).
Untuk memaksimalkan dukungan game engine, sebaiknya aktifkan dukungan x86 dan x86-64, atau hanya x86-64 agar Anda tidak dibatasi oleh ruang memori 32 bit.
Karena Unity 2018 hanya mendukung target x86, Anda dapat melewati dukungan x86-64. Namun, Anda tidak dapat merilis build tersebut di Android karena persyaratan 64-bit. Dalam hal ini, Anda perlu mempertahankan build terpisah untuk Google Play Game.
Mendeteksi Google Play Game
Anda dapat mendeteksi platform Google Play Game saat runtime sehingga Anda dapat mengaktifkan atau menonaktifkan fitur khusus platform dalam game.
Periksa fitur sistem com.google.android.play.feature.HPE_EXPERIENCE
untuk
menentukan apakah game Anda berjalan di platform Google Play Game:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Menangani Peristiwa siklus proses Android
Penting untuk menangani peristiwa
onPause
(c++)
di lingkungan Google Play Game. Game Anda terlihat
saat pemain mengaktifkan overlay emulator, sehingga kegagalan pemrosesan peristiwa
onPause
dapat menyebabkan pengalaman pengguna yang buruk.
Memperbarui UI
Elemen dan gestur UI tertentu tidak cocok di PC dan harus diperbarui.
Wajib:
- Mengganti tindakan UI yang memerlukan dua jari atau lebih (gestur multi-kontrol). Misalnya, Anda harus mengganti gestur cubit untuk memperbesar dan gestur multi-kontrol lainnya dengan input mouse dan keyboard yang sesuai. Untuk mengetahui detail perubahan input perangkat, lihat Dukungan input.
Direkomendasikan:
- Semua teks yang terlihat oleh pengguna harus bertuliskan "klik", bukan "ketuk".
- Daftar yang dapat di-scroll harus memiliki scrollbar.
- Area yang dapat digeser pengguna harus memiliki scrollbar atau beberapa cara lain untuk melintasi jarak yang jauh dengan cepat.
- Jangan menampilkan keyboard yang dapat diklik untuk entri teks.
- Semua entri teks harus berada dalam batas kolom teks.
- Klik pada elemen yang terlihat harus:
- Menerima klik di mana pun dalam batas elemen yang terlihat.
- Tidak menerima klik pada area di luar elemen yang terlihat.
- Dialog harus memiliki tombol tutup yang terlihat. Jangan mendeteksi klik di luar batas dialog.
Menonaktifkan dialog izin
Google Play Game tidak menampilkan dialog izin, jadi sebaiknya jangan mencoba menampilkannya sebelum meminta izin. Jika Anda menampilkan dialog izin sebelumnya, Anda harus mengupdate game agar tidak lagi menampilkannya di PC.
Fitur dan izin Android yang tidak didukung
Diwajibkan oleh proses rilis
Di PC, fitur Android tertentu yang tersedia di ponsel atau tablet tidak dapat diakses. Ini mencakup fitur hardware seperti kamera dan fitur lainnya seperti lokasi pengguna. Akibatnya, game Anda tidak boleh bergantung pada fitur atau izin Android yang tidak didukung. Di PC, jika game meminta akses ke izin yang tidak didukung, permintaan tersebut otomatis akan gagal.
Agar game kompatibel dengan PC, Anda harus membuat perubahan berikut:
Di manifes aplikasi, tambahkan
android:required="false"
ke deklarasi<uses-feature>
untuk semua fitur yang tidak didukung Google Play Game. Ini hanya berlaku untuk fitur yang telah dideklarasikan di manifes aplikasi Anda.Nonaktifkan fitur dari game yang bergantung pada fitur hardware dan software yang tidak didukung di PC. Jika menggunakan APK yang sama seperti game seluler, Anda dapat menonaktifkannya secara kondisional untuk PC.
Nonaktifkan permintaan untuk izin Android yang tidak didukung dari game Anda, dan fitur yang bergantung pada izin ini. Jika menggunakan APK yang sama seperti game seluler, Anda dapat membuat perubahan untuk PC ini secara kondisional, dan tidak boleh membuat perubahan apa pun pada izin yang dideklarasikan di manifes.
Untuk informasi selengkapnya tentang kompatibilitas manifes aplikasi, lihat panduan Kompatibilitas manifes aplikasi Chromebook.
Persyaratan pengujian fungsional
Hapus fitur hardware ini sebelum mengirimkan build pengujian pertama ke Konsol Google Play:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
android.hardware.microphone
Untuk informasi lebih lanjut cara menghapus fitur android.hardware.wifi
, lihat
Memantau status konektivitas dan pengukuran koneksi.
Untuk mengetahui daftar lengkap fitur yang tidak didukung, lihat
panduan kompatibilitas manifes aplikasi untuk Chromebook.
Persyaratan pengujian kualitas
Fitur hardware yang biasa digunakan ini tidak kompatibel dengan PC sehingga Anda harus menghapusnya sebelum pengiriman akhir ke Konsol Google Play:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.microphone
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
Izin yang tidak didukung
Izin yang biasa digunakan berikut tidak didukung di PC, sehingga game Anda harus menonaktifkannya untuk Google Play Game:
android.permission.FOREGROUND_SERVICE
android.permission.INSTALL_PACKAGES
android.permission.READ_PHONE_STATE
android.permission.USE_CREDENTIALS
android.permission.CAMERA
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.WRITE_SETTINGS
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.READ_CONTACTS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.GET_ACCOUNTS
android.permission.RECORD_AUDIO
android.permission.RECEIVE_BOOT_COMPLETED
Situs dan WebView eksternal
Intent browser memuat dalam browser web native di PC, bukan yang ada di lingkungan Google Play Game. Ini adalah pengalaman yang ideal bagi pemain dalam sebagian besar situasi.
Untuk memudahkan porting, Google Play Game mendukung
WebView. Karena
dibuka di lingkungan Google Play Game, pengalaman pengguna browser desktop
biasanya tidak akan tersedia. Jika sebelumnya Anda menggunakan WebView
untuk
berbagi Persyaratan Layanan, Kebijakan Privasi, atau konten serupa lainnya, sebaiknya Anda
memanggil intent browser.
Menonaktifkan API Layanan Google Play yang tidak didukung
Diwajibkan oleh proses rilis
Google Play Game mengirim varian Layanan Google Play-nya sendiri yang hanya berisi subset API Layanan Google Play. Anda perlu mengonfirmasi bahwa aplikasi Anda tidak terlalu bergantung pada modul yang dihilangkan atau tidak didukung di PC. Pertimbangkan bahwa beberapa modul mungkin tersedia, tetapi fungsinya tidak selalu didukung. Misalnya, Firebase Cloud Messaging tidak akan berfungsi saat Google Play Game ditutup.
Modul yang Didukung
Modul-modul berikut saat ini tersedia dan didukung oleh Google Play Game, dan akan mendukung fitur tambahan:
- Login dengan Google (tidak termasuk transfer akun, SmartLock, Verifikasi SMS, Penghitungan kompleksitas sandi)
- Cronet
- Layanan game Google Play
- Tasks
- Visual
- Google Pay
Dukungan Terbatas
Modul berikut ini berfungsi sebagian. Kami akan melakukan upaya terbaik untuk mendukung modul-modul tersebut di Google Play Game, tetapi kami tidak dapat menjamin fungsinya.
- Google AdMob (Iklan seluler, ID Iklan)
- Google Cloud Messaging (Tidak digunakan lagi, gunakan Firebase Cloud Messaging)
- Firebase Authentication (Autentikasi nomor telepon tidak berfungsi)
- Firebase Cloud Messaging
- Firebase Common Libraries
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Tidak Didukung
Modul-modul ini tidak didukung di Google Play Game, tetapi tidak menyebabkan masalah di Google Play Game jika gagal:
- Google Analytics (Tidak digunakan lagi, gunakan Firebase Analytics)
- Google Cast
- Awareness API
- Drive (Tidak digunakan lagi, akan segera dihapus)
- FIDO
- Firebase Realtime Database
- Firestore
- Pengujian A/B Firebase
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Maps SDK
- Berbagi Langsung
- Panorama
- Tempat
- Google+
- SafetyNet (Tidak digunakan lagi), lengkapi formulir minat untuk ikut serta dalam Play Integrity API mendatang)
- Google Tag Manager
- Wear OS
Rusak
Diwajibkan oleh proses rilis
Anda tidak boleh menggunakan modul ini di PC karena dapat menyebabkan perilaku yang tidak terduga di Google Play Game.
Mengaktifkan penyimpanan terbatas
Diwajibkan oleh proses rilis
Bagian ini berlaku jika game Anda membaca atau menulis ke penyimpanan eksternal. Penerapan penyimpanan terbatas diperlukan sebagai cara alternatif untuk membaca dan menulis ke penyimpanan. Dengan melakukan hal ini, Anda tidak perlu meminta izin sensitif berikut kepada pemain:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Untuk informasi selengkapnya tentang penyimpanan terbatas, lihat:
Menonaktifkan iklan seluler di game versi PC
Diwajibkan oleh proses rilis
Guna mengoptimalkan game untuk PC, Anda harus menonaktifkan iklan seluler di versi PC karena iklan tersebut tidak kompatibel dengan PC. Ini mencakup semua unit iklan yang disediakan oleh SDK iklan seluler. Anda tidak wajib membuat perubahan pada iklan di versi seluler game Anda. Sebaiknya gunakan tombol fitur untuk membatasi perubahan hanya pada versi PC game Anda. Anda tetap dapat mempertahankan iklan seluler di ChromeOS.
Anda harus melakukan langkah-langkah berikut saat menghapus iklan seluler:
Nonaktifkan semua unit iklan seluler, termasuk banner, interstisial, dan iklan reward.
Nonaktifkan fitur game yang bergantung pada iklan reward. Misalnya, fitur yang memungkinkan pengguna menonton iklan video untuk memperoleh mata uang dalam game dapat menonaktifkan atau menghapus tombol sepenuhnya.
Analytics
Produk Google Analytics lama tidak berfungsi di Google Play Game. Jika game menggunakan versi lama, Anda harus memigrasikannya ke Google Analytics 4.
Hal ini hanya akan memengaruhi game Anda jika saat ini Anda menggunakan Google Analytics 360. Jika menggunakan Firebase SDK untuk melacak peristiwa analisis dalam game dan dapat melihat game Anda sebagai properti di Konsol Google Analytics, Anda tidak perlu mengambil tindakan lebih lanjut.