如何为调试和发布模式设置 Firebase Crashlytics
How to set up Firebase Crashlytics for Debug and Release mode
我想为调试和发布模式设置 crashlytics,但我在 firebase 文档中找不到合适的信息。
目前应用在一个项目中,只有一个crashlytics用于debug和release。我无法使用与前一个应用程序相同的包创建另一个应用程序。
另一种选择是让另一个项目与第一个项目具有相同的包,但由于 api 键和其他功能,我需要一个项目。
我有两个想法但没有解决方案:
- 一个项目 -> 两个应用程序(具有相同的包? -> 现在它不起作用) -> 两个 google-services.json 和 flavours。
- 一个项目 -> 一个应用程序 -> 两个用于调试和发布的 crashlytics 设置(怎么做?)
有没有人有一些技巧可以帮助解决这个问题?
两种选择都可以。然而,第一个会导致两个单独的 Firebase 项目,这不太容易管理。最好坚持使用一个 Firebase 项目和同一个应用程序。
简而言之:
包标识符应该不同,以区分一个项目中的调试和发布变体。我们可以通过使用构建类型来区分这一点。
接下来,可以将第二个标识符添加到Firebase项目中。 Crashlytics 将在应用程序中区分它们。
为此,我们可以执行以下操作。
1。在 Firebase 控制台
一个。转到项目设置。
b。使用以下配置添加 additional Android 应用程序:
- 应用标识符:
<app_identifier>.debug
- 名称://(任何内容),确保在末尾用
Debug
之类的东西标记它
c。注册此应用程序
d。下载 google-services.json
文件,我们将在下一步中用到它。
e。转到左侧菜单中的 Crashlytics 选项卡
f。为两个应用启用 Crashlytics
- 第二步按
Next
- 忽略第三步,构建代码即可启用
2。 Android 来源
一个。将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 将根据包标识符使用正确的标识符。
最后说明:不要忘记在 Crashlytics 选项卡中启用 Crashlytics Firebase 控制台(如步骤 1f 中所述)
我想为调试和发布模式设置 crashlytics,但我在 firebase 文档中找不到合适的信息。
目前应用在一个项目中,只有一个crashlytics用于debug和release。我无法使用与前一个应用程序相同的包创建另一个应用程序。 另一种选择是让另一个项目与第一个项目具有相同的包,但由于 api 键和其他功能,我需要一个项目。
我有两个想法但没有解决方案:
- 一个项目 -> 两个应用程序(具有相同的包? -> 现在它不起作用) -> 两个 google-services.json 和 flavours。
- 一个项目 -> 一个应用程序 -> 两个用于调试和发布的 crashlytics 设置(怎么做?)
有没有人有一些技巧可以帮助解决这个问题?
两种选择都可以。然而,第一个会导致两个单独的 Firebase 项目,这不太容易管理。最好坚持使用一个 Firebase 项目和同一个应用程序。
简而言之:
包标识符应该不同,以区分一个项目中的调试和发布变体。我们可以通过使用构建类型来区分这一点。
接下来,可以将第二个标识符添加到Firebase项目中。 Crashlytics 将在应用程序中区分它们。
为此,我们可以执行以下操作。
1。在 Firebase 控制台
一个。转到项目设置。
b。使用以下配置添加 additional Android 应用程序:
- 应用标识符:
<app_identifier>.debug
- 名称://(任何内容),确保在末尾用
Debug
之类的东西标记它
c。注册此应用程序
d。下载 google-services.json
文件,我们将在下一步中用到它。
e。转到左侧菜单中的 Crashlytics 选项卡
f。为两个应用启用 Crashlytics
- 第二步按
Next
- 忽略第三步,构建代码即可启用
2。 Android 来源
一个。将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 将根据包标识符使用正确的标识符。
最后说明:不要忘记在 Crashlytics 选项卡中启用 Crashlytics Firebase 控制台(如步骤 1f 中所述)