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, 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ć agenta głosowego AI „Wyszukiwarka restauracji”, który używa weryfikacji numeru telefonu w Firebase do potwierdzenia numeru telefonu użytkownika 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 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 SDK weryfikacji numeru telefonu w Firebase z aplikacją na Androida.
- Weryfikowanie numeru telefonu za pomocą interfejsu API pojedynczego połączenia.
- (Opcjonalnie) Przygotowywanie aplikacji do wdrożenia w wersji produkcyjnej.
2. Konfigurowanie przykładowego projektu
Tworzenie projektu 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ę odpowiedni komunikat, 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 tę opcję.
- 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 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 Firebase:
- W konsoli Firebase otwórz Usługi AI > AI Logic.
- Kliknij Rozpocznij.
- Aby używać Gemini Developer API, kliknij Rozpocznij korzystanie z tego interfejsu API.
- Wykonaj pozostałe kroki procesu konfiguracji.
3. Konfigurowanie weryfikacji numeru telefonu w Firebase w trybie testowym
Tryb testowy umożliwia weryfikowanie „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 weryfikacji numeru telefonu w Firebase
W bazie kodu projektu na Androida zależności bibliotek weryfikacji numeru telefonu w Firebase 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 weryfikacji numeru telefonu w Firebase:
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 Zabezpieczenia > 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 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 używać weryfikacji numeru telefonu w Firebase w trybie produkcyjnym, projekt 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 Google Cloud.
- 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 na potrzeby tego ćwiczenia używasz środkó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 go dokończyć.
- Jeśli na potrzeby tego ćwiczenia używasz środkó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 Zabezpieczenia > 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 Twoja aplikacja i jej polityka prywatności są wyraźnie i dokładnie identyfikowane.
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 weryfikacji numeru telefonu w Firebase, 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 na Androida usuń wiersz fpnv.enableTestSession(...).
Migrowanie Firebase AI Logic do Vertex AI
Jeśli na koncie rozliczeniowym masz środki, nie będziesz ich używać 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 na Androida zmień inicjowanie Firebase AI Logic, aby zamiast Google AI używać backendu Vertex AI:
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 pojedynczego połączenia 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.