我想为调试和发布模式设置crashlytics,但在firebase文档中找不到正确的信息。
目前,该应用程序在一个项目中,只有一个crashlytics可以进行调试和发布。我无法使用与前一个程序包相同的程序包创建另一个应用程序。另一个选择是让另一个项目与第一个项目具有相同的软件包,但是由于api键和其他功能,我需要一个项目。
我有两个想法,但没有解决方案:
有人有一些技巧可以帮助解决此问题吗?
两个选项都是可能的。但是,第一个将导致两个单独的Firebase项目,这些项目难以管理。最好坚持一个Firebase项目并使用相同的应用程序。
简而言之:
包标识符应该不同,以使一个项目中的调试版本和发行版本有所不同。我们可以通过使用构建类型来区分它。
下一步,第二个标识符可以添加到Firebase项目中。 Crashlytics将在应用程序中对它们进行区分。
为此,我们可以执行以下操作。
a。转到项目设置。
b。添加具有以下配置的additional Android应用:
<app_identifier>.debug
Debug
c。注册此应用
d。下载google-services.json
文件,下一步将需要它。
e。转到左侧菜单中的Crashlytics选项卡
f。为两个应用程序启用Crashlytics
Next
a。将google-services.json
文件放在项目中(在app
文件夹下)->覆盖旧文件
b。打开app/build.gradle
文件。
android
块内,将显示buildTypes
。debug
构建类型,添加applicationIdSuffix '.debug'
(如果文件中不存在调试类型,则添加调试类型).debug
。c。结果,它看起来像这样:
android { // ... buildTypes { debug { applicationIdSuffix '.debug' } release { // ... } } }
3。完成!
发生崩溃,它将在Firebase Crashlytics中生成相应的应用程序。页面的左上角都有两个项目的下拉列表。
现在,Crashlytics
将在发送崩溃报告时自动使用正确的Firebase应用程序。这是可行的,因为google-services.json
实际上包含两种构建类型的配置。 Crashlytics将基于包标识符使用正确的一个。最后一点:
不要忘记在Firebase控制台的Crashlytics选项卡上启用Crashlytics(如步骤1f所述)