Jika aplikasi membuat permintaan menggunakan Play Integrity API dan panggilan gagal, kode error akan ditampilkan. Jenis kode error yang ditampilkan bergantung pada jenis permintaan:
- Permintaan standar: API menampilkan StandardIntegrityErrorCode.
- Permintaan klasik: API menampilkan IntegrityErrorCode.
Strategi percobaan ulang
Sebaiknya gunakan backoff eksponensial untuk operasi Play Integrity yang terjadi di latar belakang dan tidak memengaruhi pengalaman pengguna saat pengguna berada dalam sesi.
Misalnya, Anda dapat menerapkan ini saat mengonfirmasi pembelian baru karena operasi ini dapat terjadi di latar belakang, dan konfirmasi tidak perlu terjadi secara real time jika terjadi error.
Setelah kegagalan pertama, mulailah dengan penundaan awal selama 5 detik sebelum mencoba lagi.
Implementasikan strategi percobaan ulang dengan jumlah upaya maksimum sebagai kondisi keluar menggunakan penundaan yang meningkat secara eksponensial setiap waktu (10 dtk, 20 dtk).
Saat mencoba ulang, periksa koneksi jaringan dan jangan melebihi beban perangkat.
Jika Anda terus melihat error setelah tiga kali percobaan ulang, perlakukan hasilnya seolah-olah klien telah gagal dalam semua pemeriksaan integritas. Error ini dapat disebabkan oleh beberapa alasan, termasuk (tetapi tidak terbatas pada): perangkat kelebihan beban, masalah koneksi jaringan, atau upaya oleh penyerang.
Error mengkodekan nilai untuk library java
Error tambahan memberi kode nilai untuk library native
Kode error yang dapat dicoba lagi
Penyebab error ini terkadang disebabkan oleh kondisi sementara, sehingga Anda harus mencoba lagi panggilan tersebut.
NETWORK_ERROR
(Kode Error -3)
Error ini menunjukkan adanya masalah dengan koneksi jaringan antara perangkat dan sistem Play.
Kemungkinan resolusi
Untuk memulihkan, minta pengguna memeriksa konektivitas jaringan, dan gunakan percobaan ulang sederhana atau backoff eksponensial, bergantung pada tindakan mana yang memicu error.
Lihat juga
NETWORK_ERROR
untuk permintaan klasik.
TOO_MANY_REQUESTS
(Kode Error -8)
Aplikasi panggilan membuat terlalu banyak permintaan ke API dan sekarang telah dibatasi.
Kemungkinan resolusi
- Permintaan untuk meningkatkan jumlah maksimum permintaan harian Anda
- Coba lagi dengan backoff eksponensial.
Lihat juga
TOO_MANY_REQUESTS
untuk permintaan klasik.
GOOGLE_SERVER_UNAVAILABLE
(Kode Error -12)
Error server Google internal tidak diketahui.
Kemungkinan resolusi
Coba lagi dengan backoff eksponensial. Pertimbangkan untuk melaporkan bug jika error tersebut terus-menerus gagal.
Lihat juga
GOOGLE_SERVER_UNAVAILABLE
untuk permintaan klasik.
CLIENT_TRANSIENT_ERROR
(Kode Error -18)
Terjadi error sementara pada perangkat klien.
Untuk permintaan API Standar, hal ini didukung mulai versi 1.3.0 library Play Integrity API untuk Kotlin dan Java, Plugin Google Play Integrity untuk Unity 1.3.0 atau yang lebih tinggi, dan Play Core Native SDK 1.13.0 atau yang lebih tinggi.
Kemungkinan resolusi
Coba lagi dengan backoff eksponensial.
Lihat juga
CLIENT_TRANSIENT_ERROR
untuk permintaan klasik.
Catatan: Jika dilaporkan saat menggunakan permintaan API Klasik, nilai yang ditampilkan adalah -17.
INTERNAL_ERROR
(Kode Error -100)
Error internal tidak diketahui.
Kemungkinan resolusi
Coba lagi dengan backoff eksponensial. Sebaiknya laporkan bug jika terjadi kegagalan secara terus-menerus.
Lihat juga
INTERNAL_ERROR
untuk permintaan klasik.
STANDARD_INTEGRITY_INTERNAL_ERROR
(Kode Error -100)
Error internal tidak diketahui.
Kemungkinan resolusi
Coba lagi dengan backoff eksponensial. Sebaiknya laporkan bug jika terjadi kegagalan secara terus-menerus.
Lihat juga
Lihat INTEGRITY_INTERNAL_ERROR
untuk permintaan klasik.
STANDARD_INTEGRITY_INITIALIZATION_FAILED
(Kode Error -102)
Terjadi error saat melakukan inisialisasi Standard Integrity API.
Kemungkinan resolusi
Coba lagi dengan backoff eksponensial. Sebaiknya laporkan bug jika terjadi kegagalan secara terus-menerus.
Lihat juga
Lihat INTEGRITY_INITIALIZATION_FAILED
untuk permintaan klasik.
Kode Error yang Tidak Dapat Dicoba Ulang
Percobaan ulang otomatis kemungkinan tidak akan membantu dalam kasus ini. Namun, percobaan ulang manual dapat membantu jika pengguna mengatasi kondisi yang menyebabkan masalah tersebut. Misalnya, jika pengguna mengupdate versi Play Store ke versi yang didukung, percobaan ulang manual operasi awal dapat berfungsi.
API_NOT_AVAILABLE
(Kode Error -1)
Versi Play Store yang diinstal di perangkat mungkin sudah lama dan Integrity API tidak tersedia. Kemungkinan lainnya adalah Integrity API tidak diaktifkan di Konsol Google Play.
Kemungkinan resolusi
- Pastikan Integrity API diaktifkan di Konsol Google Play.
- Minta pengguna untuk mengupdate Play Store.
Lihat juga
Lihat API_NOT_AVAILABLE
untuk permintaan klasik.
PLAY_STORE_NOT_FOUND
(Kode Error -2)
Tidak ada aplikasi Play Store resmi yang ditemukan di perangkat.
Kemungkinan resolusi
Minta pengguna menginstal atau mengaktifkan Google Play Store.
Lihat juga
Lihat PLAY_STORE_NOT_FOUND
untuk permintaan klasik.
PLAY_STORE_ACCOUNT_NOT_FOUND
(Kode Error -4)
Catatan: Hal ini hanya dilaporkan untuk permintaan klasik melalui
IntegrityErrorCode
.
Tidak ditemukan akun Play Store di perangkat. Perlu diketahui bahwa Play Integrity API kini mendukung permintaan yang tidak diautentikasi. Kode error ini hanya digunakan untuk versi Play Store lama yang tidak memiliki dukungan.
Kemungkinan resolusi
Minta pengguna untuk mengupdate dan login ke Google Play Store.
APP_NOT_INSTALLED
(Kode Error -5)
Aplikasi panggilan tidak diinstal. Terjadi masalah (mungkin berupa serangan).
Kemungkinan resolusi
Tidak dapat ditindaklanjuti. Perlakukan hasilnya seolah-olah klien gagal dalam semua pemeriksaan integritas.
Lihat juga
Lihat APP_NOT_INSTALLED
untuk permintaan klasik.
PLAY_SERVICES_NOT_FOUND
(Kode Error -6)
Layanan Play tidak tersedia atau perlu diupdate.
Kemungkinan resolusi
Minta pengguna menginstal, mengupdate, atau mengaktifkan Layanan Play.
Lihat juga
Lihat APP_NOT_INSTALLED
untuk permintaan klasik.
APP_UID_MISMATCH
(Kode Error -7)
UID (ID pengguna) aplikasi panggilan tidak cocok dengan ID dari Pengelola Paket.
Kemungkinan resolusi
Tidak dapat ditindaklanjuti. Perlakukan hasilnya seolah-olah klien gagal dalam semua pemeriksaan integritas.
Lihat juga
Lihat APP_UID_MISMATCH
untuk permintaan klasik.
CANNOT_BIND_TO_SERVICE
(Kode Error -9)
Gagal melakukan binding ke layanan di Play Store. Hal ini dapat disebabkan oleh versi Play Store lama yang masih terinstal di perangkat.
Kemungkinan resolusi
Minta pengguna mengupdate Google Play Store.
Lihat juga
Lihat CANNOT_BIND_TO_SERVICE
untuk permintaan klasik.
NONCE_TOO_SHORT
(Kode Error -10)
Catatan: Hal ini hanya dilaporkan untuk permintaan klasik melalui
IntegrityErrorCode
.
Panjang nonce terlalu singkat. Panjang nonce harus minimum 16 byte sebelum encoding base64.
Kemungkinan resolusi
Coba lagi dengan nonce yang lebih panjang.
NONCE_TOO_LONG
(Kode Error -11)
Catatan: Hal ini hanya dilaporkan untuk permintaan klasik melalui
IntegrityErrorCode
.
Panjang nonce terlalu panjang. Panjang nonce harus kurang dari 500 byte sebelum encoding base64.
Kemungkinan resolusi
Coba lagi dengan nonce yang lebih pendek.
NONCE_IS_NOT_BASE64
(Kode Error -13)
Catatan: Hal ini hanya dilaporkan untuk permintaan klasik melalui
IntegrityErrorCode
.
Nonce tidak dienkode sebagai string no-wrap yang aman bagi web base64.
Kemungkinan resolusi
Coba lagi dengan nonce dalam format yang benar.
PLAY_STORE_VERSION_OUTDATED
(Kode Error -14)
Aplikasi Google Play Store perlu diupdate.
Kemungkinan resolusi
Minta pengguna mengupdate Google Play Store.
Lihat juga
Lihat PLAY_STORE_VERSION_OUTDATED
untuk permintaan klasik.
PLAY_SERVICES_VERSION_OUTDATED
(Kode Error -15)
Layanan Google Play perlu diupdate.
Kemungkinan resolusi
Minta pengguna mengupdate layanan Google Play.
Lihat juga
Lihat PLAY_SERVICES_VERSION_OUTDATED
untuk permintaan klasik.
CLOUD_PROJECT_NUMBER_IS_INVALID
(Kode Error -16)
Nomor project cloud yang diberikan tidak valid.
Kemungkinan resolusi
Gunakan nomor project Cloud untuk project Cloud tempat Anda mengaktifkan Play Integrity API.
Lihat juga
Lihat CLOUD_PROJECT_NUMBER_IS_INVALID
untuk permintaan klasik.
REQUEST_HASH_TOO_LONG
(Kode Error -17)
Catatan: Hal ini hanya dilaporkan saat menggunakan permintaan standar melalui
StandardIntegrityErrorCode
.
requestHash
yang diberikan terlalu panjang. Panjang requestHash
harus kurang
dari 500 karakter.
Kemungkinan resolusi
Coba lagi dengan requestHash
yang lebih singkat.
INTEGRITY_TOKEN_PROVIDER_INVALID
(Kode Error -19)
Catatan: Error ini hanya dilaporkan untuk permintaan standar melalui
StandardIntegrityErrorCode
.
StandardIntegrityTokenProvider
tidak valid. Kode error ini hanya tersedia
untuk permintaan API Standar, yang didukung mulai library versi
1.3.0 untuk bahasa pemrograman Kotlin dan Java, Plugin Google Play Integrity
untuk Unity 1.3.0 atau yang lebih tinggi, dan Play Core Native SDK 1.13.0 atau yang lebih tinggi.
Kemungkinan resolusi
Minta penyedia token integritas baru.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(Kode Error -101)
StandardIntegrityManager
tidak diinisialisasi.
Kemungkinan resolusi
Panggil StandardIntegrityManager_init()
terlebih dahulu.
Lihat juga
Lihat INTEGRITY_INITIALIZATION_NEEDED
untuk Permintaan Klasik
STANDARD_INTEGRITY_INVALID_ARGUMENT
(Kode Error -103)
Argumen yang tidak valid diteruskan ke Standard Integrity API.
Kemungkinan resolusi
Coba lagi dengan argumen yang benar.
Lihat juga
Lihat INTEGRITY_INVALID_ARGUMENT
untuk Permintaan Klasik.