Na tej stronie dowiesz się, jak zacząć korzystać z Firebase Phone Number Verification w aplikacji na Androida. Ogólny opis tej funkcji znajdziesz w tym artykule.
Wykonując czynności opisane na tej stronie, możesz szybko rozpocząć wdrażanie ścieżek użytkownika dla Firebase PNV. Na potrzeby testów wygenerujesz token tylko do testowania, który będzie rozpoznawany jako fałszywy numer telefonu. Za pomocą tego tokena testowego możesz zacząć dodawać Firebase PNV do aplikacji bez konta rozliczeniowego lub urządzenia z prawdziwą kartą SIM.
Gdy będziesz zadowolony(-a) z Firebase PNV wrażeń użytkowników w aplikacji, możesz wykonać dodatkowe czynności, aby przygotować ją do wdrożenia w środowisku produkcyjnym.
Zanim zaczniesz
Dodaj Firebase do projektu aplikacji na Androida, jeśli jeszcze tego nie zrobiłeś.
Aby korzystać z trybu testowego, urządzenie, na którym działa aplikacja, musi być zarejestrowane w programie publicznych testów beta usług systemowych Google. Aby dowiedzieć się, jak się zarejestrować, otwórz linkowaną stronę.
1. Dodawanie biblioteki Firebase PNV do 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ść z biblioteką Firebase Phone Number Verification na Androida. Zalecamy używanie symbolu Firebase Android BoM do kontrolowania obsługi wersji biblioteki.
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") }
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.0.0") }
2. Zainicjuj bibliotekę Firebase PNV w trybie testowym.
Na karcie Testowanie w sekcji Firebase w konsoli Weryfikacja telefonu kliknij przycisk Wygeneruj token.
W aplikacji zainicjuj klienta Firebase PNV, aby używać sesji testowej:
Kotlin
Zaimportuj bibliotekę:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationUtwórz nową instancję klasy
FirebasePhoneNumberVerificationi używaj jej we wszystkich wywołaniach Firebase PNV. MetodagetInstance()nie zwraca obiektu singleton, więc po jego utworzeniu musisz go zachować.val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)Włącz sesję testową, używając tokena wygenerowanego w poprzednim kroku:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Tę metodę należy wywołać tylko raz w przypadku instancji
FirebasePhoneNumberVerification. Kolejne wywołania spowodują błąd.
Okres ważności tokenów testowych wynosi 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 UX w aplikacji lub testowania w CI/CD.
3. Zalecane: sprawdź obsługę Firebase PNV
Aby 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. Na podstawie wyniku tego testu możesz zdecydować, czy rozpocząć proces Firebase PNV, czy użyć alternatywnej metody weryfikacji numeru telefonu, np. SMS-a.
Aby sprawdzić zgodność urządzenia, wywołaj metodę getVerificationSupportInfo(). Gdy masz aktywną sesję testową, ta metoda zwraca listę wszystkich aktywnych w projekcie tokenów testowych. Później, po wprowadzeniu aplikacji do użytku produkcyjnego, ta metoda będzie zwracać 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()
.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() obejmuje cały proces weryfikacji numeru telefonu, w tym:
- Korzystanie z Menedżera danych logowania na Androidzie w celu uzyskania zgody użytkownika na udostępnienie numeru telefonu.
- Wysyłanie żądania do backendu Firebase PNV.
- Zwracanie tokena zawierającego zweryfikowany numer telefonu urządzenia (w aplikacji produkcyjnej to moment, w którym następuje rozliczenie).
Dalsze kroki
Na tej stronie opisujemy, jak zintegrować Firebase PNV za pomocą ujednoliconego interfejsu API z jednym wywołaniem. Wywołanie pojedynczej metody obsługuje cały proces Firebase PNV, od uzyskania zgody użytkownika po wykonanie niezbędnych wywołań sieciowych do backendu Firebase PNV. Dzięki tej metodzie możesz ograniczyć liczbę kroków integracji do jednego wywołania metody.
Ten interfejs API jest zalecany dla większości deweloperów. Jeśli jednak masz konkretne wymagania, które nie są spełniane przez bibliotekę, zapoznaj się ze stroną Dostosowywanie procesu Firebase Phone Number Verification, aby dowiedzieć się, jak wdrożyć niestandardowy proces.
Jeśli używasz zweryfikowanego numeru telefonu poza klientem aplikacji, zamiast samego numeru telefonu przekazuj token, aby móc zweryfikować jego integralność podczas używania. Zobacz Weryfikowanie tokenów Firebase PNV.
Po wdrożeniu i przetestowaniu Firebase PNV przepływu i integracji backendu aplikacji możesz wprowadzić ją do środowiska produkcyjnego, aby zacząć uzyskiwać prawdziwe zweryfikowane numery telefonów. Zobacz Przejście na tryb produkcyjny.