Firebase项目google-services.json含多个API Key如何无需手动修改解决?
解决方案
以下三种方案都可以实现无需手动修改google-services.json文件:
方案1:Firebase控制台给应用绑定专属API Key(最推荐)
- 先进入GCP控制台
APIs and services -> Credentials路径,确认你已经为生产、开发应用分别创建了配置对应包名+SHA-1限制的独立API Key - 打开Firebase控制台进入对应项目,点击右上角齿轮图标进入「项目设置」
- 在「您的应用」列表中选中生产应用
com.app.example,下拉到页面底部的「API Key 配置」区域,选择提前创建好的生产环境专属API Key后保存 - 同理选中开发应用
com.app.example.dev,绑定开发环境专属API Key后保存 - 重新下载
google-services.json,此时每个应用节点下只会展示自身绑定的API Key,完全不需要手动修改
方案2:通过Android构建变体拆分配置文件
- 在Android项目的src目录下分别创建对应构建变体的子目录,把对应环境的配置文件单独存放,gradle会在构建时自动加载匹配的配置:
- 生产变体目录:
src/release/,存放仅包含生产配置的google-services.json - 开发变体目录:
src/debug/,存放仅包含开发配置的google-services.json
- 生产变体目录:
- 该方案不需要修改单份配置文件的内容,也能避免不同环境配置混淆
方案3:给API Key加严格应用限制
给每个API Key配置严格的包名+SHA-1签名使用限制,即使google-services.json中同时包含两个API Key,Firebase SDK运行时也会自动匹配当前应用有权限使用的Key,不需要手动删除冗余内容。
内容的提问来源于stack exchange,提问作者Luca Visentin
相关产品推荐
相关产品推荐

