Android - настройка «firebase.test.lab» не исключает активность тестирования магазина игр из аналитики firebase - PullRequest
1 голос
/ 28 апреля 2020

Каждый раз, когда я загружаю новую версию в магазин Google Play, в течение примерно 10 минут на моей аналитической консоли Firebase регистрируется около 8 новых пользователей. Я еще не выпустил свое приложение публично, оно находится на закрытом тестовом треке, на котором больше никто не принимал участия. Единственной возможной причиной, по-видимому, является внутреннее тестирование со стороны Google, такое как отчеты перед запуском. Эти цифры действительно испортят мои аналитические данные, поэтому я бы хотел исключить этот трафик тестирования c из аналитики Firebase.

После того, как вы следовали предложениям из предыдущих вопросов, к сожалению, ни одно из упомянутых решений не исключает деятельность по тестированию

В моем AndroidManifest. xml после первой строки в теге приложения у меня есть:

<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

В начале onCreate () в моей MainActicity у меня есть:

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);, то никакая активность не будет зарегистрирована в Firebase консоль аналитики, которая показывает, что строка в AndroidManifest. xml правильно отключает аналитику, пока не будет запущена строка setAnalyticsCollectionEnabled(true);.

Кроме того, , даже если я отключаю предварительные отчеты регистрируется та же самая активность, около 8 пользователей в течение нескольких минут после загрузки релиза.

Как я могу предотвратить вход этой операции тестирования в аналитику firebase? Похоже, что решения в связанных сообщениях больше не работают.

...