Menambahkan Firebase Phone Number Verification ke aplikasi Android Anda

1. Ringkasan

Firebase Phone Number Verification (Firebase PNV atau FPNV) adalah metode yang lebih cepat dan lebih aman untuk memverifikasi nomor telepon. Tidak seperti verifikasi berbasis SMS, yang mengharuskan pengguna akhir menerima dan memasukkan kode dari pesan teks, Firebase PNV berfungsi dengan mendapatkan nomor telepon yang ditetapkan ke SIM di perangkat langsung dari operator yang terhubung dengan satu ketukan. Cara ini mengurangi hambatan bagi pengguna akhir, meningkatkan keandalan karena tidak bergantung pada pengiriman pesan SMS, dan menghilangkan jalur penyalahgunaan yang biasanya dieksploitasi saat menggunakan SMS.

Dialog pop-up Firebase PNV

Dalam codelab ini, Anda akan mempelajari cara membuat agen suara AI "Restaurant Finder" yang menggunakan Firebase Phone Number Verification untuk memverifikasi nomor telepon pengguna akhir sebelum mengonfirmasi reservasi meja.

Prasyarat

  • Versi terbaru dari Android Studio
  • Perangkat Android atau emulator dengan API Level 26 atau yang lebih tinggi

Yang akan Anda pelajari

  • Menyiapkan project Firebase dengan Firebase PNV.
  • Menggunakan Firebase PNV dalam Mode Pengujian untuk membuat prototipe tanpa akun penagihan atau SIM sungguhan.
  • Mengintegrasikan Firebase PNV SDK ke dalam aplikasi Android.
  • Memverifikasi nomor telepon menggunakan API panggilan tunggal.
  • (Opsional) Menyiapkan aplikasi untuk produksi.

2. Menyiapkan project contoh

Membuat project Firebase

  1. Login ke Firebase console menggunakan Akun Google Anda.
  2. Klik tombol untuk membuat project baru, lalu masukkan nama project (misalnya, Tera Bites).
  3. Klik Lanjutkan.
  4. Jika diminta, tinjau dan setujui persyaratan Firebase, lalu klik Lanjutkan.
  5. (Opsional) Aktifkan bantuan AI di Firebase console (disebut "Gemini di Firebase").
  6. Untuk codelab ini, Anda tidak memerlukan Google Analytics. Oleh karena itu, nonaktifkan opsi Google Analytics.
  7. Klik Buat project, tunggu hingga project Anda disediakan, lalu klik Lanjutkan.

Mendownload kode

Jalankan perintah berikut untuk meng-clone kode contoh untuk codelab ini:

git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android

Buka direktori firebase-pnv-android di Android Studio.

Menghubungkan project Android ke Firebase

  1. Di Firebase console, di tengah halaman ringkasan project, klik ikon Android atau Tambahkan aplikasi untuk meluncurkan alur kerja pembuatan aplikasi.
  2. Di kolom Nama paket Android, masukkan nama paket aplikasi: com.google.firebase.example.fpnv.
  3. Klik Daftarkan aplikasi.
  4. Ikuti petunjuk untuk mendownload file google-services.json, dan pindahkan ke direktori app/ kode yang baru saja Anda download.
  5. Klik Berikutnya.

Mengaktifkan Firebase AI Logic

Codelab ini menggunakan Firebase AI Logic untuk mendukung agen suara AI. Untuk mengaktifkan Firebase AI Logic di project Firebase Anda:

  1. Di Firebase console, buka Layanan AI > AI Logic.
  2. Klik Mulai.
  3. Pilih untuk menggunakan Gemini Developer API dengan mengklik Mulai menggunakan API ini.
  4. Lanjutkan dengan langkah-langkah alur kerja penyiapan terpandu lainnya.

3. Menyiapkan Firebase PNV dalam mode pengujian

Mode pengujian memungkinkan Anda memverifikasi nomor telepon "palsu" menggunakan token pengujian untuk pengembangan.

Bergabung dengan program beta publik layanan sistem Google

Daftarkan perangkat pengembangan Anda ke saluran beta layanan sistem Google untuk menggunakan mode pengujian:

  1. Buka halaman Pengujian Aplikasi Android - Layanan sistem Google.
  2. Klik Jadi penguji.

Anda kini menjadi penguji beta untuk layanan sistem Google.

Menambahkan dependensi Firebase PNV

Dalam codebase project Android Anda, dependensi untuk library Firebase PNV dan Firebase AI Logic sudah ditentukan dalam file /gradle/versions.toml:

[versions]
# ... other dependencies
firebaseBom = "34.13.0"

[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }

Dalam file Gradle modul (level aplikasi), (biasanya /app/build.gradle.kts), deklarasikan dependensi untuk library Firebase PNV:

dependencies {
  // ... other dependencies
  implementation(platform(libs.firebase.bom))
  implementation(libs.firebase.ai.logic)

  // Add this line
  implementation(libs.firebase.pnv)

  // ...
}

Membuat token pengujian

  1. Di Firebase console, buka Keamanan > Verifikasi Telepon.
  2. Pilih tab Pengujian.
  3. Pilih kode negara untuk nomor telepon pengujian Anda, lalu klik Buat token.
  4. Salin string token yang dibuat.

Mengaktifkan sesi pengujian dalam kode Anda

  1. Kembali ke project Android Anda, buka file ChatViewModel.kt, dan temukan fungsi verifyPhoneNumber().
  2. Inisialisasi klien FirebasePhoneNumberVerification dan aktifkan sesi pengujian, dengan menempelkan token yang Anda salin dari Firebase console:
    suspend fun verifyPhoneNumber(): String {
        // Initialize Firebase Phone Number Verification
        val fpnv = FirebasePhoneNumberVerification.getInstance()
    
        // Enable Test session
        fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP")
    
        // Trigger the Firebase PNV pop up
        val response = fpnv.getVerifiedPhoneNumber(context!!).await()
        val phoneNumber = response.getPhoneNumber()
    
        return phoneNumber
    }
    

4. Menjalankan aplikasi

Setelah Anda menerapkan Firebase PNV, saatnya menjalankan aplikasi.

  1. Di Android Studio, klik Run untuk meluncurkan aplikasi di emulator Android atau di perangkat fisik.
  2. Setelah aplikasi diluncurkan, Anda akan melihat layar yang terlihat seperti ini:
    Aplikasi Firebase PNV berjalan
  3. Klik Mulai panggilan, dan perkenalkan diri Anda.
    Aplikasi Firebase PNV berjalan
  4. Agen suara AI akan meminta detail reservasi kepada Anda. Setelah Anda memberikan detail, agen suara AI akan meminta Anda untuk melihat layar guna memverifikasi nomor telepon Anda:
    Aplikasi Firebase PNV berjalan
  5. Setelah selesai, Anda akan melihat layar verifikasi selesai:
    Aplikasi Firebase PNV berjalan
  6. Klik Akhiri sesi untuk mengakhiri panggilan.

5. (Opsional) Mengupgrade ke mode produksi

Mengupgrade paket harga Firebase Anda

Untuk menggunakan Firebase PNV dalam mode produksi, project Firebase Anda harus menggunakan paket harga bayar sesuai penggunaan (Blaze), yang berarti project tersebut ditautkan ke akun Penagihan Cloud.

  • Akun Penagihan Cloud memerlukan metode pembayaran, seperti kartu kredit.
  • Selama promosi khusus atau jika Anda melakukan codelab ini sebagai bagian dari acara, mungkin ada kredit Google Cloud yang tersedia.
  • Jika Anda baru menggunakan Firebase dan Google Cloud, periksa apakah Anda memenuhi syarat untuk mendapatkan kredit sebesar$300 dan akun Penagihan Cloud Uji Coba Gratis.

Untuk mengupgrade project Anda ke paket Blaze, ikuti langkah-langkah berikut:

  1. Di Firebase console, pilih untuk upgrade your plan.
  2. Pilih paket Blaze. Ikuti petunjuk di layar untuk menautkan akun Penagihan Cloud ke project Anda.
    • Jika Anda menggunakan kredit Google Cloud untuk codelab ini, akun penagihan kemungkinan akan disebut Google Cloud Platform Trial Billing Account atau My Billing Account.
    • Jika Anda perlu membuat akun Penagihan Cloud sebagai bagian dari upgrade ini, Anda mungkin perlu kembali ke alur upgrade di Firebase console untuk menyelesaikan upgrade.

Mengaktifkan mode produksi Firebase PNV

  1. Tambahkan sidik jari SHA-256 aplikasi Anda:
    1. Di Firebase console, buka halaman Setelan > Umum.
    2. Scroll ke bawah ke kartu Aplikasi Anda, dan temukan aplikasi Android Anda.
    3. Di kolom Sidik jari sertifikat SHA, tambahkan sidik jari SHA-256 Anda. Baca artikel Mengautentikasi Klien untuk mengetahui detail tentang cara mendapatkan sidik jari SHA-256 aplikasi.
  2. Kembali ke Keamanan > Verifikasi Telepon.
  3. Klik Siapkan produksi. Anda akan melihat daftar aplikasi di project Anda yang akan diaktifkan untuk produksi, dan memiliki kesempatan untuk menambahkan aplikasi lainnya.
  4. Kirimkan aplikasi Anda untuk verifikasi brand OAuth dan peninjauan kebijakan privasi. Google Cloud akan memverifikasi bahwa Anda mengidentifikasi aplikasi dan kebijakan privasinya dengan jelas dan akurat.
    Untuk memulai peninjauan, klik Lanjutkan di Google Cloud. Proses ini terkadang memerlukan waktu 24 jam atau lebih.
  5. Saat Anda menunggu verifikasi brand, tinjau persyaratan khusus layanan Firebase PNV, yang ditautkan di konsol.
  6. Setelah aplikasi Anda lulus verifikasi brand, centang kotak untuk menyetujui persyaratan khusus layanan, lalu klik Aktifkan.

Firebase PNV kini aktif dalam mode produksi.

Menghapus kode pengujian

Di project Android Anda, hapus baris fpnv.enableTestSession(...).

Memigrasikan Firebase AI Logic untuk menggunakan Agent Platform

Jika Anda menggunakan kredit di akun penagihan, Anda tidak akan dapat menggunakannya dengan Gemini Developer API. Namun, Anda dapat menggunakannya dengan Agent Platform Gemini API.

  1. Di Firebase console, buka Layanan AI > AI Logic.
  2. Klik Setelan.
  3. Di bagian Agent Platform Gemini API, klik Aktifkan.
  4. Di project Android Anda, ubah inisialisasi Firebase AI Logic untuk menggunakan backend Agent Platform, bukan Google AI:
    val model = Firebase.ai(
        backend = GenerativeBackend.agentPlatform(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. Selamat!

Anda telah berhasil mengintegrasikan verifikasi nomor telepon Firebase ke dalam aplikasi Android!

Yang telah kita bahas

  • Menyiapkan project untuk Firebase PNV.
  • Menggunakan mode pengujian untuk membuat prototipe.
  • Menerapkan Firebase PNV API panggilan tunggal.
  • Mengupgrade ke mode produksi.

Langkah berikutnya