当您准备好发布应用并让真实最终用户与应用的 AI 功能互动时,请务必查看此最佳实践和重要注意事项清单。
常规
查看一般发布核对清单
在将任何 Firebase 应用发布到生产环境之前,请查看 Firebase 发布核对清单,了解重要的最佳实践。
遵循 Firebase 项目的最佳实践
使用单独的 Firebase 项目进行开发、测试和生产。查看有关管理项目的更多最佳实践。
访问权限和安全
查看安全防护核对清单
查看 Firebase 安全核对清单和专门针对 Firebase AI Logic 的安全核对清单,了解有关访问权限和安全性的重要最佳实践。
强制执行 Firebase App Check
强制执行 Firebase App Check 可帮助保护 Gemini API 免遭滥用(当它直接从您的应用中调用时)。强制执行 App Check 时,它会验证传入的请求是否来自您的正版应用和/或未经篡改的设备。
App Check 支持 Apple 平台(DeviceCheck、App Attest 或 reCAPTCHA Enterprise)、Android(Play Integrity 或 reCAPTCHA Enterprise)和 Web (reCAPTCHA Enterprise) 的证明提供方。它还支持 Flutter 和 Unity 应用的所有这些提供方。
此外,请考虑强制执行重放攻击防范,这意味着令牌只能一次性使用。此选项提供超出基准保护的增强型保护,可让您为应用和用例设置适当的保护级别。
为 Firebase API 密钥设置限制
Firebase API 密钥用于在发出请求时标识您的 Firebase 项目和应用。为防止 API 密钥被未经授权地使用,请执行以下操作:
在 Google Cloud 控制台中设置“应用限制”,以将密钥使用范围限制为仅限来自应用的特定软件包 ID (Apple)、软件包名称和 SHA-1 指纹 (Android) 或 HTTP 引荐来源网址 (Web) 的请求。
查看每个密钥的 “API 限制”许可名单:
- 确保 Firebase AI Logic API (
firebasevertexai.googleapis.com) 在许可名单中。 - 确保许可名单中仅包含您的应用所需的特定 Firebase 服务。请参阅受限 Firebase 密钥所需的 API 列表。
- 确保 Firebase AI Logic API (
请注意,Firebase 相关 API 仅使用 API 密钥来标识 Firebase 项目或应用,不用于授权调用 API。
限制请求,仅允许经过身份验证的用户提出请求
考虑强制执行“已通过身份验证的用户”模式,以便通过 Firebase AI Logic 发出的所有请求都必须包含来自 Firebase Authentication 的有效凭据。如果请求来自未经身份验证的最终用户,则系统会拒绝该请求并返回 401: unauthenticated 错误。
监控、限制和结算
在 Firebase 控制台中设置 AI 监控
在 Firebase 控制台中设置 AI 监控,以便了解请求数、延迟时间、token 使用情况和错误率等关键性能指标。您还可以在 Google Cloud 控制台中检查各个轨迹。
设置速率限制和管理配额
保护您的项目免遭意外使用量高峰和钱包拒绝服务攻击:
- 设置每个用户的速率限制(默认值为 100 RPM),以防止单个客户端实例消耗过多的配额。
- 在 Google Cloud 控制台中查看和管理每个底层 API 的项目配额。
通过提醒和支出上限避免出现意外费用
如果您的 Firebase 项目采用的是随用随付 Blaze 定价方案:
配置管理
在生产应用中使用稳定版模型
在正式版应用中,请仅使用稳定模型版本(例如 gemini-3.8-flash)。请勿使用预览版、实验版或 -latest
使用 Firebase Remote Config 或服务器提示模板
使用 Remote Config 或服务器提示模板时,您可以在云端(服务器端)控制应用 AI 功能的重要配置,而不是在代码中对值进行硬编码。这意味着您可以在不发布新应用版本的情况下更新配置。
(强烈建议)随着新模型的发布或旧模型的关闭,根据需要更改用于 AI 功能的模型名称。详细了解如何使用 Remote Config 或服务器提示模板。
(可选)动态甚至有条件地控制 AI 功能的其他参数,例如模型配置(如输出 token 数量上限)、安全设置、系统指令和提示数据。 详细了解如何使用 Remote Config 或服务器提示模板。
(可选)在 Remote Config 中设置
minimum_version参数,以将应用的当前版本与 Remote Config 定义的最新版本进行比较,从而向用户显示升级通知或强制用户升级。
设置访问模型的位置
| 仅在将 Agent Platform Gemini API (formerly Vertex AI) 用作 API 提供方时可用。 |
设置用于访问模型的地理位置,以帮助优化配额并防止用户遇到延迟问题。
如果您未指定位置,则默认值为 global(使用新的“Agent Platform”初始化语法时)。您可以在初始化期间设置此位置,也可以选择使用 Firebase Remote Config 根据每个用户的位置动态更改位置。