Pierwsze kroki z weryfikacją numeru telefonu w Firebase na Androidzie

Na tej stronie dowiesz się, jak zacząć korzystać z Firebase Phone Number Verification w aplikacji na Androida. Ogólny opis tej funkcji znajdziesz w omówieniu.

Wykonując czynności opisane na tej stronie, możesz szybko zacząć wdrażać ścieżki użytkownika weryfikacji numeru telefonu w Firebase PNV. Na potrzeby testowania wygenerujesz token tylko do testów, który będzie wskazywał fałszywy numer telefonu. Za pomocą tego tokena testowego, możesz zacząć dodawać Firebase PNV do swojej aplikacji bez konta rozliczeniowego ani urządzenia z prawdziwą kartą SIM.

Gdy będziesz zadowolony z wrażeń użytkownika Firebase PNV w swojej aplikacji, możesz wykonać dodatkowe czynności, aby przygotować aplikację do wdrożenia.

Zanim zaczniesz

1. Dodaj bibliotekę Firebase PNV do swojej aplikacji

W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj zależność od biblioteki Firebase Phone Number Verification na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie Firebase Android BoM.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.13.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")
}

Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie)  Dodaj zależności biblioteki Firebase bez używania BoM

Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności.

Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

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.1.0")
}

2. Zainicjuj bibliotekę Firebase PNV w trybie testowym

  1. W konsoli Firebase otwórz kartę Zabezpieczenia > Weryfikacja telefoniczna > Testowanie.

  2. Kliknij Generate token (Wygeneruj token).

    Google Cloud
  3. W aplikacji zainicjuj klienta Firebase PNV, aby używać sesji testowej:

    Kotlin

    Zaimportuj bibliotekę:

      import com.google.firebase.pnv.FirebasePhoneNumberVerification
      ```
    
    Create a new instance of the `FirebasePhoneNumberVerification` class and use
    this instance for all Firebase PNV calls.
    
    ```kotlin
      val fpnv = FirebasePhoneNumberVerification.getInstance()
      ```
    
    Enable a test session using the token you generated in the previous step:
    
    ```kotlin
      fpnv.enableTestSession("COPIED_TOKEN_STRING")
      ```
    
    You must call this method only once on an instance of
        `FirebasePhoneNumberVerification`; subsequent calls will throw an error.
    

Tokeny testowe mają okres ważności wynoszący 7 dni. Po tym czasie musisz wygenerować nowy token, aby włączyć sesje testowe. Tokeny testowe działają na urządzeniach fizycznych i emulatorach, dzięki czemu idealnie nadają się do prototypowania interfejsu użytkownika w aplikacji lub testowania w CI/CD.

3. Zalecane: sprawdź, czy obsługa Firebase PNV jest dostępna

Aby pomóc Ci określić, kiedy wyświetlać interfejs wprowadzania numeru lub interfejs wyjaśniający, po uruchomieniu aplikacji zalecamy sprawdzenie, czy urządzenie i karta SIM obsługują Firebase PNV. Jest to wstępne sprawdzenie, które nie wymaga zgody użytkownika. Wynik tego testu możesz wykorzystać do podjęcia decyzji, czy rozpocząć proces weryfikacji numeru telefonu w Firebase, czy użyć alternatywnej metody weryfikacji numeru telefonu, np. SMS-a.Firebase PNV

Aby sprawdzić zgodność urządzenia, wywołaj metodę getVerificationSupportInfo(). Gdy sesja testowa jest aktywna, ta metoda zwróci listę zawierającą 1 wpis dla tokena testowego aktywnego w Twoim projekcie. Później, gdy przygotujesz aplikację do wdrożenia, ta metoda zwróci wynik dla każdej karty SIM w urządzeniu.

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. Rozpocznij proces weryfikacji

Aby rozpocząć proces Firebase PNV wywołaj metodę getVerifiedPhoneNumber():

Kotlin

fpnv.getVerifiedPhoneNumber(this@MainActivity)
.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.
}

Metoda getVerifiedPhoneNumber() przeprowadza cały proces weryfikacji numeru telefonu, w tym:

  • uzyskanie zgody użytkownika na udostępnienie numeru telefonu za pomocą Menedżera danych logowania na Androida;
  • wysłanie żądania do backendu Firebase PNV;
  • zwrócenie tokena zawierającego zweryfikowany numer telefonu urządzenia (w aplikacji produkcyjnej w tym momencie następuje rozliczenie).

Dalsze kroki

  • Na tej stronie dowiesz się, jak zintegrować się z Firebase PNV za pomocą ujednoliconego, interfejsu API z jednym wywołaniem. Wywołanie jednej metody obsługuje cały proces Firebase PNV użytkownika, od uzyskania zgody użytkownika po wykonanie niezbędnych wywołań sieciowych do backendu Firebase PNV. Dzięki tej metodzie ograniczasz liczbę kroków integracji do jednego wywołania metody.

    Ten interfejs API jest zalecany większości deweloperów. Jeśli jednak masz konkretne wymagania, których biblioteka nie spełnia, informacje o implementowaniu niestandardowego procesu znajdziesz na stronie DostosowywanieFirebase Phone Number Verification procesu.

  • Jeśli używasz zweryfikowanego numeru telefonu poza klientem aplikacji, zamiast samego numeru telefonu przekaż token, aby móc sprawdzić jego integralność. Zobacz Weryfikowanie Firebase PNV tokenów.

  • Gdy zaimplementujesz i przetestujesz proces Firebase PNV w aplikacji oraz integrację z backendem , możesz wdrożyć aplikację, aby zacząć otrzymywać prawdziwe zweryfikowane numery telefonów. Zobacz Uaktualnianie do trybu produkcyjnego.