Android 集成 Google Analytics 填坑

Google AnalyticsGoogle 推出的应用数据统计实施方案,功能可以说是应有尽有。而且对于 Android 开发来说,使用 Google 自家的统计分析,是不是也非常的名正言顺。

image.png

但是,对于中国用户来说,我们没发正常使用 Google Service 的,这个是否会影响我们对 Google Analytics 的集成呢?似乎 Google 也考虑到来天朝这个尴尬的问题,所以在集成的文档中有着额外的说明:

注意:Google Analytics(分析)可在不带 Google Play 服务的设备上使用并正常工作。在这种情况下,您仍需下载并使用 Google Play 服务 SDK,而 Google Analytics(分析)将会自动回退为使用本地调度。 了解如何更新项目的清单文件,以便在非 Google Play 设备上启用后台调度

对了,有个事儿忘记说了,官方集成文档支持中文了,所以按着文档一步一步来就好了,so,接下来开始讲解集成过程中可能出现的坑。

依赖的版本问题

根据文档,在项目的 build.gradle 中添加依赖:
classpath 'com.google.gms:google-services:3.0.0' ,然后在对应的model的build.gradle 顶部中添加 apply plugin: 'com.google.gms.google-services',然后添加具体依赖:compile 'com.google.android.gms:play-services-analytics:9.2.0'。是不是很简单很简单的?我一开始也是这样认为的,一刷新同步 gradle 立马就会提示你:

Error:Execution failed for task ':app:process_testReleaseGoogleServices'.
Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.

惊喜不惊喜,意外不意外,居然告诉我版本冲突了,那就协调版本呗,最后你就会把 9.2.0 降到 9.0.0 ,然后编译没问题了。

应用崩溃

但是你还没有开始得意的时候就会发现,应用启动会有一些错误信息:Firebase API initialization failure.接着应用可能会闪退,没有任何征兆的崩掉:Method 'void android.support.v4.c.d.<init>()' is inaccessible to class 'com.google.firebase.iid.zzg' 感觉被 Google 亲爹给活生生的坑了一把,所以,这个版本一定要升上去的,不然这个奔溃是没法解决的。

这里再说说搜索的先后问题,因为出现了奔溃的问题,我一心思就在搜索这个奔溃异常相关,但是出来的结果全是 Firebase 相关的,可是这个不是我直接想要的问题啊,但是这里可以确定 GAFirebase 是有一些瓜葛的,后面我都去研究 FirebaseAnalytic 集成了,就在这个时候,我发现了一个有趣的问题:

image.png

官方Demo里面居然是把这个 plugin 写在最下面的,我也跟着试了下咯,结果还真的解决了,导致版本无法升级的原因就是在Model 里面加入的 apply plugin: 'com.google.gms.google-services'的位置,这个不能放在上面,而是要放在最下面。就是这个问题,挪了位置就会一片晴天。这一点在官方文档上面并没有明确说明。可能好多童鞋可能和我一样都习惯的加在最上面,肯定会被坑得不要不要的。
最后我再尝试去搜了下刚刚版本冲突的关键字,结果答案一下就出来了:https://stackoverflow.com/questions/38127053/google-play-services-gcm-9-2-0-asks-to-update-back-to-9-0-0

至于怎么添加屏幕事件,统计什么的,看官方文档就好了,都是支持中文的了,没有什么难度。简单总结下,其实上面的两个问题就是版本的问题,将版本升级到最新,就没有任何问题了,而在升级过程中提示版本冲突,而最终解决版本冲突的问题就是将apply plugin: 'com.google.gms.google-services'放到最后面。

配置文件

image.png

这里输入你的应用名称,包名之后,就可以下载配置文件了。下载了 google-services.json 按要求放好,这里的 R.xml.global_tracker 就会自动生成的。

synchronized public Tracker getDefaultTracker() {
    // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
    if (mTracker == null) {
        mTracker = sAnalytics.newTracker(R.xml.global_tracker);
        mTracker.enableExceptionReporting(true);
        mTracker.enableAutoActivityTracking(false);
    }

    return mTracker;
}

如果没有自动生成呢?可能就是你的文件有问题咯,最后实在不行,它还有一个方法直接传入你的追踪ID:

 mTracker = sAnalytics.newTracker("UA-123456789-0");

自定义维度

WechatIMG3501.jpeg

右边这个代码明显就是唬人的啦。

// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("Home Screen");

// Send the custom dimension value with a screen view.
// Note that the value only needs to be sent once.
t.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "premiumUser")
    .build()
);

这个到底要发送多少次,完全看你定义的维度的范围啦,如果统计应用渠道,那么范围设置为「会话」,就在第一个页面统计一次就好了。但是一定要统计一个screen,单发会没有效果的。还有后台可能会有延迟,别着急。

参考文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容