如何根据Android项目构建类型生产与暂存配置哨兵环境?

问题描述

我们正在研究基于Kotlin的Android项目,其中哨兵​​已经建立并正在运行。 我们想利用哨兵environment标签,以便能够区分生产登台问题。

我已经知道的是:

  1. 可以设置标签programmatically。但是,这不是我们追求的目标。
  2. 可以实现via the sentry-cli。但是,这也不是我们所追求的。
  3. 应该可以使用 sentry.properties 文件配置不同的环境标签。但是我不知道要使用which keywords吗? Where in the project structure放置different sentry.properties files
  4. 通过查看javascript文档,我怀疑应该有一种方法可以通过AndroidManifest.xml实现。有没有人设法使它像这样工作?

解决方法

您还可以在构建脚本中使用占位符,例如:

<meta-data android:name="io.sentry.environment" android:value="${environment}" />

然后在构建脚本中定义占位符:

android {
    buildTypes {
        getByName("debug") {
            manifestPlaceholders = mapOf(
                "environment" to "debug"
            )
        }
        getByName("release") {
            manifestPlaceholders = mapOf(
                "environment" to "release"
            )
        }
    }
}

此代码段使用的是kotlin kts文件,因此如果使用groovy,请对其进行修改。

,

我们可以通过配置来实现,请检查以下代码以编程方式添加标签:

Sentry.configureScope(scope -> {
      scope.setTag("Application Name",getString(R.string.app_name));
      scope.setTag("Variant",BuildConfig.BUILD_TYPE);
});

您将在哨兵面板上获得这些标签。 ;)

enter image description here

,

您可以通过AndroidManifest.xml进行设置(假设您使用的是SDK 2.0版或更高版本)。 Here's an example

<meta-data android:name="io.sentry.environment" android:value="staging" />

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...