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.
<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.FirebasePhoneNumberVerificationWłącz sesję testową, używając tokena wygenerowanego w poprzednim kroku:
val fpnv = FirebasePhoneNumberVerification.getInstance() fpnv.enableTestSession("COPIED_TOKEN_STRING")
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
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. Rozpocznij proces weryfikacji
Aby zainicjować przepływ Firebase PNV, utwórz nową instancję FirebasePhoneNumberVerification, przekazując kontekst Activity. Aby pakiet SDK mógł wyświetlić użytkownikowi ekran zgody, konieczny jest kontekst
Activity. Następnie wywołaj metodę getVerifiedPhoneNumber() obiektu:
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.
}
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 zweryfikowanego numeru telefonu urządzenia (wtedy następuje naliczenie opłaty);
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.