如何为调试和发布模式设置Firebase Crashlytics

问题描述 投票:0回答:1

我想为调试和发布模式设置crashlytics,但在firebase文档中找不到正确的信息。

目前,该应用程序在一个项目中,只有一个crashlytics可以进行调试和发布。我无法使用与前一个程序包相同的程序包创建另一个应用程序。另一个选择是让另一个项目与第一个项目具有相同的软件包,但是由于api键和其他功能,我需要一个项目。

我有两个想法,但没有解决方案:

  1. 一个项目->两个应用程序(具有相同的软件包?->目前不起作用)->两个google-services.json和flavours。
  2. 一个项目->一个应用程序->调试和发布两种崩溃解析程序(该怎么做?)

有人有一些技巧可以帮助解决此问题吗?

android firebase crashlytics android-productflavors
1个回答
0
投票

两个选项都是可能的。但是,第一个将导致两个单独的Firebase项目,这些项目难以管理。最好坚持一个Firebase项目并使用相同的应用程序。

简而言之:

包标识符应该不同,以使一个项目中的调试版本和发行版本有所不同。我们可以通过使用构建类型来区分它。

下一步,第二个标识符可以添加到Firebase项目中。 Crashlytics将在应用程序中对它们进行区分。


为此,我们可以执行以下操作。

1。在Firebase控制台

a。转到项目设置。

b。添加具有以下配置的additional Android应用:

  • 应用程序标识符:<app_identifier>.debug
  • 名称://(任何内容),请确保在其末尾标记为Debug

c。注册此应用

d。下载google-services.json文件,下一步将需要它。

e。转到左侧菜单中的Crashlytics选项卡

f。为两个应用程序启用Crashlytics

  • 在第二步按Next
  • 忽略第三步,构建代码将启用它

2。 Android源码

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所述)
© www.soinside.com 2019 - 2024. All rights reserved.