Google Android 的分析在两个标签下显示屏幕跟踪

Google Analytics for Android show screen tracking under two labels

我正在跟踪自定义标签下的 android 应用 activity 屏幕。但是,在 GA 仪表板中,活动显示时带有默认路径和自定义标签。此外,在相同 activity 的两个标签下跟踪的指标编号也不同。 附上屏幕截图以更好地说明: 这里的 MainActivityHome screen 指的是同一个 activity。但是 GA 显示两个单独的标签。我怎样才能去掉一个 MainActivity 标签?

您可能启用了自动屏幕跟踪。将其关闭,它应该会消失。

如果您以编程方式初始化它,请参阅 here for the description of the property if you use xml or here

您可以在代码中使用 enableAutoActivityTracking(false) 来关闭自动屏幕跟踪:

https://developers.google.com/android/reference/com/google/android/gms/analytics/Tracker#enableAutoActivityTracking(boolean)

或通过 XML 文件:

<bool name="ga_autoActivityTracking">false</bool>

https://developers.google.com/analytics/devguides/collection/android/v4/screens#automatic

可以使用以下方法手动跟踪事物:

fun trackScreen(context: Context, screenObject: Any, screenName: String? = null) {
        if (screenName == null)
            trackScreen(context, screenObject.javaClass)
        else
            trackScreen(context, screenObject.javaClass, screenName)
    }

fun trackScreen(context: Context, clazz: Class<Any>, screenName: String = clazz.simpleName) {
        if (BuildConfig.DEBUG)
            return
        val className = clazz.canonicalName ?: clazz.name
        FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
            param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
            param(FirebaseAnalytics.Param.SCREEN_CLASS, className)
        }
    }

所以你可以使用registerActivityLifecycleCallbacks并使用上面的函数,例如:

https://developer.android.com/reference/android/app/Application#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)