Zak*_*rdi 29 android firebase google-cloud-platform
我的应用程序有多种口味.我应该如何设置这个服务器端?我的包名是:
com.example.app(制作)
com.example.app.staging(分期)
com.example.app.fake(假)
这应该是firebase控制台中的3个独立项目吗?
Ian*_*ber 24
主要取决于您希望项目的工作方式.您可以在同一控制台中设置所有三个,也可以设置为两个或更多不同的项目.这两个选项都有效.
同一项目的好处:
不同项目的好处:
如果使用多个项目,您可以利用构建类型支持,这将允许您google-services.json为不同版本提供不同的文件.如果使用一个项目,同样google-services.json适用于所有品种.
注意:正如CodyMace在评论中所说 - 记得每次添加应用程序时重新下载JSON文件!
在任何一种情况下,您都可以采取一些措施来最大限度地降低风险(例如,在您的数据库中使用dev/stage/prod/keys,并在下面有类似的结构),但对您来说有意义的主要是权衡.
如果您刚刚开始,我建议您在开发过程中从一个项目开始,一旦启动,请考虑将开发环境转移到单独的项目中.分段可以是两种方式.
请注意,我还没有完全尝试过,但在此处记录它以免在我得到它之前丢失它。
实际上并没有被迫使用 gradle 插件,它强制您为所有风格和构建类型拥有一个 firebase 项目。
这没有很好的记录,但是可以在FirebaseApp的文档顶部找到提示,在https://firebase.google.com/docs/configure/ 上可以找到更多提示
或者 initializeApp(Context, FirebaseOptions) 初始化默认应用程序实例。此方法应从应用程序调用。如果在应用程序的主进程之外使用,这也是必要的。
因此,google-services.json像往常一样获取mobilesdk_app_id和current_key(在 下api_key),这至少应该是 Google Analytics 跟踪所需的全部内容。使用该信息,在您的应用程序Application子类中针对您需要的变体运行以下内容:
FirebaseOptions options = new FirebaseOptions.Builder()
.setProjectId("<project_id>")
.setApplicationId("<mobilesdk_app_id>")
.setApiKey("<current_key>")
.build();
FirebaseApp.initializeApp(this, options);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9847 次 |
| 最近记录: |