Google Analytics detects Google Cloud Test Lab tests as Active Users and New Users

你离开我真会死。 提交于 2019-12-03 20:59:50

问题


I am using Google Analytics and I have seen that all the devices in the Cloud Test Lab are detected as "active users" and "new users" (which makes sense). Is there any way to detect this and do not count them ?

I see that they are not counted as installs in Google Play, so I would expect the same behaviour for Analytics.

It is possible to avoid this by uploading a different version to Alpha/Beta and Production with different tracking ids, but the Cloud Test Lab feature is much more powerful if the same Apk is promoted from Alpha/Beta to Production.


回答1:


Depends on what you mean by "not count them". If these cloud visits are identifiable by source/medium or another unique parameter, I think best practice would be creating another view in which these visits are filtered out. Otherwise you could apply a segment to your standard view that excludes these visits.




回答2:


As mentioned, you can exclude analytics by the IP addresses listed in the page https://firebase.google.com/docs/test-lab/android/overview#and_mobile_advertising

Here is some code to handle this (requires apache commons-net) This should cover all the current cases.

NOTE: You'll only need to call this once at app start, since a Test Lab device won't change IP addresses and a NON Test Lab Device will not become one. I guess this kinda assumes that the wifi connection is established also...

private static boolean isTestLabIpAddress(Context context) {
    WifiManager wm = (WifiManager) context.getApplicationContext().getSystemService(WIFI_SERVICE);
    String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());

    // Log.i(TAG, "isTestLabIpAddress: ip: " + ip); for diagnosis, you may want this temporarily to be able to check the TestLab device logcat logs

    // https://firebase.google.com/docs/test-lab/android/overview#and_mobile_advertising
    List<String> cidrAddrs = new ArrayList<>();

    //Physical devices
    cidrAddrs.add("108.177.6.0/23");

    //Virtual devices
    cidrAddrs.add("35.192.160.56/29");
    cidrAddrs.add("35.196.166.80/29");
    cidrAddrs.add("35.196.169.240/29");
    cidrAddrs.add("35.203.128.0/28");
    cidrAddrs.add("35.234.176.160/28");
    cidrAddrs.add("199.192.115.0/30");
    cidrAddrs.add("199.192.115.8/30");
    cidrAddrs.add("199.192.115.16/29");

    for (String cidrRange : cidrAddrs) {
        SubnetUtils utils = new SubnetUtils(cidrRange); // build.gradle - implementation 'commons-net:commons-net:3.6'
        boolean isInRange = utils.getInfo().isInRange(ip);
        if (isInRange) {
            //Log.d(TAG, "isTestLabIpAddress: true: " + ip);
            return true;
        }

    }
    return false;
}


来源:https://stackoverflow.com/questions/36182982/google-analytics-detects-google-cloud-test-lab-tests-as-active-users-and-new-use

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!