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

时间:2017-06-12 14:01:47

标签: android firebase google-analytics firebase-notifications

我在我的应用中使用Google Analytics(分析),它可以正确使用。但是,如果我每天有100个活跃用户,然后我发送通知,则我将1000个连接用户的峰值计为“活动”。

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

我在发送的通知中使用“正文”字段,并在应用中创建自定义通知。

是否可以删除这些“有效”用户?

非常感谢!

1 个答案:

答案 0 :(得分:2)

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

不仅是通知,即使您订阅了ACCESS_WIFI_STATE,ACCESS_NETWORK_STATE,RECEIVE_SMS,RECEIVE_BOOT_COMPLETED等系统事件,也会调用Application OnCreate()。

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

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

<强>更新

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

  

getInstance(上下文上下文)
  获取 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;
}

希望这会对你有所帮助..