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.
Postępując zgodnie z instrukcjami na tej stronie, możesz szybko zacząć wdrażać ścieżki użytkownika w Firebase PNV. Na potrzeby testowania wygenerujesz token tylko do testów, który będzie odpowiadać fałszywemu numerowi 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 działania Firebase PNV w swojej aplikacji, możesz wykonać dodatkowe czynności, aby przygotować aplikację do wdrożenia.
Zanim zaczniesz
Dodaj Firebase do projektu aplikacji na Androida, jeśli jeszcze tego nie zrobisz.
Aby korzystać z trybu testowego, urządzenie, na którym działa Twoja aplikacja, musi być zarejestrowane w publicznym programie beta usług systemowych Google. Informacje o tym, jak się zarejestrować, znajdziesz na połączonej stronie.
1. Dodaj bibliotekę Firebase PNV do swojej aplikacji
W pliku Gradle na poziomie modułu (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. Zalecamy używanie
Firebase Android BoM
do kontrolowania wersji biblioteki.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.14.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życia 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
W konsoli Firebase otwórz kartę Zabezpieczenia > Weryfikacja telefoniczna > Testowanie.
Kliknij Generate token (Wygeneruj token).
Google CloudW 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ą 7-dniowy czas życia. Po tym okresie 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 określone wymagania, które nie są spełniane przez bibliotekę, informacje o implementowaniu niestandardowego procesu znajdziesz na stronie Dostosowywanie Firebase 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 oraz integrację z backendem , możesz wdrożyć aplikację, aby zacząć otrzymywać prawdziwe zweryfikowane numery telefonów. Zobacz Przechodzenie do trybu produkcyjnego.