Kompatibilitas dan pengoptimalan PC untuk Google Play Game di PC

Google Play Game di PC 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 di PC 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-64), Anda dapat menyiapkan game untuk mendeteksi Google Play Game di PC, 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-64

Diwajibkan oleh proses rilis

Semua library yang disertakan dalam game Anda memerlukan versi yang kompatibel dengan ABI x86-64 untuk memastikan performa dan stabilitas terbaik di platform.

Jika secara teknis game Anda tidak dapat mengirimkan file x86 64 bit yang dapat dieksekusi, Anda harus menghubungi tim peninjau untuk mendapatkan pengecualian. Game Anda tidak dapat mencapai sertifikasi penuh dengan pengecualian, tetapi dapat ditempatkan ke dalam katalog sebagai game yang "dapat dimainkan".

Kompilasi library

Untuk memastikan kompatibilitas prosesor x86-64 terbaik, jangan gunakan kumpulan petunjuk atom saat mengompilasi library Anda. Misalnya, saat menggunakan gcc, hindari penggunaan -march=atom dan gunakan -march=x86-64.

Arsitektur target di Unity

Beberapa versi Unity 2019 dan 2020 tidak memiliki dukungan arsitektur x86-64 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-64:

  1. Buka Player Settings > Other Settings > Configuration > Scripting Backend, lalu pilih IL2CPP dari menu dropdown untuk mengaktifkan Scripting Backend IL2CPP.

  2. Mengaktifkan target Android x86-64 untuk versi Unity Anda:

    • Unity 2018 dan versi sebelumnya: buka Player Settings > Other Settings > Target Architecture, lalu pilih kotak centang x86. Karena Unity 2018 hanya mendukung target x86, Anda tidak akan dapat membangun x86-64. Build ini akan memerlukan pengecualian dari tim peninjau. Hubungi kontak Google Anda untuk meminta pengecualian x86.

    • Rilis Dukungan Jangka Panjang Unity 2019 (LTS) dan yang lebih baru: buka Player Settings > Other Settings > Target Architectures, lalu aktifkan x86-64 (ChromeOS).

Mendeteksi Google Play Game di PC

Anda dapat mendeteksi platform Google Play Game di PC 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 di PC:

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 di PC. Game Anda terlihat saat pemain mengaktifkan overlay emulator, sehingga kegagalan pemrosesan peristiwa onPause dapat menyebabkan pengalaman pengguna yang buruk.

Mengupdate 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 sebagian besar dialog izin

Dengan pengecualian izin mikrofon, Google Play Game di PC tidak menampilkan dialog izin, jadi sebaiknya Anda sebaiknya jangan mencoba menampilkannya atau meminta izin saat runtime. 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

Beberapa fitur hardware umum di ponsel dan tablet tidak tersedia di PC. Ini mencakup fitur hardware seperti kamera atau lokasi pemain. Game apa pun yang memerlukan fitur yang tidak ada tidak dapat didownload dan diinstal di PC pemain. Permintaan untuk fitur yang tidak ada di PC akan otomatis gagal.

Anda dapat melihat daftar lengkap fitur yang tersedia dengan mengetik:

adb shell pm list features

Agar game kompatibel dengan PC, Anda harus membuat perubahan berikut:

  • Lakukan penandaan fitur sebagai opsional di manifes aplikasi Anda dengan menambahkan android:required="false" ke deklarasi <uses-feature>. Ini hanya berlaku untuk fitur yang telah dideklarasikan di manifes aplikasi Anda.

  • Jangan mencoba menggunakan fitur yang tidak ada saat runtime. Jika Anda menggunakan APK yang sama di jalur seluler dan PC, deteksi lingkungan PC saat runtime dan hindari jalur kode yang relevan.

  • Jangan meminta izin Android yang tidak didukung saat runtime. Jika Anda menggunakan APK yang sama di jalur seluler dan PC, deteksi lingkungan PC saat runtime dan hindari jalur kode yang relevan. Anda tidak perlu memperbarui manifes.

Untuk mengetahui 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

Beberapa fitur ini mungkin dicantumkan sebagai didukung saat menjalankan pm list features karena alasan kompatibilitas, tetapi tidak diterapkan sepenuhnya. Untuk mengetahui informasi selengkapnya tentang 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.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 di PC:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

Situs dan WebView eksternal

Intent browser memuat dalam browser web native di PC, bukan yang ada di lingkungan Google Play Game di PC. Ini adalah pengalaman yang ideal bagi pemain dalam sebagian besar situasi.

Untuk memudahkan porting, Google Play Game di PC mendukung WebView. Karena dibuka di lingkungan Google Play Game di PC, 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 di PC 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 di PC ditutup.

Modul yang Didukung

Modul-modul berikut saat ini tersedia dan didukung oleh Google Play Game di PC, dan akan mendukung fitur tambahan:

Dukungan Terbatas

Modul berikut ini berfungsi sebagian. Kami akan melakukan upaya terbaik untuk mendukung modul-modul tersebut di Google Play Game di PC, tetapi kami tidak dapat menjamin fungsinya.

Tidak Didukung

Modul-modul berikut tidak didukung di Google Play Game di PC, tetapi tidak menyebabkan masalah di Google Play Game di PC jika gagal:

Rusak

Diwajibkan oleh proses rilis

Anda tidak boleh menggunakan modul ini di PC karena dapat menyebabkan perilaku yang tidak terduga di Google Play Game di PC.

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:

Analytics

Produk Google Analytics lama tidak berfungsi di Google Play Game di PC. 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.