Android'de Firebase Telefon Numarası Doğrulama'yı kullanmaya başlama

Bu sayfada, Android uygulamasında Firebase Phone Number Verification'yı kullanmaya nasıl başlayacağınız açıklanmaktadır. Bu özellik hakkında genel bir açıklama için genel bakış bölümüne bakın.

Bu sayfadaki adımları uygulayarak Firebase PNV için kullanıcı akışlarını hızlıca uygulamaya başlayabilirsiniz. Test amacıyla, sahte bir telefon numarasına çözümlenen yalnızca test amaçlı bir jeton oluşturursunuz. Bu test jetonunu kullanarak, faturalandırma hesabına veya gerçek SIM kartı olan bir cihaza gerek kalmadan uygulamanıza Firebase PNV eklemeye başlayabilirsiniz.

Uygulamanızdaki Firebase PNV kullanıcı deneyiminden memnun kaldığınızda uygulamanızı üretime hazır hale getirmek için bazı ek adımları uygulayabilirsiniz.

Başlamadan önce

1. Firebase PNV kitaplığını uygulamanıza ekleyin

Modülünüzün (uygulama düzeyinde) Gradle dosyasına (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) Android için Firebase Phone Number Verification kitaplığının bağımlılığını ekleyin.

Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), Android için Firebase Phone Number Verification kitaplığının bağımlılığını ekleyin. Kitaplık sürüm kontrolü için Firebase Android BoM kullanmanızı öneririz.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.12.0"))

    // Add the dependencies for the Firebase Phone Number Verification libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-pnv")
}

Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.

(Alternatif)  Firebase kitaplığı bağımlılıklarını BoM kullanmadan ekleyin.

Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.

dependencies {
    // Add the dependencies for the Firebase Phone Number Verification libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-pnv:16.0.0")
}

2. Firebase PNV kitaplığını test modunda başlatın.

  1. Firebase konsolunun Telefon Doğrulama bölümündeki Test sekmesinde Jeton oluştur düğmesini tıklayın.

  2. Uygulamanızda, test oturumu kullanmak için Firebase PNV istemcisini başlatın:

    Kotlin

    Kitaplığı içe aktarma:

    import com.google.firebase.pnv.FirebasePhoneNumberVerification
    

    Önceki adımda oluşturduğunuz jetonu kullanarak bir test oturumu etkinleştirin:

    val fpnv = FirebasePhoneNumberVerification.getInstance()
    fpnv.enableTestSession("COPIED_TOKEN_STRING")
    

Test jetonlarının geçerlilik süresi 7 gündür. Bu sürenin sonunda test oturumlarını etkinleştirmek için yeni bir jeton oluşturmanız gerekir. Test jetonları, fiziksel cihazlarda ve emülatörlerde çalışır. Bu nedenle, uygulamanızdaki kullanıcı deneyiminin prototipini oluşturmak veya CI/CD'de test yapmak için idealdir.

3. Önerilen: Firebase PNV desteğini kontrol edin

Numara girişi kullanıcı arayüzünü veya açıklama kullanıcı arayüzünü ne zaman göstereceğinizi belirlemenize yardımcı olmak için uygulama başlatıldığında cihazın ve SIM kartının Firebase PNV özelliğini destekleyip desteklemediğini kontrol etmeniz önerilir. Bu, kullanıcı izni gerektirmeyen bir ön kontroldür. Bu testin sonucunu, Firebase PNV akışını başlatıp başlatmayacağınıza veya telefon numarası doğrulaması için SMS gibi alternatif bir yöntem kullanıp kullanmayacağınıza karar vermek için kullanabilirsiniz.

Cihazın uyumluluğunu kontrol etmek için getVerificationSupportInfo() yöntemini çağırın. Etkin bir test oturumunuz varken bu yöntem, projenizde etkin olan her test jetonunun listesini döndürür. Daha sonra, uygulamanızı üretime hazır hale getirdikten sonra bu yöntem, cihazdaki her SIM için bir sonuç döndürür.

Kotlin

import com.google.firebase.pnv.FirebasePhoneNumberVerification
// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
  .addOnSuccessListener { results ->
    if (results.any { it.isSupported() }) {
      // At least one SIM is supported; proceed with FPNV flow
    } else {
      // No SIMs are supported, so fall back to SMS verification.
    }
  }
  .addOnFailureListener { e ->
    // Handle error.
  }

4. Doğrulama akışını başlatma

Firebase PNV akışını başlatmak için FirebasePhoneNumberVerification öğesinin yeni bir örneğini oluşturun ve Activity bağlamını iletin. SDK'nın kullanıcıya kullanıcı rızası ekranı göstermesi için Activity bağlamı gerekir. Ardından, nesnenin getVerifiedPhoneNumber() yöntemini çağırın:

Kotlin

import com.google.firebase.pnv.FirebasePhoneNumberVerification
// Get an instance of the SDK _with an Activity context_:
val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)

// Call getVerifiedPhoneNumber
fpnv.getVerifiedPhoneNumber()
  .addOnSuccessListener { result ->
    // In test mode, this phone number will have a valid country code,
    // followed by all zeros.
    val phoneNumber = result.getPhoneNumber()
    val token = result.getToken()

    // Verification successful. Send token to your backend. (See Next Steps.)
  }
  .addOnFailureListener { e ->
    // Handle failures, such as the user declining consent or a network error.
  }

getVerifiedPhoneNumber() yöntemi, aşağıdakiler dahil olmak üzere telefon numarası doğrulama akışının tamamını gerçekleştirir:

  • Android Kimlik Bilgisi Yöneticisi'ni kullanarak kullanıcılardan telefon numaralarını paylaşma izni alma.
  • İsteği Firebase PNV arka ucuna gönderme
  • Cihaz için doğrulanmış bir telefon numarası döndürülür (bu durumda faturalandırma gerçekleşir).

Sonraki adımlar

  • Bu sayfada, birleştirilmiş tek çağrılı API'yi kullanarak Firebase PNV ile nasıl entegrasyon yapılacağı ayrıntılı olarak açıklanmaktadır. Tek bir yöntemi çağırmak, kullanıcı iznini almaktan Firebase PNV arka ucuna gerekli ağ çağrılarını yapmaya kadar tüm Firebase PNV kullanıcı akışını yönetir. Bu yöntemi kullanarak entegrasyon adımlarını tek bir yöntem çağrısına indirirsiniz.

    Bu API çoğu geliştirici için önerilir. Ancak kitaplığın karşılamadığı belirli gereksinimleriniz varsa özel bir akış uygulama hakkında bilgi edinmek için Firebase Phone Number Verification akışını özelleştirme sayfasına bakın.

  • Doğrulanmış telefon numarasını uygulama istemcisinin dışında kullanıyorsanız telefon numarasının kendisi yerine jetonu iletmeniz gerekir. Böylece, kullandığınızda jetonun bütünlüğünü doğrulayabilirsiniz. Firebase PNV jetonlarını doğrulama başlıklı makaleye bakın.

  • Uygulamanızın Firebase PNV akışını ve arka uç entegrasyonunu uygulayıp test ettikten sonra, gerçek doğrulanmış telefon numaraları almaya başlamak için uygulamanızı üretime alabilirsiniz. Üretim moduna yükseltme başlıklı makaleyi inceleyin.