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.

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
- Google Hesabınızı kullanarak Firebase konsolunda oturum açın.
- Yeni bir proje oluşturmak için düğmeyi tıklayın ve ardından bir proje adı girin (örneğin,
Tera Bites).
- Devam'ı tıklayın.
- İstenirse Firebase şartlarını inceleyip kabul edin ve Devam'ı tıklayın.
- (İsteğe bağlı) Firebase konsolunda yapay zeka yardımını etkinleştirin ("Firebase'de Gemini" olarak adlandırılır).
- Bu codelab için Google Analytics'e ihtiyacınız yoktur. Bu nedenle, Google Analytics seçeneğini devre dışı bırakın.
- 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
- 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.
- Android paket adı alanına uygulamanın paket adını girin:
com.google.firebase.example.fpnv. - Uygulamayı kaydet'i tıklayın.
google-services.jsondosyasını indirme talimatlarını uygulayın ve dosyayı, yeni indirdiğiniz kodunapp/dizinine taşıyın.- İ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:
- Firebase konsolunda Yapay Zeka Hizmetleri > AI Logic'e gidin.
- Başlayın'ı tıklayın.
- Bu API'yi kullanmaya başlayın'ı tıklayarak Gemini Developer API'yi kullanmayı seçin.
- 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:
- Android Uygulama Testi - Google sistem hizmetleri sayfasına gidin.
- 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ı 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 ), 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
- Firebase konsolunda Güvenlik > Telefon Doğrulama'ya gidin.
- Test sekmesini seçin.
- Test telefon numaranızın ülke kodunu seçin ve Jeton oluştur'u tıklayın.
- Oluşturulan jeton dizesini kopyalayın.
Kodunuzda test oturumunu etkinleştirme
- Android projenize geri dönün,
ChatViewModel.ktdosyasını açın veverifyPhoneNumber()işlevini bulun. FirebasePhoneNumberVerificationistemcisini 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.
- Android Studio'da, uygulamayı Android emülatöründe veya fiziksel bir cihazda başlatmak için Çalıştır'ı tıklayın.
- Uygulama başlatıldığında aşağıdaki gibi bir ekran görürsünüz:

- Görüşme başlat'ı tıklayın ve kendinizi tanıtın.

- 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:

- İşlem tamamlandığında doğrulama tamamlandı ekranı gösterilir:

- 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.
- Cloud Faturalandırma hesabı için kredi kartı gibi bir ödeme yöntemi gerekir.
- Firebase ve Google Cloud'u yeni kullanmaya başladıysanız 300 ABD doları değerinde kredi ve ücretsiz deneme Cloud Faturalandırma hesabı için uygun olup olmadığınızı kontrol edin.
- Bu codelab'i bir etkinliğin parçası olarak yapıyorsanız düzenleyicinize Cloud kredisi olup olmadığını sorun.
Projenizi Blaze planına geçirmek için aşağıdaki adımları uygulayın:
- Firebase konsolunda planınızı yükseltmeyi seçin.
- 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
- Uygulamanızın SHA-256 parmak izini ekleyin:
- Firebase konsolunda Ayarlar > Genel sayfasına gidin.
- Uygulamalarınız kartına gidip Android uygulamanızı bulun.
- 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.
- Güvenlik > Telefon Doğrulama'ya dönün.
- Ü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.
- 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. - Marka doğrulaması için beklerken konsolda bağlantısı verilen Firebase PNV hizmetine özgü şartları inceleyin.
- 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.
- Firebase konsolunda Yapay Zeka Hizmetleri > AI Logic'e gidin.
- Ayarlar'ı tıklayın.
- Vertex AI Gemini API bölümünde Etkinleştir'i tıklayın.
- 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
- Firebase PNV akışını nasıl özelleştireceğinizi öğrenin.
- Firebase PNV jetonlarını nasıl doğrulayacağınızı öğrenin.
- Fiyatlandırma ve kotaları kontrol edin.