Android Google Analytics
基础知识:
一个统计条目包含两类,一种是 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的更多相关文章
- Google Analytics Advanced Configuration - Google Analytics 高级配置
该文档提供了Android SDK v3的部分元素的高级配置说明. Overview - 概述 Android Google Analytics SDK提供了Tracker类,应用可以用它给Googl ...
- 使用 Google Analytics 跟踪 JavaScript 错误
Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...
- Android Google AdMob 广告接入示例
Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...
- Google Analytics电子商务篇(Universal版)
Google Analytics是一款用于统计分析网站流量.浏览行为,可用于衡量用户与您网站的互动情况的全新方式.最近刚接触不久,发现其功能真的十分强大,记录下电子商务配置方法.(新手,老鸟勿喷) G ...
- Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析
Google Analytics for Firebase Google Analytics for Firebase 是一款免费的应用评估解决方案,可提供关于应用使用和用户互动情况的数据分析.Fir ...
- Google Analytics Overview - Google Analytics 概述
该文档讨论了如何开始使用Google Analytics SDK for Android v3. Before you Begin - 在开始之前 在开始实现SDK之前,请确保有下面的东东: 1. ...
- 如何使用DTM将App事件发送到Google Analytics
本文分享于华为开发者论坛<如何使用DTM将App事件发送到Google Analytics>,可观看视频具体集成指导. 作为一名开发者或App运营人员,实时获取用户在App中的行为数据是日 ...
- 如何使用Google Analytics Universal Analytics增强型电子商务
Google Analytics: Universal Analytics增强型电子商务,可以让运营人员轻松地跟踪用户在其购物历程中与产品的互动,包括产品展示.产品点击.查看产品详情.将产品添加到购物 ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
随机推荐
- [leetcode]295. Find Median from Data Stream数据流的中位数
Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...
- linux文件管理2
1.显示文件内容 cat : 显示文件内容 tac : 倒序显示内容 2.更改文件权限 chmod :更改文件权限 -R 递归改变 chown :更改文件拥有者 -R 递归改变 chgrp :更改文件 ...
- Codeforces 709C 模拟
C. Letters Cyclic Shift time limit per test:1 second memory limit per test:256 megabytes input:stand ...
- makefile all
all:udps udpc udps:udpserv.c gcc -Wall -o udps udpserv.cudpc:udpclient.c gcc -Wall -o udpc udp ...
- 移动文件流的读写指针---fseek
函数原型:int fseek(FILE *stream,long offset,int origin) stream:文件指针, offset:偏移量,正数表示正向偏移,负数表示负向偏移.origin ...
- js如何实现网站title的滚动效果
var text=document.title;//获得页面的标题 var timerID;//定时器 function newtext() { ...
- 2018.07.08 POJ 2481 Cows(线段树)
Cows Time Limit: 3000MS Memory Limit: 65536K Description Farmer John's cows have discovered that the ...
- hdu-1141
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1141 参考文章:https://blog.csdn.net/fei____fei/article/de ...
- 实现字符串函数,strlen(),strcpy(),strcmp(),strcat()
实现字符串函数,strlen(),strcpy(),strcmp(),strcat() #include<stdio.h> #include<stdlib.h> int my_ ...
- 11.字符串{a,b}的幂集[回溯递归]
我一直在想着这个事,早晨起来五六点,躺在床上冥想.突然悟解了,真如某些书上写的,大道不过三言两语,说破一文不值.还是按照老方法,把问题最大程度的精简,现在求集合A={a,b}的幂集,只有两个元素,应该 ...