Android uygulamanıza Firebase Telefon Numarası Doğrulama'yı ekleme

1. Genel Bakış

Firebase Telefon Numarası Doğrulama (Firebase PNV veya FPNV), telefon numaralarını doğrulamak için daha hızlı ve daha güvenli bir yöntemdir. Son kullanıcıların bir kısa mesajdan kod alıp girmesini gerektiren SMS tabanlı doğrulamanın aksine, Firebase PNV, cihazdaki SIM'e atanmış telefon numarasını tek bir dokunuşla doğrudan bağlı operatörden alarak çalışır. Bu sayede, son kullanıcının karşılaşabileceği sorunlar azalır, SMS mesajı teslimine bağlı kalınmadığı için güvenilirlik artar ve SMS kullanırken yaygın olarak istismar edilen kötüye kullanım vektörleri ortadan kaldırılır.

Firebase PNV pop-up iletişim kutusu

Bu codelab'de, masa rezervasyonunu onaylamadan önce son kullanıcının telefon numarasını doğrulamak için Firebase Telefon Numarası Doğrulama'yı kullanan bir"Restoran Bulucu" yapay zeka sesli aracısı oluşturmayı öğreneceksiniz.

Ön koşullar

  • Android Studio'nun en son sürümü
  • API düzeyi 26 veya sonraki sürümlere sahip Android cihaz ya da emülatör

Neler öğreneceksiniz?

  • Firebase PNV ile Firebase projesi oluşturun.
  • Faturalandırma hesabı veya gerçek SIM olmadan prototip oluşturmak için Firebase PNV'yi Test Modu'nda kullanın.
  • Firebase PNV SDK'sını bir Android uygulamasına entegre edin.
  • Tek çağrı API'sini kullanarak telefon numarasını doğrulama
  • (İsteğe bağlı) Uygulamanızı üretime hazırlayın.

2. Örnek projeyi oluşturma

Firebase projesi oluşturma

  1. Google Hesabınızı kullanarak Firebase konsolunda oturum açın.
  2. Yeni bir proje oluşturmak için düğmeyi tıklayın ve ardından bir proje adı girin (örneğin, Tera Bites).
  3. Devam'ı tıklayın.
  4. İstenirse Firebase şartlarını inceleyip kabul edin ve Devam'ı tıklayın.
  5. (İsteğe bağlı) Firebase konsolunda yapay zeka yardımını etkinleştirin ("Firebase'de Gemini" olarak adlandırılır).
  6. Bu codelab için Google Analytics'e ihtiyacınız yoktur. Bu nedenle, Google Analytics seçeneğini devre dışı bırakın.
  7. Proje oluştur'u tıklayın, projenizin hazırlanmasını bekleyin ve ardından Devam'ı tıklayın.

Kodu indirme

Bu codelab'in örnek kodunu klonlamak için aşağıdaki komutları çalıştırın:

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

Android Studio'da firebase-pnv-android dizinini açın.

Android projenizi Firebase'e bağlama

  1. Firebase konsolunda, proje genel bakış sayfasının ortasında Android simgesini veya Uygulama ekle'yi tıklayarak uygulama oluşturma iş akışını başlatın.
  2. Android paket adı alanına uygulamanın paket adını girin: com.google.firebase.example.fpnv.
  3. Uygulamayı kaydet'i tıklayın.
  4. google-services.json dosyasını indirme talimatlarını uygulayın ve dosyayı, yeni indirdiğiniz kodun app/ dizinine taşıyın.
  5. İleri'yi tıklayın.

Firebase AI Logic'i etkinleştirme

Bu codelab'de, yapay zeka sesli aracını desteklemek için Firebase AI Logic kullanılır. Firebase projenizde Firebase AI Logic'i etkinleştirmek için:

  1. Firebase konsolunda Yapay Zeka Hizmetleri > AI Logic'e gidin.
  2. Başlayın'ı tıklayın.
  3. Bu API'yi kullanmaya başlayın'ı tıklayarak Gemini Developer API'yi kullanmayı seçin.
  4. API'yi etkinleştir'i tıklayın ve işlemi onaylayın.

3. Firebase PNV'yi test modunda ayarlama

Test modu, geliştirme için test jetonu kullanarak "sahte" bir telefon numarasını doğrulamanıza olanak tanır.

Google sistem hizmetleri herkese açık beta programına katılma

Test modunu kullanmak için geliştirme cihazınızı Google sistem hizmetleri beta kanalına kaydedin:

  1. Android Uygulama Testi - Google sistem hizmetleri sayfasına gidin.
  2. Test kullanıcısı olun'u tıklayın.

Artık Google sistem hizmetlerinin beta test kullanıcısısınız.

Firebase PNV bağımlılığını ekleyin

Android projenizin kod tabanında, Firebase PNV ve Firebase AI Logic kitaplıklarının bağımlılıkları /gradle/versions.toml dosyasında tanımlanmıştır:

[versions]
# ... other dependencies
firebaseBom = "34.12.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" }

Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle /app/build.gradle.kts), Firebase PNV kitaplığına olan bağımlılığı tanımlayın:

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

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

  // ...
}

Test jetonu oluşturma

  1. Firebase konsolunda Güvenlik > Telefon Doğrulama'ya gidin.
  2. Test sekmesini seçin.
  3. Test telefon numaranızın ülke kodunu seçin ve Jeton oluştur'u tıklayın.
  4. Oluşturulan jeton dizesini kopyalayın.

Kodunuzda test oturumunu etkinleştirme

  1. Android projenize geri dönün, ChatViewModel.kt dosyasını açın ve verifyPhoneNumber() işlevini bulun.
  2. FirebasePhoneNumberVerification istemcisini başlatın ve Firebase konsolundan kopyaladığınız jetonu yapıştırarak test oturumunu etkinleştirin:
    suspend fun verifyPhoneNumber(): String {
        // Initialize Firebase Phone Number Verification
        val fpnv = FirebasePhoneNumberVerification.getInstance(context!!)
    
        // Enable Test session
        fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP")
    
        // Trigger the Firebase PNV pop up
        val response = fpnv.getVerifiedPhoneNumber().await()
        val phoneNumber = response.getPhoneNumber()
    
        return phoneNumber
    }
    

4. Uygulamayı çalıştırma

Firebase PNV'yi uyguladığınıza göre artık uygulamayı çalıştırmanın zamanı geldi.

  1. Android Studio'da, uygulamayı Android emülatöründe veya fiziksel bir cihazda başlatmak için Çalıştır'ı tıklayın.
  2. Uygulama başlatıldığında aşağıdaki gibi bir ekran görürsünüz:
    Firebase PNV uygulaması çalışıyor
  3. Görüşme başlat'ı tıklayın ve kendinizi tanıtın.
    Firebase PNV uygulaması çalışıyor
  4. Yapay zeka sesli temsilcisi, rezervasyon ayrıntılarını girmenizi ister. Bilgileri girdikten sonra telefon numaranızı doğrulamak için ekranınıza bakmanız istenir:
    Firebase PNV uygulaması çalışıyor
  5. İşlem tamamlandığında doğrulama tamamlandı ekranı gösterilir:
    Firebase PNV uygulaması çalışıyor
  6. Görüşmeyi sonlandırmak için Oturumu sonlandır'ı tıklayın.

5. (İsteğe bağlı) Üretim moduna yükseltme

Firebase fiyatlandırma planınızı yükseltme

Firebase PNV'yi üretim modunda kullanmak için Firebase projenizin kullandıkça öde (Blaze) fiyatlandırma planında olması gerekir. Bu da projenin bir Cloud Faturalandırma hesabı'na bağlı olduğu anlamına gelir.

Projenizi Blaze planına geçirmek için aşağıdaki adımları uygulayın:

  1. Firebase konsolunda planınızı yükseltmeyi seçin.
  2. Blaze planını seçin. Bir Cloud Faturalandırma hesabını projenize bağlamak için ekrandaki talimatları uygulayın.
    Bu yükseltme kapsamında bir Cloud Faturalandırma hesabı oluşturmanız gerekiyorsa yükseltmeyi tamamlamak için Firebase Console'daki yükseltme akışına geri dönmeniz gerekebilir.

Firebase PNV üretim modunu etkinleştirme

  1. Uygulamanızın SHA-256 parmak izini ekleyin:
    1. Firebase konsolunda Ayarlar > Genel sayfasına gidin.
    2. Uygulamalarınız kartına gidip Android uygulamanızı bulun.
    3. SHA sertifika parmak izleri alanına SHA-256 parmak izinizi ekleyin. Uygulamanızın SHA-256 parmak izini alma hakkında ayrıntılı bilgi için İstemcinizin Kimliğini Doğrulama başlıklı makaleyi inceleyin.
  2. Güvenlik > Telefon Doğrulama'ya dönün.
  3. Üretimi ayarla'yı tıklayın. Projenizdeki, canlı sürüm için etkinleştirilecek uygulamaların listesini görür ve ek uygulamalar ekleyebilirsiniz.
  4. Uygulamanızı OAuth marka doğrulaması ve gizlilik politikası incelemesi için gönderin. Google Cloud, uygulamanızı ve gizlilik politikasını net ve doğru bir şekilde tanımladığınızı doğrular.
    İncelemeyi başlatmak için Google Cloud'da Devam Et'i tıklayın. Bu işlem bazen 24 saat veya daha uzun sürebilir.
  5. Marka doğrulaması için beklerken konsolda bağlantısı verilen Firebase PNV hizmetine özgü şartları inceleyin.
  6. Uygulamanız marka doğrulamasını geçtikten sonra hizmete özel şartları kabul etmek için kutuyu işaretleyin ve Etkinleştir'i tıklayın.

Firebase PNV artık üretim modunda etkin.

Test kodunu kaldırma

Android projenizde fpnv.enableTestSession(...) satırını silin.

Firebase AI Logic'i Vertex AI kullanacak şekilde taşıma

Faturalandırma hesabınızda kredi kullanıyorsanız bu kredileri Gemini Developer API ile kullanamazsınız. Ancak bunları Vertex AI Gemini API ile kullanabilirsiniz.

  1. Firebase konsolunda Yapay Zeka Hizmetleri > AI Logic'e gidin.
  2. Ayarlar'ı tıklayın.
  3. Vertex AI Gemini API bölümünde Etkinleştir'i tıklayın.
  4. Android projenizde, Firebase AI Logic başlatma işlemini Google AI yerine Vertex AI arka ucunu kullanacak şekilde değiştirin:
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. Tebrikler!

Firebase Telefon Numarası Doğrulama'yı bir Android uygulamasına başarıyla entegre ettiniz.

İşlediğimiz konular

  • Firebase PNV için proje oluşturma.
  • Prototip oluşturmak için test modunu kullanma.
  • Firebase PNV tek çağrı API'sini uygulama.
  • Üretim moduna yükseltme.

Sonraki adımlar