有没有办法创建开发人员构建的受众?

Is there a way to create an audience of developer builds?

我尝试在 Firebase Analytics 中创建一个受众,"App Version" 设置为 "contains 'debug'"。我的应用程序的调试版本在版本名称字符串的末尾附加了“-debug”。

当我 运行 应用程序时,虽然 Firebase 记录我的会话数据,但它不会记录任何 "debug audience."

我最终希望达到的是一个我可以使用远程配置的世界,创建我可以在测试中使用的配置项,但我不必担心在某些测试模式下不小心让配置处于活动状态我将应用程序直播。现在,我的解决方案是用 "if (!BuildConfig.DEBUG)" 包装所有调用以应用 Remote Config,但我肯定会忘记一次,并在 "isPremiumUser" 为所有用户设置为 true 或其他的情况下推送应用程序像那样愚蠢:).

有没有办法通过版本名称或任何其他方法来创建开发人员构建的受众?

谢谢!

您可以为此使用 Firebase Analytics 用户属性 (Android docs, iOS docs)。

Android 示例:

if (BuildConfig.DEBUG) {
    mFirebaseAnalytics.setUserProperty("debug_build", "true");
}

您还需要转到 Firebase 控制台并执行两件事:

  1. 分析 -> 用户属性 -> 新用户 属性 -> "debug_build"
  2. 分析 -> 受众 -> 新受众 -> 命名您的受众并为用户 属性 设置条件,其中 debug_build = "true"

现在在远程配置中,您可以根据新创建的观众设置条件。

注意几点:

  • 一旦用户在观众中,他们将永远在该观众中,因此即使您停止设置 属性 用户仍将是调试观众的一部分
  • 有 50 个受众和 25 个用户属性的限制,因此您要为调试版本牺牲其中一些数字

要记住的一件事是,出于隐私原因,观众用户数的阈值低于 10 个用户。因此,如果您只是自己测试 "debug" 观众,那么您的观众有 < 10 个用户,并且将显示“0”。以后会明确的。

如果您主要使用 Analytics,您还可以注册两个独立的 Firebase 项目,一个用于开发,一个用于生产。这将允许您在开发中进行试验 w/o 干扰生产数据。只是不要忘记在发布应用程序之前切换项目 ID。您也可以使用 Gradle 个目标来执行此操作。