Mulai menggunakan App Check dengan reCAPTCHA Enterprise di Android

Pilih platform: iOS+ Android Web Flutter


Halaman ini menunjukkan cara menyiapkan App Check di aplikasi Android menggunakan penyedia reCAPTCHA Enterprise. App Check membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource backend project Anda. Untuk mempelajari lebih lanjut, tinjau ringkasan App Check kami.

App Check memerlukan penggunaan kunci reCAPTCHA berbasis skor, sehingga tidak terlihat oleh pengguna. Artinya, penyedia reCAPTCHA Enterprise tidak akan mengharuskan pengguna untuk menyelesaikan tantangan kapan saja.

Jika kasus penggunaan Anda memerlukan fitur reCAPTCHA Enterprise yang tidak diterapkan oleh App Check, atau jika Anda ingin menggunakan App Check dengan penyedia kustom Anda sendiri, lihat Menerapkan penyedia App Check kustom.

1. Menyiapkan project Firebase Anda

  1. Tambahkan Firebase ke project Android jika Anda belum melakukannya.

  2. Di konsol Google Cloud, buka halaman Fraud Defense, lalu lakukan hal berikut untuk penyedia reCAPTCHA Enterprise:

    1. Pastikan Anda berada di project yang benar (lihat pemilih project di bagian atas layar).

    2. Jika diminta, aktifkan reCAPTCHA Enterprise API.

    3. Buat kunci jenis Android, dan tentukan nama paket aplikasi Anda (misalnya, com.example.my_app).

      • Pastikan Anda memasukkan nama paket yang sama dengan yang Anda berikan saat membuat Aplikasi Android Firebase di project Firebase Anda. Nilai nama paket peka huruf besar/kecil.

      • Untuk App Check, setiap nama paket hanya dapat sesuai dengan satu kunci reCAPTCHA.

      Untuk mengetahui petunjuk selengkapnya, lihat Membuat kunci reCAPTCHA berbasis skor.

    4. Catat kunci ini. Anda harus menambahkannya ke alur pendaftaran di konsol Firebase.

  3. Di konsol Firebase, buka Security > App Check.

  4. Di tab Aplikasi, daftarkan aplikasi Android Anda untuk menggunakan App Check dengan penyedia reCAPTCHA Enterprise. Anda harus memberikan kunci yang didapatkan di konsol Google Cloud.

  5. Opsional: Tetapkan time to live (TTL) token.

    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.

  6. Opsional: Konfigurasi setelan lanjutan.

  7. Klik Save.

(Opsional) Mengonfigurasi setelan lanjutan

Saat pengguna membuka aplikasi Anda, reCAPTCHA Enterprise akan mengevaluasi tingkat risiko yang ditimbulkan oleh interaksi pengguna di bawah kunci, dan menampilkan skor antara 0,0 dan 1,0, dengan kenaikan bertahap sebesar 0,1.

  • Skor 0,0 menunjukkan bahwa interaksi menimbulkan risiko tinggi dan mungkin bersifat menipu.
  • Skor 1,0 menunjukkan bahwa interaksi menimbulkan risiko rendah dan kemungkinan besar sah.

App Check memungkinkan Anda mengonfigurasi nilai minimum risiko aplikasi sehingga Anda dapat menyesuaikan toleransi Anda terhadap risiko ini.

Untuk sebagian besar kasus penggunaan, nilai minimum default yang direkomendasikan adalah 0,5. Jika kasus penggunaan Anda memerlukan penyesuaian, Anda dapat mengonfigurasi nilai ini untuk setiap aplikasi di konsol Firebase (buka Keamanan > App Check). Pastikan untuk meluaskan dan meninjau beberapa pertimbangan penting tentang cara mengonfigurasi nilai minimum risiko aplikasi di bawah.

2. Menambahkan App Check SDK ke aplikasi

Untuk menggunakan penyedia reCAPTCHA Enterprise, Anda harus menambahkan dependensi yang sesuai.

Firebase Android BoM 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.19.0"))

    // Add the dependency for the App Check reCAPTCHA library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-recaptcha")
}

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 dependency for the App Check reCAPTCHA library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.1")
}

3. Lakukan inisialisasi App Check

Di aplikasi, Anda harus melakukan inisialisasi App Check sebelum menggunakan layanan Firebase lainnya.

Kotlin

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
      RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));

4. Memantau metrik dan mengaktifkan penerapan

Setelah menyiapkan App Check di aplikasi, 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, App Check tidak akan memblokir permintaan dengan token tidak valid hingga App Check diterapkan.

Memantau metrik

Sebelum Anda mengaktifkan penerapan, pastikan tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Namun, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.

Untuk membantu mengambil keputusan ini, Anda dapat meninjau metrik App Check untuk layanan yang Anda gunakan:

Mengaktifkan penerapan App Check

Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check:

Menggunakan App Check di lingkungan debug

App Check mengklasifikasikan beberapa lingkungan sebagai tidak valid, seperti permintaan dari emulator / simulator selama pengembangan atau dari lingkungan continuous integration (CI).

Untuk menjalankan aplikasi di jenis lingkungan ini setelah App Check diterapkan, Anda perlu membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan penyedia pengesahan produksi.

Untuk mengetahui detail selengkapnya, lihat Menggunakan App Check dengan penyedia debug di Android.

Harga

App Check membuat penilaian atas nama Anda untuk memvalidasi token respons pengguna setiap kali aplikasi Anda memperbarui token App Check-nya. Project Firebase Anda akan dikenai biaya untuk setiap penilaian yang dibuat di atas kuota tanpa biaya. Untuk mengetahui detailnya, lihat harga reCAPTCHA.

Secara default, aplikasi Anda akan memperbarui token ini dua kali setiap 1 jam. Untuk mengontrol seberapa sering aplikasi Anda memuat ulang token App Check (dan seberapa sering penilaian baru dibuat), Anda dapat mengonfigurasi TTL token.