【问题标题】:Is there a way to create an audience of developer builds?有没有办法创建开发人员构建的受众?
【发布时间】:2016-05-26 01:46:24
【问题描述】:

我尝试在 Firebase Analytics 中建立受众群体,并将“应用版本”设置为“包含‘调试’”。我的应用程序的调试版本在版本名称字符串的末尾附加了“-debug”。

不过,当我运行该应用时,Firebase 会记录我的会话数据,但它不会为“调试受众”记录任何数据。

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

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

谢谢!

【问题讨论】:

  • 您可以使用“debug”标记从调试版本创建的用户,然后通过设置正确的受众来过滤他们。
  • 当您说“标记您的用户”时,您是什么意思? Audience 允许您根据预定义的事件或用户属性设置条件,并且“标签”不在其中
  • 对不起,可能是错误的术语,我是在 MS 平台上做的,它被称为标记。它在 Firebase 中为用户设置自定义属性。只需在这些用户上设置debug = true,以便稍后您可以过滤此受众,并根据您将要执行的操作包括或忽略。如果您不熟悉这个概念,这里也有一个链接:firebase.google.com/docs/analytics/android/…

标签: firebase firebase-analytics firebase-remote-config


【解决方案1】:

您可以为此使用 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 个用户属性的限制,因此您要牺牲其中一些数字来进行调试构建

【讨论】:

  • 这是很好的信息,谢谢!现在,有几个问题:如果用户在某个受众群体中,但他们获得了该自定义属性的更新值,他们是加入第二个受众群体(假设为第二个值设置了一个受众群体),还是切换受众群体,或者只是坚持第一?我刚刚完成了 Firebase 环聊,有人建议处理调试与生产的“最佳”方式是单独的项目。你同意吗?
  • 一旦用户进入受众群体,无论他们是否符合(或停止符合)这些条件,他们都不会再被删除。所以要回答你的问题,是的,他们最终会加入第二批观众,同时也会留在第一批观众中。就处理调试/生产的最佳方式而言,IMO 它实际上取决于您要实现的目标。我确实认为调试构建不是使用受众/用户属性的最合适的地方,因为对于调试构建,您通常可以在构建过程中为您处理它。
  • 好的,谢谢。我正在考虑使用特定于调试版本的远程配置的原因是我有 3 种用户变体 - 演示、广告支持和高级,它们根据是否支持 IAB 进行设置(超过 1/2 的观众来自 Google 不支持 IAB 的国家/地区的用户),或者他们是否已通过 IAP 进行升级。我可以做口味,但我至少有 5 种口味(3 种用于测试 + 2 种合法口味),我不喜欢那样。所以我正在尝试使用远程配置来设置我的用户类型,到目前为止它一直在发挥作用。迄今为止我找到的最佳解决方案。
  • 如果它工作正常,那么我说继续这样做 :) 我认为将 Analytics 用于调试类型的东西的犹豫是你不希望生产数据与来自调试构建使用的数据混合在一起(如果有的话)可能的。根据 Firebase Hangouts 的响应,您可以为调试版本使用不同的包名称,这样也可以将 Firebase 端的内容完全分开。
  • 我有一个后续问题,@AdamK - 你提到“一旦用户成为观众,他们将永远在那个观众中”。我很好奇在用户的上下文中“永远”有多长?例如,如果用户更换手机,或卸载应用程序然后重新安装,用户是否会在这些转换过程中持续存在,还是每个用户都是单独的用户?如果我在一个 Firebase 项目中有多个应用,该用户是否会在该项目的所有应用中出现在相同的受众群体中?
【解决方案2】:

要记住的一件事是,出于隐私原因,受众用户数的阈值低于 10 个用户。因此,如果您只是自己测试“调试”受众,那么您的受众有

【讨论】:

  • 现在这是一个很好的信息,可以轻松做出决定。我将创建多个项目。谢谢!
  • 如果 Firebase 中的任何人正在阅读仪表板,则应该更清楚地说明这一点。
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 2016-03-19
    • 2017-02-15
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多