首页 > 代码库 > Android Google Analytics

Android Google Analytics

项目中integrate了GA,碰到过一些问题:

1.Too many hits sent too quickly, rate limiting invoked

这个问题是发送hit(event/screen)太频繁,超出了Google的限制。解决办法是设置session timeout到一个合适的值,并且分段统一发送hit。

 

2.Google Play Services版本兼容问题

由于设备中Google Play Services版本太老,为了兼容只得使用一个很老版本的Google Play Services。

compile com.google.android.gms:play-services-base:6.5.87

这个版本中自带GA包,但包里不含AnalyticsReceiver和AnalyticsService。

 

3.网络断开后统计数据丢失

曾经出现过断网一段时间然后网络恢复之后数据丢失。不但断网期间的数据没有,而且网络恢复后的数据不再继续发送。

我更改了GoogleAnalytics Tracker的一些参数,但我还没开始测试具体是哪项设置起了作用,这一点有待之后补充。

注意以下是Kotlin代码

        analytics.setLocalDispatchPeriod(resources.getInteger(R.integer.ga_dispatchPeriod))
        if (BuildConfig.DEBUG) {
            analytics.logger.logLevel = com.google.android.gms.analytics.Logger.LogLevel.VERBOSE
//            analytics.setDryRun(true)
        }
        tracker = analytics.newTracker(applicationContext.resources.getString(R.string.ga_trackingId))
        tracker.setSessionTimeout(60)
        tracker.enableExceptionReporting(true)
        tracker.enableAdvertisingIdCollection(true)
        tracker.enableAutoActivityTracking(true)

应该是localDispatchPeriod起的作用,但是要测试后才知道。

当然这个问题可能是由于GoogleAnalytics的版本问题。需要更新Google Play Services。可能如果使用最新的版本这个问题不会出现,这个我也还没测试。

 

Android Google Analytics