Na tej stronie dowiesz się, jak rozpocząć korzystanie 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 rozpocząć wdrażanie ścieżek użytkownika 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 obsługi 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 nie korzystasz w nim jeszcze z tej usługi.
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. Aby dowiedzieć się, jak się zarejestrować, otwórz połączoną stronę.
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. Do kontrolowania 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
W konsoli Firebase otwórz kartę Zabezpieczenia > Weryfikacja numeru telefonu > Testowanie.
Kliknij Generate token (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 do wszystkich wywołań Firebase PNV. MetodagetInstance()nie zwraca obiektu singleton, więc po utworzeniu musisz go zachować.val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)Włącz sesję testową za pomocą tokena wygenerowanego w poprzednim kroku:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Tę metodę musisz wywołać tylko raz w instancji
FirebasePhoneNumberVerification. Kolejne wywołania spowodują błąd.
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 obsługi 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 Firebase PNV czy użyć alternatywnej metody weryfikacji numeru telefonu, np. SMS-a.
Aby sprawdzić zgodność urządzenia, wywołaj metodę getVerificationSupportInfo(). Gdy sesja testowa jest aktywna, ta metoda zwróci listę wszystkich tokenów testowych aktywnych 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()
.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 opisujemy, jak zintegrować się z Firebase PNV za pomocą ujednoliconego interfejsu API z jednym wywołaniem. Wywołanie pojedynczej 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órych biblioteka nie spełnia, informacje o implementowaniu niestandardowego procesu znajdziesz na stronie Dostosowywanie procesuFirebase Phone Number Verification w celu uzyskania informacji o implementacji niestandardowego procesu.
Jeśli używasz zweryfikowanego numeru telefonu poza klientem aplikacji, zamiast samego numeru telefonu powinieneś przekazywać 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 Uaktualnianie do trybu produkcyjnego.