Google Play Game masih dalam versi beta terbuka.

Perlindungan integritas

Developer yang diundang memiliki akses ke beberapa fitur yang memberikan perlindungan integritas. Play Integrity API dan Perlindungan Integritas Otomatis berfungsi di Google Play Game dan platform seluler.

Play Integrity API

Play Integrity API membantu melindungi game Anda dari interaksi yang berpotensi berisiko dan menipu, sehingga Anda dapat merespons dengan tindakan yang tepat untuk mengurangi serangan dan penyalahgunaan seperti penipuan, kecurangan, dan akses yang tidak sah. Server backend game Anda dapat menerima sinyal tentang saluran distribusi (dilisensikan/diinstal dari Play Store), paket aplikasi (tidak dimodifikasi atau diubah dengan cara apa pun), dan perangkat itu sendiri (misalnya bukan perangkat yang di-root atau disusupi). Ini adalah satu-satunya solusi yang didukung Google yang memberikan sinyal andal bahwa penggunalah yang menggunakan Google Play Game dan bukan lingkungan virtual lain. Hal ini membantu Anda melakukan tindakan berikut:

  • Melindungi dari akses tidak sah dengan memastikan APK Anda didistribusikan dan diinstal oleh Google Play.
  • Melindungi dari modifikasi APK dengan memverifikasi bahwa server backend game Anda berinteraksi dengan biner yang tidak dimodifikasi.
  • Memastikan biner x86 yang baru dipublikasikan berjalan di lingkungan virtual Google Play Game, dan tidak rentan terhadap eksploitasi di platform yang tidak didukung.

Play Integrity API memadukan beberapa sinyal dalam token terenkripsi. Layanan ini menawarkan verdict integritas positif untuk perangkat Android asli dan lingkungan virtual yang lulus pemeriksaan integritas Google Play. Sebaiknya gunakan Play Integrity API selama peristiwa game penting berlangsung ketika aplikasi berjalan, misalnya saat pengguna melakukan pembelian dalam aplikasi atau saat game menyimpan skor pengguna. Sebaiknya jangan gunakan API dengan cara yang sudah ditentukan sebelumnya seperti memanggil API pada waktu yang telah ditentukan.

API memberikan fleksibilitas maksimum, tetapi memerlukan kode tambahan yang berjalan pada server tepercaya. Validasi di perangkat tidaklah aman dan tidak direkomendasikan. Solusi lengkap harus menyertakan komponen sisi server yang memberikan fondasi yang diperlukan untuk pemeriksaan integritas dan validasi respons. Sebaiknya Anda tidak mengirim kembali keputusan ya/tidak ke perangkat, melainkan menyesuaikan perilaku aplikasi berdasarkan verdict yang diberikan oleh Play Integrity API.

Play Integrity API adalah penerus SafetyNet Attestation API (SNAA) dan Play App Licencing API. SNAA tidak akan berfungsi dengan Google Play Game karena SNAA hanya menampilkan sinyal negatif saat memverifikasi integritas Google Play Game.

Kolom Integritas Perangkat

Kolom deviceIntegrity berisi satu nilai, deviceRecognitionVerdict, yang menunjukkan seberapa baik perangkat dapat menerapkan integritas aplikasi. Secara default, deviceRecognitionVerdict dapat memiliki salah satu label berikut:

  • MEETS_DEVICE_INTEGRITY: Aplikasi berjalan di perangkat Android dengan layanan Google Play. Perangkat lulus pemeriksaan integritas sistem dan memenuhi persyaratan kompatibilitas Android.
  • MEETS_VIRTUAL_INTEGRITY: Aplikasi berjalan di lingkungan Android virtual dengan layanan Google Play, yang saat ini terbatas untuk Google Play Game. Lingkungan ini memenuhi persyaratan kompatibilitas Android inti dan lulus pemeriksaan integritas Google Play.
  • Tidak ada label (misalnya, nilai kosong): Aplikasi berjalan pada perangkat yang memiliki tanda serangan (seperti hooking API) atau penyusupan sistem (seperti di-root), atau aplikasi sedang berjalan pada perangkat non-fisik (seperti emulator) yang tidak lulus pemeriksaan integritas Google Play.

Play Integrity API menggunakan label deviceRecognitionVerdict, MEETS_VIRTUAL_INTEGRITY, untuk menunjukkan bahwa game berjalan pada Google Play Game. Berikut adalah contoh respons penerusan dari Play Integrity API:

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

Pastikan logika validasi Anda memeriksa label MEETS_VIRTUAL_INTEGRITY di Google Play Game.

Jika Anda juga memiliki game lintas platform di perangkat seluler, pastikan logika validasi juga memeriksa label MEETS_DEVICE_INTEGRITY.

Lihat dokumentasi Play Integrity API untuk informasi lebih lanjut.

Perlindungan Integritas Otomatis

Perlindungan Integritas Otomatis adalah pemeriksaan runtime yang ditambahkan oleh Google Play setiap kali game Anda dibuka. Jika game Anda dimodifikasi atau tidak diinstal oleh Google Play, perlindungan integritas otomatis dapat mencegahnya berjalan. Fitur ini tidak memeriksa perangkat, Anda harus menggunakan Play Integrity API untuk mendapatkan status integritas perangkat.

Perlindungan Integritas Otomatis membantu melindungi integritas, dengan fitur berikut:

  • Mewajibkan penginstalan dari Google Play: Menambahkan pemeriksaan untuk melihat apakah aplikasi Anda diinstal dari Google Play. Jika tidak lolos pemeriksaan ini, pengguna akan diminta untuk menginstal aplikasi Anda dari Google Play. Fitur yang direkomendasikan ini aktif secara default, tetapi dapat dinonaktifkan. Menonaktifkan fitur ini akan menonaktifkan perlindungan dari pembajakan untuk aplikasi berbayar.
  • Membatasi modifikasi: Menambahkan pemeriksaan untuk melihat apakah aplikasi Anda tidak diubah. Jika pemeriksaan ini gagal, aplikasi tidak akan berjalan. Fitur ini selalu aktif dan tidak dapat dinonaktifkan.
  • Membatasi rekayasa balik: Menambahkan obfuscation dan teknik lanjutan lainnya yang mempersulit penghapusan pemeriksaan runtime. Fitur ini selalu aktif dan tidak dapat dinonaktifkan.

Perlindungan Integritas Otomatis mewajibkan keikutsertaan developer dan tidak memerlukan perubahan kode atau pekerjaan developer. Perlindungan berjalan terlepas dari apakah ada koneksi data atau internet, dan tidak ada komponen sisi server yang diperlukan. Perlu diperhatikan bahwa pemeriksaan "Require installation from Play" memerlukan koneksi data secara berkala jika aplikasi Play Store di perangkat telah offline selama jangka waktu yang lama.

Pertimbangan Google Play Game lainnya

Play menawarkan kumpulan produk integritas untuk membantu melindungi game Anda. Lihat dokumentasi Play Integrity untuk informasi lebih lanjut tentang produk yang tersedia. Bagian ini memperjelas pertimbangan khusus saat menggunakan produk ini dengan Google Play Game.

Mengecualikan perangkat yang tidak dapat dipercaya dari distribusi

Konsol Google Play memiliki setelan yang memungkinkan Anda mencegah aplikasi tersedia untuk diinstal dari Google Play di perangkat yang tidak lulus pemeriksaan integritas.

Saat ini, fitur ini tidak kompatibel dengan Google Play Game dan mencegah distribusi game ke platform. Jangan aktifkan aturan pengecualian ini dalam katalog perangkat.

Play Integrity API

Play Integrity API menggunakan label deviceRecognitionVerdict MEETS_VIRTUAL_INTEGRITY untuk menunjukkan bahwa game berjalan pada Google Play Game. Berikut adalah contoh respons penerusan dari Play Integrity API:

deviceIntegrity: {
    // "MEETS_DEVICE_INTEGRITY" is one of several possible values.
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

Pastikan logika validasi Anda memeriksa label MEETS_VIRTUAL_INTEGRITY.

Lihat dokumentasi Play Integrity API untuk informasi lebih lanjut.