Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi Android menggunakan penyedia Play Integrity bawaan. Mengaktifkan App Check akan membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource backend project Anda. Lihat Ringkasan fitur ini.
Penyedia Play Integrity mendukung aplikasi Android yang dipublikasikan di Google Play, di luar Google Play, atau keduanya. Jika kasus penggunaan Anda memerlukan fitur Play Integrity yang tidak diterapkan oleh App Check, atau jika Anda ingin menggunakan App Check dengan penyedia kustom Anda sendiri, baca Menerapkan penyedia App Check kustom.
1. Menyiapkan project Firebase Anda
Tambahkan Firebase ke project Android jika Anda belum melakukannya.
Aktifkan Play Integrity API:
Di Konsol Google Play, pilih aplikasi Anda, atau tambahkan jika Anda belum melakukannya.
Di bagian Release, klik App integrity.
Buka bagian Play Integrity API di halaman, klik Link Cloud project, lalu pilih project Firebase Anda dari daftar project Google Cloud. Project yang Anda pilih di sini harus sama dengan project Firebase tempat Anda mendaftarkan aplikasi (lihat langkah berikutnya).
Daftarkan aplikasi Anda untuk menggunakan App Check dengan penyedia Play Integrity di bagian App Check pada Firebase console. Anda harus memberikan sidik jari SHA-256 pada sertifikat penandatanganan aplikasi Anda.
Anda biasanya harus mendaftarkan semua aplikasi project Anda, karena setelah penerapan untuk produk Firebase diaktifkan, hanya aplikasi terdaftar yang akan dapat mengakses resource backend produk.
Opsional: Di setelan pendaftaran aplikasi, tetapkan time to live (TTL) kustom untuk token App Check yang dikeluarkan oleh penyedia. Anda dapat menetapkan TTL ke semua nilai dalam rentang 30 menit hingga 7 hari. Saat mengubah nilai ini, perhatikan pertimbangan berikut:
- Keamanan: TTL yang lebih singkat memberikan keamanan yang lebih kuat karena mengurangi periode yang memungkinkan penyalahgunaan token yang bocor atau ditangkap oleh penyerang.
- Performa: TTL yang lebih singkat membuat aplikasi Anda akan lebih sering melakukan pengesahan. Karena proses pengesahan aplikasi menambahkan latensi ke permintaan jaringan setiap kali dilakukan, TTL yang singkat dapat memengaruhi performa aplikasi Anda.
- Kuota dan biaya: TTL yang lebih singkat dan pengesahan ulang yang sering dilakukan akan mengurangi kuota Anda lebih cepat, dan untuk layanan berbayar, mungkin akan menimbulkan biaya yang lebih besar. Lihat Kuota & batas.
TTL default selama 1 jam termasuk wajar untuk sebagian besar aplikasi. Perhatikan bahwa library App Check memperbarui token pada sekitar setengah dari durasi TTL.
Mengonfigurasi setelan lanjutan (opsional)
App Check menawarkan sejumlah setelan untuk mendukung kasus penggunaan lanjutan, termasuk mendistribusikan aplikasi Anda di luar Google Play. Anda dapat mengonfigurasi setelan ini di bagian App Check di Firebase console untuk setiap aplikasi Android Anda. Sebaiknya Anda mengonfigurasi setelan ini sesuai dengan tabel berikut saat Anda mendaftarkan aplikasi untuk pertama kalinya.
Saluran distribusi aplikasi Anda | PLAY_RECOGNIZED | LICENSED | Tingkat integritas perangkat minimum yang dapat diterima |
---|---|---|---|
Eksklusif di Google Play | Wajib | Wajib | Jangan periksa tingkat integritas perangkat secara eksplisit |
Eksklusif di luar Google Play | Tidak wajib | Tidak wajib | Integritas perangkat |
Di Google Play dan di luar Google Play | Wajib | Tidak wajib | Jangan periksa tingkat integritas perangkat secara eksplisit |
Detail
Setiap setelan lanjutan sesuai dengan label verdict Play Integrity. Lihat dokumentasi Play Integrity untuk mengetahui detail lainnya.
- Secara default, App Check memerlukan
label pengenalan aplikasi
PLAY_RECOGNIZED
. Aplikasi yang tidak dipublikasikan di Google Play tidak memenuhi syarat untuk menerima label ini. - Secara default, App Check tidak memerlukan
label pemberian lisensi aplikasi
LICENSED
. Hanya pengguna yang telah menginstal atau mengupdate aplikasi Anda langsung dari Google Play yang memenuhi syarat untuk menerima label ini. Secara default, App Check tidak secara eksplisit memeriksa verdict integritas perangkat. App Check mendukung pemeriksaan eksplisit untuk tiga tingkat integritas perangkat berikut, yang diurutkan secara meningkat.
Integritas dasar. Menyebabkan App Check mewajibkan label pengenalan perangkat
MEETS_BASIC_INTEGRITY
. Agar aplikasi Anda memenuhi syarat untuk menerima label opsional ini, Anda harus mengaktifkannya dari Konsol Google Play terlebih dahulu.Integritas perangkat. Menyebabkan App Check mewajibkan label pengenalan perangkat
MEETS_DEVICE_INTEGRITY
. Semua aplikasi otomatis memenuhi syarat untuk menerima label ini.Integritas kuat. Menyebabkan App Check mewajibkan label pengenalan perangkat
MEETS_STRONG_INTEGRITY
. Agar aplikasi Anda memenuhi syarat untuk menerima label opsional ini, Anda harus mengaktifkannya dari Konsol Google Play terlebih dahulu.
2. Tambahkan library App Check ke aplikasi Anda
Dalam file Gradle modul (tingkat aplikasi) (biasanya<project>/<app-module>/build.gradle.kts
atau <project>/<app-module>/build.gradle
), tambahkan dependensi untuk library App Check untuk Android. Sebaiknya gunakan
Firebase Android BoM
untuk mengontrol pembuatan versi library.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.3.0")) // Add the dependencies for the App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity") }
Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.
(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM
Jika memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi library Firebase di baris dependensinya.
Perlu diperhatikan bahwa jika Anda menggunakan beberapa library Firebase di aplikasi, sebaiknya gunakan BoM untuk mengelola versi library, yang memastikan bahwa semua versi kompatibel.
dependencies { // Add the dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity:19.0.1") }
3. Lakukan inisialisasi App Check
Tambahkan kode inisialisasi berikut ke aplikasi Anda agar berjalan sebelum Anda menggunakan Firebase SDK lainnya:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
Langkah berikutnya
Setelah library App Check terinstal di aplikasi Anda, mulai distribusikan aplikasi yang telah diupdate kepada pengguna.
Aplikasi klien yang telah diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, sebelum Anda mengaktifkan penerapan di bagian App Check pada Firebase console, token tersebut tidak harus valid untuk produk Firebase.
Memantau metrik dan mengaktifkan penerapan
Sebelum mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.
Demi membantu mengambil keputusan ini, Anda dapat melihat metrik App Check untuk layanan yang Anda gunakan:
- Pantau metrik permintaan App Check untuk Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity untuk iOS, Maps JavaScript API, dan Places API (Baru).
- Pantau metrik permintaan App Check untuk Cloud Functions.
Mengaktifkan penerapan App Check
Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check:
- Mengaktifkan penerapan App Check untuk Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity untuk iOS, Maps JavaScript API, dan Places API (Baru).
- Aktifkan penerapan App Check untuk Cloud Functions.
Menggunakan App Check di lingkungan debug
Jika Anda telah mendaftarkan aplikasi untuk App Check dan ingin menjalankan aplikasi di lingkungan yang biasanya tidak akan diklasifikasikan sebagai valid oleh App Check, seperti emulator selama pengembangan atau dari lingkungan continuous integration (CI), Anda dapat membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sungguhan.
Lihat Menggunakan App Check dengan penyedia debug di Android.