Halaman ini menjelaskan cara menyiapkan aplikasi atau game untuk menggunakan Play Integrity API. Anda harus mengaktifkan respons dari API, lalu perlu mengintegrasikan API ke aplikasi dan server backend aplikasi Anda. Pelaporan, fitur pengujian, dan opsi konfigurasi tambahan tersedia setelah Anda menautkan project Google Cloud yang Anda gunakan untuk Play Integrity API di Konsol Google Play.
Mengaktifkan respons Play Integrity API
Setiap aplikasi atau SDK yang memanggil Play Integrity API harus memanfaatkan project Google Cloud untuk memantau penggunaan API. Aplikasi di Google Play dapat menautkan project Cloud di Konsol Google Play untuk mengaktifkan respons Play Integrity API. Jika ingin membuat project Cloud baru atau aplikasi Anda didistribusikan secara eksklusif di luar Google Play, Anda dapat mengaktifkan respons Play Integrity API dari Konsol Google Cloud.
Menyiapkan di Konsol Google Play (direkomendasikan)
Dengan mengaktifkan respons Play Integrity API di Konsol Google Play, Anda akan mendapatkan akses ke pelaporan API, fitur pengujian, dan opsi konfigurasi tambahan. Opsi ini hanya tersedia untuk aplikasi yang didistribusikan di Google Play. Buka Rilis > Integritas aplikasi. Di bagian Play Integrity API, pilih Tautkan project Cloud. Pilih project Cloud yang ingin ditautkan ke aplikasi Anda dan tindakan ini akan mengaktifkan respons Play Integrity API. Sekarang Anda dapat mengintegrasikan Play Integrity API ke dalam aplikasi.
Menyiapkan di Konsol Google Cloud
Di Konsol Google Cloud, buat project Cloud baru atau pilih project Cloud yang sudah ada dan ingin Anda gunakan dengan Play Integrity API. Buka APIs and services. Pilih enable APIs and services. Cari Play Integrity API, lalu aktifkan dengan mengetuk enable. Sekarang Anda dapat mengintegrasikan Play Integrity API ke dalam aplikasi Anda.
Menyiapkan petunjuk untuk penyedia SDK
Penyedia SDK harus menggunakan project Google Cloud mereka sendiri untuk memanggil Play Integrity API, sehingga penggunaan API diatribusikan ke SDK, bukan ke masing-masing aplikasi yang menggunakan SDK. Hal ini berarti aplikasi yang menggunakan SDK Anda tidak perlu menyiapkan Play Integrity API satu per satu. Permintaan Anda untuk Play Integrity API akan otomatis mengurangi penggunaan API SDK, bukan aplikasi.
Developer SDK memiliki dua opsi untuk menyiapkan Play Integrity API, Google Play SDK Console atau Konsol Google Cloud.
Menggunakan Google Play SDK Console (direkomendasikan)
Dengan mengaktifkan respons Play Integrity API di Google Play SDK Console, Anda akan mendapatkan akses ke opsi konfigurasi tambahan. Buka Integritas SDK dan klik Setelan. Di bagian Konfigurasi project, pilih Tautkan project Cloud. Pilih project Cloud yang ingin ditautkan ke SDK Anda dan tindakan ini akan mengaktifkan respons Play Integrity API. Sekarang Anda dapat mengintegrasikan Play Integrity API ke dalam SDK. Perhatikan bahwa akses ke Google Play SDK Console tunduk pada kriteria kelayakan.
Menggunakan Konsol Google Cloud
Anda dapat mengaktifkan respons Play Integrity API dari Konsol Google Cloud. Di Konsol Google Cloud, buat project Cloud baru atau pilih project Cloud yang sudah ada dan ingin Anda gunakan dengan Play Integrity API. Buka APIs and services. Pilih enable APIs and services. Cari Play Integrity API, lalu aktifkan dengan mengetuk enable. Sekarang Anda dapat mengintegrasikan Play Integrity API ke dalam SDK.
Meningkatkan permintaan Play Integrity API harian SDK
Penyedia SDK yang ingin meningkatkan permintaan harian maksimum mereka harus melengkapi
formulir permintaan
kuota. Di
bagian komentar terbuka, tentukan bahwa Anda membuat permintaan SDK
dan sertakan koordinat Maven (groupId:artifactId
) atau URL
ke SDK Anda.
Meningkatkan permintaan Play Integrity API harian
Aplikasi Anda akan tunduk pada jumlah maksimum 10.000 total permintaan per aplikasi per hari. Anda dapat meminta untuk meningkatkan jumlah maksimum harian ini jika aplikasi perlu menangani peningkatan jumlah pengguna dengan mengikuti petunjuk di bawah.
Meningkatkan jumlah maksimum permintaan harian Anda
Agar memenuhi syarat untuk meningkatkan jumlah maksimum permintaan harian, aplikasi Anda harus tersedia di Google Play selain saluran distribusi lainnya. Meskipun dengan jumlah maksimum harian yang ditingkatkan, Anda harus terus membatasi permintaan klasik per pengguna menjadi tindakan yang jarang dan bernilai tinggi untuk menghemat baterai dan melindungi data pengguna.
Untuk meminta peningkatan jumlah maksimum permintaan harian, lakukan hal berikut:
- Tautkan project Google Cloud yang Anda gunakan untuk Play Integrity API di Konsol Play.
- Pastikan Anda mengimplementasikan logika API dengan benar, termasuk strategi coba lagi yang direkomendasikan.
- Minta penambahan kuota menggunakan formulir ini.
Diperlukan waktu hingga satu minggu untuk meningkatkan kuota Play Integrity API. Jadi. sebaiknya Anda memantau penggunaan Play Integrity API di Konsol Google Play atau di Konsol Google Cloud, tempat Anda juga dapat menetapkan peringatan kuota untuk menghindari gangguan pada layanan Anda.
Peningkatan kuota permintaan klasik akan otomatis diterapkan ke panggilan klien untuk membuat token integritas dan panggilan server untuk mendekripsi dan memverifikasi token integritas. Peningkatan kuota permintaan standar diterapkan ke panggilan server untuk mendekripsi dan memverifikasi token integritas.
Mengintegrasikan Play Integrity API ke dalam aplikasi Anda
Untuk mengintegrasikan Play Integrity API ke dalam aplikasi atau SDK Anda, lakukan salah satu hal berikut, bergantung pada lingkungan pengembangan Anda:
Kotlin atau Java
Library Android terbaru untuk Play Integrity API tersedia dari
Repositori Maven
Google.
Tambahkan dependensi berikut ke file build.gradle
aplikasi Anda:
implementation 'com.google.android.play:integrity:1.4.0'
Unity
Bagian berikut menjelaskan cara mengintegrasikan dan menyiapkan Google Play Integrity API untuk project Unity, yang mencakup versi Unity yang didukung, metode penginstalan, dan penyiapan lingkungan.
Versi Unity yang didukung
- Semua versi 2019.x, 2020.x, dan yang lebih baru didukung.
- Jika Anda menggunakan Unity 2018.x, versi 2018.4 atau yang lebih baru didukung.
- Unity 2017.x dan yang lebih lama tidak didukung.
Menyiapkan lingkungan pengembangan
OpenUPM-CLI
Jika telah menginstal OpenUPM CLI, Anda dapat menginstal registry OpenUPM dengan perintah berikut:
openupm add com.google.play.integrity
OpenUPM
Buka setelan pengelola paket dengan memilih opsi menu Unity Edit > Project Settings > Package Manager.
Tambahkan OpenUPM sebagai registry cakupan ke jendela Package Manager:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.integrity
Buka menu pengelola paket dengan memilih opsi menu Unity Window > Package Manager.
Tetapkan drop-down cakupan pengelola untuk memilih My Registries.
Pilih paket plugin Google Play Integrity for Unity dari daftar paket, lalu tekan Install.
Mengimpor dari GitHub
Download rilis
.unitypackage
terbaru dari GitHub.Impor file
.unitypackage
dengan memilih opsi menu Unity Assets > Import package > Custom Package, lalu mengimpor semua item.
Native
Instal Play Core Native SDK 1.13.0 atau yang lebih tinggi. Untuk mengetahui petunjuknya, lihat panduan penyiapan lingkungan pengembangan Play Core Native.
Mengonfigurasi respons API (opsional)
Respons API menyertakan verdict default yang ditampilkan dalam setiap permintaan. Jika menyiapkan integrasi Play Integrity API di Konsol Play, Anda dapat menyesuaikan respons API.
Respons default
Verdict integritas berikut ditampilkan dalam respons Play Integrity API secara default:
Kolom respons | Nilai | Deskripsi |
---|---|---|
Integritas perangkat | MEETS_DEVICE_INTEGRITY |
Aplikasi berjalan di perangkat Android yang didukung oleh layanan Google Play. Perangkat lulus pemeriksaan integritas sistem dan memenuhi persyaratan kompatibilitas Android. |
Kosong (nilai kosong) | Aplikasi berjalan di perangkat yang memiliki tanda-tanda serangan (seperti hooking API) atau penyusupan sistem (seperti di-root), atau aplikasi tidak berjalan di perangkat fisik (seperti emulator yang tidak lulus pemeriksaan integritas Google Play). | |
Detail akun Play | LICENSED |
Pengguna memiliki hak aplikasi. Dengan kata lain, pengguna menginstal atau mengupdate aplikasi Anda dari Google Play di perangkatnya. |
UNLICENSED |
Pengguna tidak memiliki hak aplikasi. Hal ini terjadi saat, misalnya, pengguna melakukan sideload pada aplikasi Anda atau tidak menginstalnya dari Google Play. | |
UNEVALUATED |
Detail pemberian lisensi tidak dievaluasi karena persyaratan tidak terpenuhi. Hal ini dapat terjadi karena beberapa alasan, termasuk:
|
|
Integritas aplikasi | PLAY_RECOGNIZED |
Aplikasi dan sertifikat cocok dengan versi yang didistribusikan oleh Google Play. |
UNRECOGNIZED_VERSION |
Nama paket atau sertifikat tidak cocok dengan data Google Play. | |
UNEVALUATED |
Integritas aplikasi tidak dievaluasi. Persyaratan yang diperlukan tidak terpenuhi, seperti perangkat tidak cukup tepercaya. |
Respons bersyarat
Jika mendistribusikan aplikasi ke Google Play Game untuk PC, Anda akan otomatis diikutsertakan untuk menerima label tambahan dalam verdict integritas perangkat:
Kolom respons | Label | Deskripsi |
---|---|---|
Integritas perangkat | MEETS_VIRTUAL_INTEGRITY |
Aplikasi berjalan di Android emulator yang didukung oleh layanan Google Play. Emulator lulus pemeriksaan integritas sistem dan memenuhi persyaratan kompatibilitas inti Android. |
Respons opsional
Jika menyiapkan integrasi Play Integrity API di Konsol Play atau SDK Console Play, Anda dapat memilih untuk menerima informasi dalam respons API Anda.
Untuk mengubah respons API Anda, buka Konsol Play, lalu buka Rilis > Integritas aplikasi. Di bagian Respons, edit dan simpan perubahan Anda.
Informasi perangkat opsional
Aplikasi dan SDK dapat memilih untuk menerima label perangkat tambahan dalam verdict integritas
perangkat. Setelah memilih untuk menerima label tambahan, respons integritas akan
menyertakan beberapa label untuk perangkat yang sama jika setiap kriteria label
terpenuhi. Anda dapat mempersiapkan server backend untuk berperilaku lain, bergantung pada
rentang kemungkinan respons. Misalnya, perangkat yang menampilkan tiga label
(MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
, dan MEETS_BASIC_INTEGRITY
) dapat lebih dipercaya daripada perangkat yang hanya menampilkan satu label
(MEETS_BASIC_INTEGRITY
).
Anda juga dapat memilih untuk menggunakan aktivitas perangkat terbaru. Aktivitas perangkat terbaru
menampilkan tingkat yang berkisar dari LEVEL_1
(jumlah permintaan rendah) hingga LEVEL_4
(jumlah permintaan tinggi). Misalnya, perangkat yang menampilkan tingkat aktivitas yang jauh
lebih tinggi dari biasanya untuk aplikasi Anda mungkin mencoba
menghasilkan token integritas dalam jumlah besar untuk didistribusikan ke perangkat
tidak tepercaya.
Anda juga dapat memilih untuk menggunakan atribut perangkat, yang memberi tahu Anda versi Android SDK Android OS yang berjalan di perangkat. Di masa mendatang, atribut ini mungkin diperluas dengan atribut perangkat lainnya.
Kolom respons | Label | Deskripsi | |
---|---|---|---|
Integritas perangkat | MEETS_BASIC_INTEGRITY |
Aplikasi berjalan di perangkat yang telah lulus pemeriksaan integritas sistem dasar, dan untuk perangkat Android 13+ memerlukan Android Platform Key Attestation. Perangkat mungkin tidak memenuhi persyaratan kompatibilitas Android dan mungkin tidak disetujui untuk menjalankan layanan Google Play. Misalnya, perangkat mungkin menjalankan versi Android yang tidak dikenal, mungkin memiliki bootloader yang tidak terkunci, booting yang tidak terverifikasi, atau mungkin belum disertifikasi oleh produsen. | |
MEETS_STRONG_INTEGRITY |
Aplikasi tersebut berjalan di perangkat Android yang didukung oleh layanan Google Play dan memiliki jaminan kuat atas integritas sistem seperti bukti integritas booting yang didukung hardware dan untuk perangkat Android 13+ harus memiliki update keamanan dalam setahun terakhir. Perangkat lulus pemeriksaan integritas sistem dan memenuhi persyaratan kompatibilitas Android. | ||
Permintaan token integritas API standar di perangkat ini dalam satu jam terakhir per aplikasi | Permintaan token integritas API klasik di perangkat ini dalam satu jam terakhir per aplikasi | ||
Aktivitas perangkat terbaru | LEVEL_1 (terendah) |
10 atau lebih sedikit | 5 atau kurang |
LEVEL_2 |
Antara 11 dan 25 | Antara 6 dan 10 | |
LEVEL_3 |
Antara 26 dan 50 | Antara 11 dan 15 | |
LEVEL_4 (tertinggi) |
Lebih dari 50 | Lebih dari 15 | |
UNEVALUATED |
Aktivitas perangkat terbaru tidak dievaluasi. Hal ini dapat
terjadi karena:
|
||
Atribut perangkat | sdkVersion: 19, 20, ..., 35 |
Versi SDK OS Android yang berjalan di perangkat.
Nomor yang ditampilkan dipetakan ke
Build.VERSION_CODES . |
|
Kosong (nilai kosong) | Versi SDK tidak dievaluasi karena persyaratan yang diperlukan tidak terpenuhi. Dalam hal ini, kolom sdkVersion tidak ditetapkan; sehingga, kolom deviceAttributes kosong.
Hal ini dapat terjadi karena:
|
Detail lingkungan opsional
Aplikasi dapat memilih untuk menerima verdict tambahan tentang lingkungan. Risiko akses aplikasi memungkinkan Anda mengetahui apakah aplikasi lain sedang berjalan dan dapat mengambil screenshot, menampilkan overlay, atau mengontrol perangkat. Verdict Play Protect memberi tahu Anda apakah Play Protect diaktifkan di perangkat dan apakah Play Protect telah menemukan malware yang diketahui.
Setelah Anda memilih untuk menerima verdict ini, respons API Anda akan menyertakan kolom detail lingkungan dengan verdict tersebut:
Kolom respons | Nilai | Deskripsi |
---|---|---|
Verdict risiko akses aplikasi | KNOWN_INSTALLED |
Aplikasi diinstal oleh Google Play atau dimuat sebelumnya di partisi sistem oleh produsen perangkat. |
KNOWN_CAPTURING |
Aplikasi yang diinstal oleh Google Play atau yang dimuat sebelumnya di perangkat sedang berjalan dan dapat digunakan untuk membaca atau merekam input dan output aplikasi yang meminta, seperti aplikasi perekaman layar. | |
KNOWN_CONTROLLING |
Aplikasi yang diinstal oleh Google Play atau yang dimuat sebelumnya di perangkat sedang berjalan dan dapat digunakan untuk mengontrol perangkat serta input dan output aplikasi yang meminta, seperti aplikasi yang mengontrol dari jarak jauh. | |
KNOWN_OVERLAYS |
Aplikasi yang diinstal oleh Google Play atau yang dimuat sebelumnya di perangkat sedang berjalan dan mungkin menampilkan overlay di aplikasi yang meminta. | |
UNKNOWN_INSTALLED |
Aplikasi lain diinstal, yang tidak diinstal oleh Google Play atau dimuat sebelumnya di partisi sistem oleh produsen perangkat. | |
UNKNOWN_CAPTURING |
Aplikasi lain yang dapat digunakan untuk membaca atau merekam input dan output aplikasi yang meminta, seperti aplikasi perekaman layar, sedang berjalan (tidak diinstal oleh Play atau dimuat sebelumnya di perangkat). | |
UNKNOWN_CONTROLLING |
Aplikasi lain yang dapat digunakan untuk mengontrol perangkat serta input dan output aplikasi yang meminta, seperti aplikasi yang mengontrol dari jarak jauh, sedang berjalan (tidak diinstal oleh Play atau dimuat sebelumnya di perangkat). | |
UNKNOWN_OVERLAYS |
Aplikasi lain sedang berjalan (tidak diinstal oleh Play atau dimuat sebelumnya di perangkat) yang mungkin menampilkan overlay di aplikasi yang meminta. | |
Kosong (nilai kosong) | Risiko akses aplikasi tidak dievaluasi jika persyaratan yang diperlukan tidak terpenuhi. Dalam
hal ini, kolom appAccessRiskVerdict kosong. Hal ini dapat terjadi karena
beberapa alasan, termasuk:
|
|
Verdict Play Protect | NO_ISSUES |
Play Protect diaktifkan dan tidak menemukan masalah aplikasi apa pun di perangkat. |
NO_DATA |
Play Protect diaktifkan, tetapi belum ada pemindaian yang dilakukan. Perangkat atau aplikasi Play Store mungkin baru saja direset. | |
POSSIBLE_RISK |
Play Protect dinonaktifkan. | |
MEDIUM_RISK |
Play Protect diaktifkan dan telah menemukan bahwa aplikasi yang berpotensi membahayakan terinstal di perangkat. | |
HIGH_RISK |
Play Protect diaktifkan dan telah menemukan bahwa aplikasi berbahaya terinstal di perangkat. | |
UNEVALUATED |
Verdict Play Protect tidak dievaluasi. Persyaratan yang diperlukan tidak terpenuhi, seperti perangkat tidak cukup tepercaya. |
Mengonfigurasi setelan permintaan klasik (opsional)
Lewati bagian ini jika Anda hanya berencana untuk membuat permintaan API standar.
Saat Anda membuat permintaan klasik, secara default, server Google Play akan mengelola enkripsi respons yang digunakan aplikasi Anda saat Anda berinteraksi dengan Play Integrity API. Meskipun sebaiknya Anda menggunakan opsi default ini, Anda juga dapat memilih untuk mengelola dan mendownload kunci enkripsi respons dengan mengikuti petunjuk di bawah ini.
Mengizinkan Google mengelola enkripsi respons (default dan direkomendasikan)
Untuk melindungi keamanan aplikasi, sebaiknya Anda mengizinkan Google membuat dan mengelola kunci enkripsi respons. Server backend Anda akan memanggil server Google Play untuk mendekripsi respons.
Mengelola dan mendownload kunci enkripsi respons
Jika ingin mendekripsi verdict integritas secara lokal dalam lingkungan server yang aman, Anda dapat mengelola dan mendownload kunci enkripsi respons. Untuk mengelola dan mendownload kunci enkripsi respons, Anda harus menggunakan Konsol Play, dan aplikasi Anda harus tersedia di Google Play selain di saluran distribusi lainnya. Ikuti petunjuk di bawah untuk beralih dari kunci enkripsi respons yang dikelola Google ke kunci yang dikelola sendiri.
Perlu diingat untuk tidak mendekripsi atau memverifikasi token yang diterima dari dalam aplikasi klien, dan jangan pernah menampilkan kunci dekripsi apa pun ke aplikasi klien.
Sebelum mengubah strategi pengelolaan enkripsi respons di Konsol Play, pastikan server Anda dikonfigurasi dengan benar untuk mendekripsi dan memverifikasi token integritas di server Google Play guna menghindari gangguan.
Beralih antara kunci enkripsi respons yang dikelola Google dan dikelola sendiri
Jika saat ini Google mengelola enkripsi respons, dan Anda ingin beralih untuk mengelola dan mendownload kunci enkripsi respons sendiri, ikuti langkah-langkah berikut:
- Login ke Konsol Play.
- Pilih aplikasi yang menggunakan Play Integrity API.
- Di bagian Rilis pada menu kiri, buka Integritas aplikasi.
- Di samping Play Integrity API, klik Setelan.
- Di bagian Permintaan klasik halaman, di samping Enkripsi respons, klik Edit.
- Di jendela yang muncul, klik Kelola dan download kunci enkripsi respons saya.
- Ikuti petunjuk cara mengupload kunci publik.
- Setelah jendela menunjukkan bahwa upload berhasil, klik Simpan dan kunci yang dienkripsi akan didownload secara otomatis.
- Ubah logika server agar Anda dapat mendekripsi dan memverifikasi token integritas secara lokal, di lingkungan server Anda yang aman, menggunakan kunci enkripsi respons Anda.
- (Opsional) Jika mengelola sendiri kunci enkripsi respons, aplikasi Anda masih dapat melakukan penggantian ke server Google Play untuk mendekripsi dan memverifikasi respons.
Jika Anda mengelola sendiri kunci enkripsi respons dan ingin beralih agar Google mengelola enkripsi respons Anda, ikuti langkah-langkah berikut:
- Ubah logika server Anda agar Anda hanya mendekripsi dan memverifikasi di server Google.
- Login ke Konsol Play.
- Pilih aplikasi yang menggunakan Play Integrity API.
- Di bagian Rilis pada menu kiri, buka Integritas aplikasi.
- Di samping Play Integrity API, klik Setelan.
- Di bagian Permintaan klasik halaman, di samping Enkripsi respons, klik Edit.
- Di jendela yang muncul, klik Izinkan Google mengelola enkripsi respons saya (direkomendasikan).
- Klik Simpan perubahan.