适用于Android的Google Analytics.接收通知的用户被视为活动用户

Jav*_*ado 6 android google-analytics firebase firebase-notifications

我在我的应用中使用了Google Analytics(分析),而且工作正常.但是,如果我每天有100个活跃用户,然后我发送通知,则我将1000个连接用户的峰值计为"活动".

我不知道是否有一种简单的方法可以防止这些用户被视为活动用户.他们中的大多数人不会打开通知,我不希望他们算作活动.我想只计算打开应用程序的用户,而不是所有收到通知的用户.

我在发送的通知中使用"body"字段,并在应用程序中创建自定义通知.

是否可以删除这些"活跃"用户?

非常感谢你!

Kar*_*i R 2

每当您的应用程序收到新的通知时,OnCreate()都会调用应用程序方法。

不仅是通知,甚至当您订阅 ACCESS_WIFI_STATE、ACCESS_NETWORK_STATE、RECEIVE_SMS、RECEIVE_BOOT_COMPLETED 等系统事件时。应用程序 OnCreate() 将被调用。

因此,在您的 Application 内OnCreate(),不要进行任何与 Google Analytics 相关的调用。这将初始化您的 GA 并开始事件跟踪。

删除应用程序中与 Google Analytics 相关的代码OnCreate(),以防止不必要的事件跟踪。

更新:

https://developers.google.com/analytics/devguides/collection/android/v4/advanced

getInstance(Context context)
获取GoogleAnalytics实例,并在必要时创建它。


围绕此的多种实施方式;我向您推荐以下方法来解决您的问题。正如文档所述,仅在需要时才准备 GoogleAnalytics 实例。

将以下代码保留在您的 Application 类中,以便您的mTracker实例在整个应用程序生命周期中保持活动状态。

// Inside Application class
private Tracker mTracker = null;
public synchronized Tracker getDefaultTracker() {
    if (mTracker == null) {
        // Prepare the GoogleAnalytics instance, only when it is needed.
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        mTracker = analytics.newTracker(Config.GA_TRACKING_ID);
        mTracker.enableAutoActivityTracking(true);
        mTracker.enableExceptionReporting(true);
        mTracker.setSessionTimeout(SESSION_TIMEOUT);
    }
    return mTracker;
}
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你..