项目中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。可能如果使用最新的版本这个问题不会出现,这个我也还没测试。
时间: 2024-10-07 05:02:18