基础知识:

一个统计条目包含两类,一种是 screen,另一种是 event。

  • Screen 包括 screen name。
  • Event 包括  category,action,label 和 value 四个信息。其中 value 只能是数值。

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

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

这个问题是发送hit(event/screen)太频繁,超出了Google的限制(每两分钟 60 hits)。解决办法是设置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)

AndroidManifest.xml

    <!-- Google Analytics required permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Optional permission for reliable local dispatching on non-Google Play devices -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- 以下写在application标签里 -->
    <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />

应该是localDispatchPeriod起的作用,也有可能是manifest里监测网络状态的权限起的作用,也有可能是receiver起的作用,这个要测试后才知道。

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

4. 创建 Mobile app property 时不使用 Firebase

默认创建 Mobile app property 时必须使用 Firebase。如果没有 Firebase 的话,只能创建 Website property,然后完成以下几步就可以改成 Mobile app property:

  1. Sign in to your Google Analytics account.
  2. Click Admin.
  3. In the PROPERTY column, select Create new property from the dropdown menu.
  4. Select Website.
  5. Provide a Website Name. You may use the name of your app.
  6. Provide a Website URL. You may use your company URL or the URL for your app’s marketing site.
  7. Click Get Tracking ID.
  8. In the VIEW column, select Create new view from the dropdown menu.
  9. Select Mobile app.
  10. Provide a Reporting View Name(ex: All Mobile App Data).
  11. Click Create View and delete the website property created previously.

Android Google Analytics的更多相关文章

  1. Google Analytics Advanced Configuration - Google Analytics 高级配置

    该文档提供了Android SDK v3的部分元素的高级配置说明. Overview - 概述 Android Google Analytics SDK提供了Tracker类,应用可以用它给Googl ...

  2. 使用 Google Analytics 跟踪 JavaScript 错误

    Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...

  3. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  4. Google Analytics电子商务篇(Universal版)

    Google Analytics是一款用于统计分析网站流量.浏览行为,可用于衡量用户与您网站的互动情况的全新方式.最近刚接触不久,发现其功能真的十分强大,记录下电子商务配置方法.(新手,老鸟勿喷) G ...

  5. Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析

    Google Analytics for Firebase Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析.Fir ...

  6. Google Analytics Overview - Google Analytics 概述

    该文档讨论了如何开始使用Google Analytics SDK for Android v3. Before you Begin - 在开始之前 在开始实现SDK之前,请确保有下面的东东: 1.  ...

  7. 如何使用DTM将App事件发送到Google Analytics

    本文分享于华为开发者论坛<如何使用DTM将App事件发送到Google Analytics>,可观看视频具体集成指导. 作为一名开发者或App运营人员,实时获取用户在App中的行为数据是日 ...

  8. 如何使用Google Analytics Universal Analytics增强型电子商务

    Google Analytics: Universal Analytics增强型电子商务,可以让运营人员轻松地跟踪用户在其购物历程中与产品的互动,包括产品展示.产品点击.查看产品详情.将产品添加到购物 ...

  9. SDK接入(2)之Android Google Play内支付(in-app Billing)接入

    SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...

随机推荐

  1. Raft 一致性算法论文译文

    本篇博客为著名的 RAFT 一致性算法论文的中文翻译,论文名为<In search of an Understandable Consensus Algorithm (Extended Vers ...

  2. JVM家族史考【转】

    说起Java虚拟机,许多Java程序员都会潜意识地把它与Sun(虽然太阳已然西落,但永远值得被记忆) HotSpot虚拟机等同看待,也许还有一些程序员会注意到BEA JRockit和IBM J9,但大 ...

  3. jQuery 操作 html5 data-* 属性

    Html 部分: <a class="nav-item" href="javascript: void(0)" data-id="{{$item ...

  4. Realtek 8192cu 支持 Android Hotspot 软ap

    http://www.cnblogs.com/bpasser/archive/2011/10/15/2213483.html Android 2.2 开始增加了WiFi Hotspot,可将Andro ...

  5. 2018.10.19 NOIP训练 游戏问题(分组背包)

    传送门 分组背包经典问题. 令f[i][j]f[i][j]f[i][j]表示前iii组花费为jjj的最优值. g[i][j]g[i][j]g[i][j]表示前iii组,第iii组已经支付了平台费用的最 ...

  6. 44 The shopping psychology 购物心理

    The shopping psychology 购物心理 ①People can be addicted to different things ---e. g.,alcohol, drugs, ce ...

  7. LVDS_IP仿真分析

    这个一个对tx_outclock移相180度后的仿真结果. tx_outclock的时钟沿与数据中心对齐. tx_coreclock时钟与inclock时钟频率相等,但有相差.

  8. DIV+CSS实战(四)

    一.说明 在上篇博文<DIV+CSS(三)>中,一个页面基本上展示出来了!下面实现以下页面上的一些功能,比方批量删除等功能.这里以批量删除为例,批量禁止,批量启用和批量删除差不多,只不过一 ...

  9. 全面理解iOS开发中的Scroll View[转]

    from:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方 ...

  10. 201709013工作日记--static理解 && abstract

    1.关于viewHolder设置成static的讨论 一般情况下是尽量不要使用static关键字,因为static一旦有引用变量指向了变量,使用完毕后而没有设置null,就会造成内存泄露,而且很难排查 ...