本页面介绍了如何在生产环境中将 Firebase Phone Number Verification 与 Android 应用搭配使用。请参阅适用于 Android 的使用入门指南,了解如何在 Android 应用中使用无 SIM 卡测试模式测试 Firebase PNV。
启用生产模式后,只要设备具有受支持的硬件和受支持的运营商,您的应用就能够在实际设备上获取经过验证的电话号码。
准备工作
按照 Android 使用入门指南中的步骤,实现并测试 Firebase PNV 用户体验流程和后端集成。
您必须以项目成员身份登录 Firebase 控制台,并对应用的 Firebase 项目拥有 Owner 权限。
您必须在自己拥有的自定义网域上拥有可公开访问的首页和隐私权政策,才能完成 OAuth 品牌验证。您可以使用 Firebase Hosting 托管这些页面,前提是您关联了自定义网域,因为默认的
.web.app和.firebaseapp.com网域不适用于品牌验证。
1. 在应用客户端中停用测试模式
您的正式版客户端不得调用 enableTestSession()。
如果您按照开始使用中的说明操作,发布 build 已经跳过了 enableTestSession(),因为该调用仅在调试 build 中运行,而发布 build 会将 FPNV_TEST_TOKEN 设置为空值。确认您的发布 build 类型或变体均未设置 FPNV_TEST_TOKEN,并将发布 build 作为生产客户端进行分发。
如果您在其他位置调用 enableTestSession(),请从生产客户端中移除该调用:
Kotlin
fpnv.enableTestSession(/* token */) // Remove this.
您可以继续创建调用 enableTestSession() 的应用客户端的非公开开发 build。
请注意,在您完成下一部分中的步骤之前,电话号码验证功能无法在生产环境中使用。
2. 在项目中启用生产环境
请按照以下步骤为您的 Firebase 项目启用 Firebase PNV 生产模式:
为 Firebase Phone Number Verification API 配置 API 限制。
在 Google Cloud 控制台中,前往 API 和服务 > 凭证页面
打开您的 Android API 密钥,然后将 Firebase Phone Number Verification API 添加到所选 API 的列表中。
如果您尚未设置结算信息,请先设置结算信息。
Firebase PNV 需要采用随用随付 Blaze 定价方案。如果您尚未将项目升级到 Blaze 定价方案,系统会在设置生产模式期间提示您进行升级。
如果您尚未指定应用的 SHA-256 指纹,请进行指定。
在 Firebase 控制台中,前往
设置 > 常规标签页。向下滚动到您的应用卡片,选择您的 Android 应用,然后在 SHA 证书指纹字段中添加您的 SHA-256 指纹。
如需详细了解如何获取应用的 SHA-256 指纹,请参阅对客户端进行身份验证。
升级到生产模式。
在 Firebase 控制台中,依次前往安全 > 手机验证 > 概览标签页,然后选择正式版环境。
点击升级以用于生产环境。
您会看到项目中将启用正式版功能的应用列表,并有机会添加其他应用。
您必须提交应用以进行 OAuth 品牌验证和隐私权政策审核。Google Cloud 将验证您是否清晰准确地标识了您的应用及其隐私权政策。
如果您在 Firebase Hosting(或其他共享托管服务)上托管首页和隐私权政策,请确保:
- 关联您控制的自定义网域(例如
example.com或您拥有的网域的子网域)。共享托管域名(例如.web.app和.firebaseapp.com)无法通过域名所有权检查。 - 使用对您的 Google Cloud 项目具有 Owner 角色的账号登录,在 Google Search Console 中使用 DNS TXT 记录将自定义网域验证为网域资源(而非网址前缀资源)。
- 使用自定义网域在 Google Auth Platform 中配置首页网址、隐私权政策网址和已获授权的网域,并确保首页清晰显示应用名称、说明应用功能,并链接到隐私权政策。
如需开始审核,请点击在 Google Cloud 中继续。此过程有时可能需要 24 小时或更长时间。
- 关联您控制的自定义网域(例如
在等待品牌验证期间,请查看Firebase Phone Number Verification服务专用条款,这些条款可从Firebase控制台访问。
通过品牌验证后,勾选相应复选框以确认您已了解服务专用条款,然后点击启用。
Firebase Phone Number Verification 现已在生产模式下启用。