1. Обзор
Подтверждение номера телефона Firebase (Firebase PNV или FPNV) – это более быстрый и безопасный способ подтверждения номеров телефонов. В отличие от подтверждения по SMS, при котором конечным пользователям нужно получить и ввести код из текстового сообщения, Firebase PNV работает, получая номер телефона, назначенный SIM-карте в устройстве, непосредственно от подключенного оператора одним нажатием. Это упрощает процесс для конечного пользователя, повышает надежность, поскольку не зависит от доставки SMS, и устраняет векторы атак, которые обычно используются при работе с SMS.

В этой практической работе вы узнаете, как создать ИИ-агента для поиска ресторанов, который использует подтверждение номера телефона Firebase, чтобы проверить номер конечного пользователя перед подтверждением бронирования столика.
Требования
- Последняя версия Android Studio.
- Устройство Android или эмулятор с уровнем API 26 или выше
Функции, которые вы освоите:
- Как настроить проект Firebase с помощью Firebase PNV
- Используйте Firebase PNV в тестовом режиме, чтобы создавать прототипы без платежного аккаунта или реальной SIM-карты.
- Интегрируйте Firebase PNV SDK в приложение для Android.
- Как подтвердить номер телефона с помощью API для одного звонка
- Подготовьте рабочую версию приложения.
2. Как настроить пример проекта
Создать проект Firebase
- Войдите в консоль Firebase, используя аккаунт Google.
- Нажмите кнопку, чтобы создать новый проект, и введите его название (например,
Tera Bites).
- Нажмите Продолжить.
- Если появится запрос, ознакомьтесь с условиями использования Firebase и примите их, а затем нажмите Продолжить.
- (Необязательно.) Включите помощь от ИИ в консоли Firebase (Gemini в Firebase).
- Для этой практической работы Google Аналитика не нужна, поэтому отключите ее.
- Нажмите Создать проект, дождитесь его инициализации и нажмите Продолжить.
Как скачать код
Выполните следующие команды, чтобы клонировать образец кода для этой практической работы:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
Откройте каталог firebase-pnv-android в Android Studio.
Как подключить проект для Android к Firebase
- В консоли Firebase в центре страницы обзора проекта нажмите на значок Android или Добавить приложение, чтобы запустить процесс создания приложения.
- В поле Название пакета Android введите название пакета приложения:
com.google.firebase.example.fpnv. - Нажмите Register app (Зарегистрировать приложение).
- Следуйте инструкциям, чтобы скачать файл
google-services.json, и переместите его в каталогapp/скачанного кода. - Нажмите Далее.
Как включить Firebase AI Logic
В этой практической работе для создания голосового ИИ-агента используется Firebase AI Logic. Чтобы включить Firebase AI Logic в проекте Firebase:
- В консоли Firebase выберите Сервисы ИИ > Логика ИИ.
- Нажмите Начать.
- Чтобы использовать Gemini Developer API, нажмите Начать работу с этим API.
- Выполните остальные шаги настройки.
3. Как настроить Firebase PNV в тестовом режиме
В тестовом режиме можно подтвердить фиктивный номер телефона с помощью тестового токена.
Как присоединиться к программе бета-тестирования системных служб Google
Чтобы использовать тестовый режим, зарегистрируйте устройство для разработки в бета-канале системных сервисов Google:
- Перейдите на страницу Тестирование приложений Android – системные сервисы Google.
- Нажмите Участвовать в тестировании.
Теперь вы участвуете в бета-тестировании системных служб Google.
Добавьте зависимость Firebase PNV
В базе кода проекта для Android зависимости для библиотек Firebase PNV и Firebase AI Logic уже определены в файле :
[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" }
В файле Gradle модуля (на уровне приложения), который обычно называется , объявите зависимость для библиотеки Firebase PNV:
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
Как создать тестовый токен
- В консоли Firebase выберите Безопасность > Подтверждение номера телефона.
- Откройте вкладку Тестирование.
- Выберите код страны для номера телефона, который вы будете использовать для тестирования, и нажмите Создать токен.
- Скопируйте сгенерированную строку токена.
Как включить тестовый сеанс в коде
- Вернитесь к проекту для Android, откройте файл
ChatViewModel.ktи найдите функциюverifyPhoneNumber(). - Инициализируйте клиент
FirebasePhoneNumberVerificationи включите тестовый сеанс, вставив токен, скопированный из консоли 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. Запустите приложение
После того как вы реализовали PNV Firebase, запустите приложение.
- В Android Studio нажмите Run (Запустить), чтобы запустить приложение в эмуляторе Android или на физическом устройстве.
- После запуска приложения вы увидите экран, похожий на этот:

- Нажмите Начать звонок и представьтесь.

- ИИ-агент должен запросить у вас информацию о бронировании. После того как вы введете данные, на экране появится запрос на подтверждение номера телефона:

- После этого вы увидите экран с подтверждением:

- Чтобы завершить звонок, нажмите Завершить сеанс.
5. Как перейти в рабочий режим (необязательно)
Как перейти на платный тарифный план Firebase
Чтобы использовать Firebase PNV в рабочем режиме, для проекта Firebase должен быть выбран план с оплатой по мере использования (Blaze), а значит, он должен быть связан с платежным аккаунтом Cloud.
- Для платежного аккаунта Cloud требуется способ оплаты, например кредитная карта.
- Во время специальных акций или если вы проходите эту практическую работу в рамках мероприятия, могут быть доступны кредиты Google Cloud.
- Если вы раньше не работали с Firebase и Google Cloud, проверьте, можете ли вы получить бонус в размере 300 долларов США и бесплатный пробный платежный аккаунт Cloud.
Чтобы перейти на тарифный план Blaze, выполните следующие действия:
- В консоли Firebase выберите переход на другой тарифный план.
- Выберите тарифный план Blaze. Следуйте инструкциям на экране, чтобы связать платежный аккаунт Cloud с проектом.
- Если вы используете для этой практической работы кредиты Google Cloud, то платежный аккаунт, скорее всего, называется
Google Cloud Platform Trial Billing AccountилиMy Billing Account. - Если вам пришлось создать платежный аккаунт Cloud в рамках обновления, возможно, вам потребуется вернуться к процессу обновления в консоли Firebase, чтобы завершить его.
- Если вы используете для этой практической работы кредиты Google Cloud, то платежный аккаунт, скорее всего, называется
Как включить режим производства PNV в Firebase
- Добавьте цифровой отпечаток SHA-256 приложения:
- В консоли Firebase выберите Настройки > Общие.
- Прокрутите вниз до карточки Ваши приложения и найдите нужное приложение для Android.
- В поле Цифровые отпечатки сертификата SHA добавьте отпечаток SHA-256. О том, как получить цифровой отпечаток сертификата SHA-256 для приложения, можно прочитать в разделе об аутентификации клиентов.
- Вернитесь в раздел Безопасность > Подтверждение номера телефона.
- Нажмите Настроить производственную среду. Вы увидите список приложений в проекте, которые будут включены для производства, и сможете добавить другие приложения.
- Отправьте приложение на подтверждение соответствия бренду по протоколу OAuth и проверку политики конфиденциальности. Google Cloud проверит, что вы четко и точно указали название приложения и его политику конфиденциальности.
Чтобы начать проверку, нажмите Перейти в Google Cloud. Иногда это занимает 24 часа или больше. - Пока вы ждете подтверждения бренда, ознакомьтесь с дополнительными условиями использования сервиса PNV в Firebase, ссылка на которые есть в консоли.
- После того как приложение пройдет проверку бренда, установите флажок, чтобы подтвердить согласие с условиями использования сервиса, и нажмите Включить.
Firebase PNV теперь активен в производственном режиме.
Как удалить тестовый код
В проекте для Android удалите строку fpnv.enableTestSession(...).
Как перейти с Firebase AI Logic на платформу агентов
Если в вашем платежном аккаунте есть средства, вы не сможете использовать их для Gemini Developer API. Однако их можно использовать с Gemini API платформы агентов.
- В консоли Firebase выберите Сервисы ИИ > Логика ИИ.
- Нажмите Настройки.
- В разделе Agent Platform Gemini API нажмите Включить.
- В проекте для Android измените инициализацию Firebase AI Logic, чтобы использовать серверную часть Agent Platform вместо ИИ от Google.
val model = Firebase.ai( backend = GenerativeBackend.agentPlatform(location = "us-central1") ).liveModel( modelName = "gemini-live-2.5-flash-native-audio", // ... other configuration )
6. Поздравляем!
Вы успешно интегрировали подтверждение номера телефона Firebase в приложение для Android.
Что мы обсудили
- Как настроить проект для Firebase PNV
- Использование тестового режима для создания прототипов.
- Реализация API Firebase для однократного вызова PNV.
- Переход в рабочий режим.
Дальнейшие действия
- Подробнее о том, как настроить процесс подтверждения номера телефона в Firebase…
- Подробнее о том, как проверить токены PNV Firebase…
- Проверьте цены и квоты.