1. Przegląd
Weryfikacja numeru telefonu w Firebase (Firebase PNV lub FPNV) to szybsza i bezpieczniejsza metoda weryfikacji numerów telefonów. W przeciwieństwie do weryfikacji opartej na SMS-ach, która wymaga od użytkowników otrzymania i wpisania kodu z wiadomości tekstowej, Firebase PNV działa poprzez pobieranie numeru telefonu przypisanego do karty SIM w urządzeniu bezpośrednio od połączonego operatora za pomocą jednego kliknięcia. Zmniejsza to niedogodności dla użytkownika końcowego, zwiększa niezawodność, ponieważ nie zależy od dostarczania wiadomości SMS, i eliminuje wektory nadużyć powszechnie wykorzystywane podczas korzystania z SMS-ów.

W tym ćwiczeniu dowiesz się, jak utworzyć opartego na AI agenta głosowego „Wyszukiwarka restauracji”, który używa weryfikacji numeru telefonu w Firebase do weryfikacji numeru telefonu użytkownika końcowego przed potwierdzeniem rezerwacji stolika.
Wymagania wstępne
- Najnowsza wersja Android Studio
- Urządzenie z Androidem lub emulator z poziomem interfejsu API 26 lub nowszym
Czego się nauczysz
- Konfigurowanie projektu w Firebase z weryfikacją numeru telefonu w Firebase.
- Używanie weryfikacji numeru telefonu w Firebase w trybie testowym do tworzenia prototypów bez konta rozliczeniowego ani prawdziwej karty SIM.
- Integrowanie pakietu Firebase PNV SDK z aplikacją na Androida.
- Weryfikowanie numeru telefonu za pomocą interfejsu API z jednym wywołaniem.
- (Opcjonalnie) Przygotowywanie aplikacji do wdrożenia w wersji produkcyjnej.
2. Konfigurowanie przykładowego projektu
Tworzenie projektu w Firebase
- Zaloguj się w konsoli Firebase za pomocą konta Google.
- Kliknij przycisk, aby utworzyć nowy projekt, a następnie wpisz jego nazwę (np.
Tera Bites).
- Kliknij Dalej.
- Jeśli pojawi się taka prośba, zapoznaj się z warunkami korzystania z Firebase i zaakceptuj je, a następnie kliknij Dalej.
- (Opcjonalnie) Włącz pomoc AI w konsoli Firebase (nazywaną „Gemini w Firebase”).
- W tym ćwiczeniu nie potrzebujesz Google Analytics, więc wyłącz opcję Google Analytics.
- Kliknij Utwórz projekt, poczekaj na jego utworzenie, a następnie kliknij Dalej.
Pobieranie kodu
Uruchom te polecenia, aby sklonować przykładowy kod na potrzeby tego ćwiczenia:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
Otwórz katalog firebase-pnv-android w Android Studio.
Łączenie projektu aplikacji na Androida z Firebase
- W konsoli Firebase w środkowej części strony „Opis” projektu kliknij ikonę Android lub Dodaj aplikację , aby uruchomić proces tworzenia aplikacji.
- W polu Nazwa pakietu Androida wpisz nazwę pakietu aplikacji:
com.google.firebase.example.fpnv. - Kliknij Zarejestruj aplikację.
- Wykonaj instrukcje, aby pobrać plik
google-services.json, i przenieś go do kataloguapp/pobranego kodu. - Kliknij Dalej.
Włączanie Firebase AI Logic
W tym ćwiczeniu do obsługi agenta głosowego AI używamy Firebase AI Logic. Aby włączyć Firebase AI Logic w projekcie w Firebase:
- W konsoli Firebase otwórz Usługi AI > AI Logic.
- Kliknij Rozpocznij.
- Aby korzystać z Gemini Developer API, kliknij Rozpocznij korzystanie z tego interfejsu API.
- Kliknij Włącz interfejs API i potwierdź.
3. Konfigurowanie weryfikacji numeru telefonu w Firebase w trybie testowym
Tryb testowy umożliwia weryfikację „fałszywego” numeru telefonu za pomocą tokena testowego na potrzeby programowania.
Dołączanie do programu publicznych testów beta usług systemowych Google
Aby korzystać z trybu testowego, zarejestruj urządzenie deweloperskie w kanale beta usług systemowych Google:
- Otwórz stronę Testowanie aplikacji na Androida – usługi systemowe Google.
- Kliknij Zostań testerem.
Jesteś teraz betatesterem usług systemowych Google.
Dodawanie zależności Firebase PNV
W bazie kodu projektu na Androida zależności bibliotek Firebase PNV i Firebase AI Logic są już zdefiniowane w pliku :
[versions]
# ... other dependencies
firebaseBom = "34.13.0"
[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }
W pliku Gradle modułu (na poziomie aplikacji) (zwykle ) zadeklaruj zależność biblioteki Firebase PNV:
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
Generowanie tokena testowego
- W konsoli Firebase otwórz Bezpieczeństwo > Weryfikacja telefoniczna.
- Kliknij kartę Testowanie.
- Wybierz kod kraju dla testowego numeru telefonu i kliknij Wygeneruj token.
- Skopiuj wygenerowany ciąg tokena.
Włączanie sesji testowej w kodzie
- Wróć do projektu aplikacji na Androida, otwórz plik
ChatViewModel.kti znajdź funkcjęverifyPhoneNumber(). - Zainicjuj klienta
FirebasePhoneNumberVerificationi włącz sesję testową, wklejając token skopiowany z konsoli Firebase:suspend fun verifyPhoneNumber(): String { // Initialize Firebase Phone Number Verification val fpnv = FirebasePhoneNumberVerification.getInstance() // Enable Test session fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP") // Trigger the Firebase PNV pop up val response = fpnv.getVerifiedPhoneNumber(context!!).await() val phoneNumber = response.getPhoneNumber() return phoneNumber }
4. Uruchamianie aplikacji
Po wdrożeniu weryfikacji numeru telefonu w Firebase możesz uruchomić aplikację.
- W Android Studio kliknij Uruchom, aby uruchomić aplikację w emulatorze Androida lub na urządzeniu fizycznym.
- Po uruchomieniu aplikacji powinien pojawić się ekran podobny do tego:

- Kliknij Rozpocznij połączenie i przedstaw się.

- Agent głosowy AI powinien poprosić Cię o podanie szczegółów rezerwacji. Gdy podasz szczegóły, powinien poprosić Cię o sprawdzenie ekranu w celu potwierdzenia numeru telefonu:

- Gdy to zrobisz, zobaczysz ekran z informacją o zakończeniu weryfikacji:

- Aby zakończyć połączenie, kliknij Zakończ sesję.
5. (Opcjonalnie) Przechodzenie na tryb produkcyjny
Uaktualnianie abonamentu Firebase
Aby korzystać z weryfikacji numeru telefonu w Firebase w trybie produkcyjnym, projekt w Firebase musi być objęty abonamentem z płatnością według wykorzystania (Blaze), co oznacza, że jest połączony z kontem rozliczeniowym Cloud.
- Konto rozliczeniowe Cloud wymaga formy płatności, np. karty kredytowej.
- Podczas specjalnych promocji lub jeśli wykonujesz to ćwiczenie w ramach wydarzenia, mogą być dostępne środki w Google Cloud (np. baner u góry tej strony).
- Jeśli dopiero zaczynasz korzystać z Firebase i Google Cloud, sprawdź, czy kwalifikujesz się do otrzymania środków w wysokości 300 USD i bezpłatnego okresu próbnego konta rozliczeniowego Cloud.
Aby przenieść projekt na abonament Blaze, wykonaj te czynności:
- W konsoli Firebase wybierz opcję uaktualnienia abonamentu.
- Wybierz abonament Blaze. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby połączyć konto rozliczeniowe Cloud z projektem.
- Jeśli w ramach tego ćwiczenia odebrano środki w Google Cloud, konto rozliczeniowe prawdopodobnie będzie się nazywać
Google Cloud Platform Trial Billing AccountlubMy Billing Account. - Jeśli w ramach tego uaktualnienia musisz utworzyć konto rozliczeniowe Cloud, może być konieczne powrócenie do procesu uaktualniania w konsoli Firebase, aby dokończyć uaktualnienie.
- Jeśli w ramach tego ćwiczenia odebrano środki w Google Cloud, konto rozliczeniowe prawdopodobnie będzie się nazywać
Włączanie trybu produkcyjnego weryfikacji numeru telefonu w Firebase
- Dodaj odcisk cyfrowy SHA-256 aplikacji:
- W konsoli Firebase otwórz stronę Ustawienia > Ogólne.
- Przewiń w dół do karty Twoje aplikacje i znajdź swoją aplikację na Androida.
- W polu Odciski cyfrowe certyfikatu SHA dodaj odcisk cyfrowy SHA-256. Więcej informacji o tym, jak uzyskać odcisk cyfrowy SHA-256 aplikacji, znajdziesz w artykule Uwierzytelnianie klienta.
- Wróć do Bezpieczeństwo > Weryfikacja telefoniczna.
- Kliknij Skonfiguruj wersję produkcyjną. Zobaczysz listę aplikacji w projekcie, które zostaną włączone w wersji produkcyjnej, i będziesz mieć możliwość dodania kolejnych aplikacji.
- Prześlij aplikację do weryfikacji marki OAuth i sprawdzenia polityki prywatności. Google Cloud sprawdzi, czy wyraźnie i dokładnie identyfikujesz swoją aplikację i jej politykę prywatności.
Aby rozpocząć sprawdzanie, kliknij Kontynuuj w Google Cloud. Ten proces może czasami potrwać 24 godziny lub dłużej. - Podczas oczekiwania na weryfikację marki zapoznaj się z warunkami korzystania z usługi Firebase PNV, do których linki znajdziesz w konsoli.
- Gdy aplikacja przejdzie weryfikację marki, zaznacz pole, aby potwierdzić, że akceptujesz warunki korzystania z usługi, a następnie kliknij Włącz.
Weryfikacja numeru telefonu w Firebase jest teraz aktywna w trybie produkcyjnym.
Usuwanie kodu testowego
W projekcie aplikacji na Androida usuń wiersz fpnv.enableTestSession(...).
Migrowanie Firebase AI Logic do Vertex AI
Jeśli na koncie rozliczeniowym używasz środków, nie będziesz ich mieć do dyspozycji w Gemini Developer API. Możesz ich jednak używać w Gemini API w Vertex AI.
- W konsoli Firebase otwórz Usługi AI > AI Logic.
- Kliknij Ustawienia.
- W sekcji Gemini API w Vertex AI kliknij Włącz.
- W projekcie aplikacji na Androida zmień inicjację Firebase AI Logic, aby używać backendu Vertex AI zamiast AI od Google:
val model = Firebase.ai( backend = GenerativeBackend.vertexAI(location = "us-central1") ).liveModel( modelName = "gemini-live-2.5-flash-native-audio", // ... other configuration )
6. Gratulacje!
Udało Ci się zintegrować weryfikację numeru telefonu w Firebase z aplikacją na Androida.
Omówione zagadnienia
- Konfigurowanie projektu na potrzeby weryfikacji numeru telefonu w Firebase.
- Używanie trybu testowego do tworzenia prototypów.
- Implementowanie interfejsu API z jednym wywołaniem weryfikacji numeru telefonu w Firebase.
- Przechodzenie na tryb produkcyjny.
Dalsze kroki
- Dowiedz się, jak dostosować proces weryfikacji numeru telefonu w Firebase.
- Dowiedz się, jak weryfikować tokeny weryfikacji numeru telefonu w Firebase.
- Sprawdź ceny i limity.