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

    FirebasePhoneNumberVerification sınıfının yeni bir örneğini oluşturun ve tüm Firebase PNV çağrıları için bu örneği kullanın. getInstance() yöntemi tekil bir nesne döndürmez. Bu nedenle, oluşturduktan sonra bu nesneyi saklamanız gerekir.

    val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)
    

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

    fpnv.enableTestSession("COPIED_TOKEN_STRING")
    

    Bu yöntemi FirebasePhoneNumberVerification örneğinde yalnızca bir kez çağırmanız gerekir. Sonraki çağrılar hata verir.

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

// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
  .addOnSuccessListener { results ->
    if (results.any { it.isSupported() }) {
      // At least one SIM is supported; okay to call getVerifiedPhoneNumber
      // (see the next step).
    } 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 getVerifiedPhoneNumber() yöntemini çağırın:

Kotlin

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ın doğrulanmış telefon numarasını içeren bir jeton döndürme (üretim uygulamasında bu, faturalandırmanın gerçekleştiği zamandır).

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.