gpt4 book ai didi

Android - "firebase.test.lab"设置无法从 Firebase 分析中排除 Play 商店测试 Activity

转载 作者:行者123 更新时间:2023-12-03 13:27:53 26 4
gpt4 key购买 nike

每次将新版本上传到 google play 商店时,我都会在大约 10 分钟内让大约 8 个新用户登录我的 Firebase 分析控制台。我还没有公开发布我的应用程序,它处于封闭的测试轨道上,没有其他人选择加入。唯一可能的原因似乎是谷歌的内部测试,例如发布前报告。这些数字真的会弄乱我的分析数据,所以我想从 Firebase 分析中排除这个测试流量。

在遵循这些先前问题中的建议后,不幸的是,所提到的解决方案都没有成功排除测试 Activity

  • How to prevent Play Store testing from affecting Firebase Analytics
  • Disable Google Analytics from Android pre-launch reports
  • Exclude testing device from Firebase Analytics logging

  • 在我的 AndroidManifest.xml 中应用程序标记的第一行之后,我有:
    <meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

    在我的 MainActicity 中 onCreate() 的开头,我有:
    if(!isTestDevice(this))
    {
    FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(true);
    }

    我有以下功能:
    public static boolean isTestDevice(Context context) {
    String testLabSetting = Settings.System.getString(context.getContentResolver(), "firebase.test.lab");
    return "true".equals(testLabSetting);
    }

    一开始我以为isTestDevice函数可能无法正常工作,所以我在我的主屏幕上添加了以下调试代码:
    if(isTestDevice(linearLayout.getContext())) {
    TextView testText = new TextView(linearLayout.getContext());
    testText.setText("TEST DEVICE");
    testText.setId(linearLayout.generateViewId());
    linearLayout.addView(testText, 0, params);

    TextView disabledText = new TextView(linearLayout.getContext());
    disabledText.setText("Analytics disabled");
    disabledText.setId(linearLayout.generateViewId());
    linearLayout.addView(disabledText, 0, params);
    }

    在发布前的报告截图中,我可以看到 isTestDevice 函数正在工作:

    Pre-launch report screenshot

    另外,如果我注释掉 setAnalyticsCollectionEnabled(true);行,然后没有任何 Activity 记录到 Firebase 分析控制台,这表明 AndroidManifest.xml 中的行正确地禁用了分析,直到 setAnalyticsCollectionEnabled(true);线开始运行。

    另外, 即使我禁用发布前报告 ,相同的 Activity 被记录下来,在上传版本后的几分钟内大约有 8 个用户。

    似乎正在记录的 Activity 来自预发布报告以外的其他来源,因为我可以从预发布屏幕截图中看到预发布设备被正确检测为测试设备,此外, Activity 仍然即使我关闭发布前报告也会被记录。但即便如此,该 Activity 仍会在上传版本后 10 分钟内记录下来。

    如何防止此测试 Activity 被登录到 Firebase 分析?似乎链接帖子中的解决方案不再有效。

    编辑:我的应用程序的一个主要功能是游戏。如果用户在游戏中得分超过一分,我现在基本上可以通过将分析设置为启用来解决这个问题。这有效地消除了机器人记录的所有流量,因为它们只是漫无目的地点击任何东西并且缺乏得分超过一分所需的任何情报。但这是一个非常糟糕的黑客,我想删除。

    最佳答案

    避免这种情况的唯一可靠方法是通过 IP 地址排除。正如您所发现的,禁用发布前报告并不会停止运行测试,因为我们使用来自这些测试的信息来检测应用程序的问题。

    关于Android - "firebase.test.lab"设置无法从 Firebase 分析中排除 Play 商店测试 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61478859/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com