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 SMS-owej, która wymaga od użytkowników otrzymania i wpisania kodu z wiadomości tekstowej, weryfikacja numeru telefonu w Firebase 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 trudności dla użytkownika, zwiększa niezawodność, ponieważ nie zależy od dostarczania wiadomości SMS, i eliminuje wektory nadużyć często wykorzystywane podczas korzystania z SMS-ów.

W tym laboratorium dowiesz się, jak utworzyć agenta AI do wyszukiwania restauracji, który korzysta z weryfikacji numeru telefonu w Firebase, aby potwierdzić numer telefonu użytkownika przed potwierdzeniem rezerwacji stolika.
Wymagania wstępne
- Najnowsza wersja Android Studio
- urządzenie z Androidem lub emulator z interfejsem API na poziomie 26 lub wyższym,
Czego się nauczysz
- Skonfiguruj projekt w Firebase z usługą Firebase PNV.
- Używaj Firebase PNV w trybie testowym, aby tworzyć prototypy bez konta rozliczeniowego lub prawdziwej karty SIM.
- Zintegruj pakiet SDK Firebase PNV z aplikacją na Androida.
- Zweryfikuj numer telefonu za pomocą interfejsu Single Call API.
- (Opcjonalnie) Przygotuj aplikację do wdrożenia w wersji produkcyjnej.
2. Konfigurowanie przykładowego projektu
Tworzenie projektu w Firebase
- Zaloguj się w konsoli Firebase, korzystając ze swojego konta Google.
- Kliknij przycisk, aby utworzyć nowy projekt, a potem wpisz jego nazwę (np.
Tera Bites).
- Kliknij Dalej.
- Po wyświetleniu monitu zapoznaj się z warunkami usługi Firebase i zaakceptuj je, a potem kliknij Dalej.
- (Opcjonalnie) Włącz w konsoli Firebase pomoc AI (nazywaną „Gemini w Firebase”).
- W tym samouczku nie potrzebujesz Google Analytics, więc wyłącz opcję Google Analytics.
- Kliknij Utwórz projekt, poczekaj, aż projekt zostanie udostępniony, a następnie kliknij Dalej.
Pobieranie kodu
Aby sklonować przykładowy kod do tego laboratorium, uruchom te polecenia:
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 na środku strony „Opis” projektu kliknij ikonę Androida lub Dodaj aplikację, aby uruchomić proces tworzenia aplikacji.
- W polu Nazwa pakietu na 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 kliknij Usługi AI > Logika AI.
- Kliknij Rozpocznij.
- Aby używać interfejsu Gemini Developer API, kliknij Rozpocznij korzystanie z tego interfejsu API.
- Kliknij Włącz API i potwierdź.
3. Konfigurowanie Firebase PNV 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 używać 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.12.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ść z biblioteką 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 kliknij Security (Zabezpieczenia) > Phone Verification (Weryfikacja telefonu).
- Kliknij kartę Testowanie.
- Wybierz kod kraju dla testowego numeru telefonu i kliknij Wygeneruj token.
- Skopiuj wygenerowany ciąg tokena.
Włącz sesję testową 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(context!!) // Enable Test session fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP") // Trigger the Firebase PNV pop up val response = fpnv.getVerifiedPhoneNumber().await() val phoneNumber = response.getPhoneNumber() return phoneNumber }
4. Uruchamianie aplikacji
Po wdrożeniu Firebase PNV 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. Po podaniu szczegółów powinna pojawić się prośba o sprawdzenie ekranu w celu potwierdzenia numeru telefonu:

- Gdy to zrobisz, zobaczysz ekran potwierdzenia weryfikacji:

- Aby zakończyć połączenie, kliknij Zakończ sesję.
5. (Opcjonalnie) Przejdź na tryb produkcyjny
Przejście na wyższy abonament Firebase
Aby korzystać z Firebase PNV w trybie produkcyjnym, Twój projekt w Firebase musi być objęty abonamentem Blaze (płatność według wykorzystania), co oznacza, że jest połączony z kontem rozliczeniowym Cloud.
- Konto rozliczeniowe Cloud wymaga formy płatności, np. karty kredytowej.
- Jeśli dopiero zaczynasz korzystać z Firebase i Google Cloud, sprawdź, czy możesz otrzymać środki w wysokości 300 USD i konto rozliczeniowe Cloud w bezpłatnym okresie próbnym.
- Jeśli wykonujesz ten codelab w ramach wydarzenia, zapytaj organizatora, czy są dostępne środki w Google Cloud.
Aby przenieść projekt na abonament Blaze:
- W konsoli Firebase wybierz przejście na wyższy abonament.
- Wybierz pakiet Blaze. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby połączyć konto rozliczeniowe Cloud z projektem.
Jeśli w ramach tego przejścia na wyższy abonament konieczne było utworzenie konta rozliczeniowego Cloud, może być konieczne powrócenie do procesu przejścia na wyższy abonament w konsoli Firebase, aby go dokończyć.
Włączanie trybu produkcyjnego Firebase PNV
- Dodaj odcisk cyfrowy SHA-256 aplikacji:
- W konsoli Firebase otwórz stronę Ustawienia > Ogólne.
- Przewiń w dół do karty Twoje aplikacje i znajdź aplikację na Androida.
- W polu Odciski cyfrowe certyfikatu SHA dodaj odcisk cyfrowy SHA-256. Szczegółowe informacje o tym, jak uzyskać odcisk cyfrowy SHA-256 aplikacji, znajdziesz w artykule Uwierzytelnianie klienta.
- Wróć do sekcji Bezpieczeństwo > Weryfikacja telefonu.
- Kliknij Skonfiguruj wersję produkcyjną. Zobaczysz listę aplikacji w projekcie, które zostaną włączone w wersji produkcyjnej. Będziesz mieć też 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ą jasno i dokładnie opisane.
Aby rozpocząć weryfikację, kliknij Dalej w Google Cloud. Ten proces może czasami potrwać 24 godziny lub dłużej. - Podczas oczekiwania na weryfikację marki zapoznaj się ze szczegółowymi warunkami korzystania z usługi PNV w Firebase, do których link znajdziesz w konsoli.
- Gdy aplikacja przejdzie weryfikację marki, zaznacz pole, aby potwierdzić, że akceptujesz warunki korzystania z usługi, a potem kliknij Włącz.
Usługa Firebase PNV jest teraz aktywna w trybie produkcyjnym.
Usuwanie kodu testowego
W projekcie aplikacji na Androida usuń wiersz fpnv.enableTestSession(...).
Migracja Firebase AI Logic do Vertex AI
Jeśli na koncie rozliczeniowym używasz środków, nie możesz ich wykorzystać w interfejsie Gemini Developer API. Możesz jednak używać ich z interfejsem Vertex AI Gemini API.
- W konsoli Firebase kliknij Usługi AI > Logika AI.
- Kliknij Ustawienia.
- W sekcji Vertex AI Gemini API kliknij Włącz.
- W projekcie aplikacji na Androida zmień inicjowanie Firebase AI Logic, aby zamiast AI od Google 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 Firebase PNV.
- Używanie trybu testowania do tworzenia prototypów.
- wdrażanie interfejsu Firebase PNV single-call API;
- Przechodzenie na tryb produkcyjny.
Dalsze kroki
- Dowiedz się, jak dostosować proces weryfikacji numeru telefonu w Firebase.
- Dowiedz się, jak weryfikować tokeny PNV Firebase.
- Sprawdź ceny i limity.