google analyctis for android 使用
1.说明
之前写过一篇关于1.x与2.x版本之前的差异对比,如果之前没有用过1.x版本可跳过。链接:Google Analytics SDK forAndroid
v2使用介绍1
在使用之前需要一个ID,用来接受你的应用数据。地址:https://www.google.com/analytics/web/
2.使用方法
2.1 首先需要如下权限,用来上传数据:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2.2 在Activity的onstart和onStop中分别添加如下代码:
public void onStart(){
super.onStart();
... // The rest of your onStart() code.
EasyTracker.getInstance().activityStart(this);// Add this method.
}
@Override
public void onStop() {
super.onStop();
… // The rest of your onStop() code.
EasyTracker.getInstance().activityStop(this); // Add this method.
}
2.3 在res/values目录下创建analytics.xml文件并加入类似下面的代码,EasyTracker提供了多个配置参数,可以按自己的需求来添加,所有参数地址为:analytics.xml parameters reference
<resourcesxmlns:tools="https://schemas.android.com/tools"
tools:ignore="TypographyDashes">
<!--Replace placeholder ID with your tracking ID-->
<stringname="ga_trackingId">UA-XXXX-Y</string>
<!--Enable Activity tracking-->
<boolname="ga_autoActivityTracking">true</bool>
<!--Enable automatic exception tracking-->
<boolname="ga_reportUncaughtExceptions">true</bool>
</resources>
3 追踪方法详解
3.1Dispatching 统计数据的发送
//1.1EasyTracker 添加<bool name="ga_autoActivityTracking">true</bool> 不设置默认为30
//1.2代码中设置 GAServiceManager.getInstance().setDispatchPeriod(60);
//2.手动发送: GAServiceManager.getInstance().dispatch();
3.2 获取Tracker实例
3.2.1.使用GoogleAnalytics获得Tracker的实例
//下面方法有两种情况
//1。如果实例中没有传入TrakerId的Tracker,下面方法会创建一个
//2。如果已经有对应TrakerId的Tracker,下面会取出改实例
Tracker tracker =
myInstance.getTracker("UA-36603750-2");//参数为申请到的TrakerId
3.2.2.使用EasyTracker获得Tracker的实例
EasyTracker.getTracker();// 确保analytics已经设置了ID
3.2.3.获取Default Tracker
Tracker tracker = myInstance.getDefaultTracker();
//设置Default Tracker
Tracker newDefaultTracker = myInstance.getTracker("trackingId");
myInstance.setDefaultTracker(newDefaultTracker);
End Default
3.2.4.说明:如果非EasyTracker实例,不使用EasyTracker时
myInstance.setDebug(true);
//2.如果想在程序里面某一段时间内停用或开启所有的事件最终可以使用下面代码来设置
myInstance.setAppOptOut(true);//or false
//下面代码是来处理,设置之后的回调
myInstance.requestAppOptOut(new AppOptOutCallback(){
@Override
public void reportAppOptOut(boolean optOut){
if(optOut){
}
}
});
//3.如果要设置AppVersion,设置其他的属性,类似下面
tracker.setAppVersion("your app version string");
//End 说明
}
3.3 事件追踪
mTracker.trackEvent(category, action, label, value);// 通过任意的tracker来追踪
3.4 界面追踪
* Screen 1.使用EasyTracker 1.1可以再analytics.xml设置<bool name="ga_autoActivityTracking">true</bool>来自动追踪
* 1.2或者使用EasyTracker.getInstance().activityStart/activityStop来追踪。
* 保证数据的完整性使用1.2更好 2.手动追踪 在onStart中使用如下方法,一般用来追踪Fragment与其他非Activity界面
*/
mTracker..trackView(screenName);
3.5 社交
* 追踪程序中社交相关操作
* @param network
* 社交网络的名称例如Google+
* @param action
* 操作,例如分享,转发
* @param target
* 可选参数,目标网址
*/
mTracker.trackSocial(network, action, target);
3.6 耗时追踪
* 最终耗时,比如加载图片等资源耗时
*
* @param category
* 事件的类别
* @param name
* 事件的名称,可选参数
* @param label
* 事件的标签,可选参数
* @param time
* 事件耗时
*/
mTracker..trackTiming(category, time, name, label);
3.7 来源追踪
// Campain Tracking
1.Google Play Campain : set receiver in mainfest 用来追踪程序从Google Play安装的信息
android:name="com.google.analytics.tracking.android.AnalyticsReceiver"
android:exported="true">
<intent-filter>
<actionandroid:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
2.Genaral Campaing Tracking 追踪其他应用或链接打开应用的数据,来源必须把campaign数据放在intent里面
*
* @param context
* @param campaign
字符串类似utm_campaign=general_campaign_test&utm_source=general_campaign_intsig&utm_medium=cpc&utm_term=general_campaign_intent_test&utm_content=ad_variation1
*/
mTracker..setCampaign(campaign);
<strong>3</strong>Referrer Tracking 追踪其他应用或链接打开应用的数据,来源必须把campaign数据放在intent里面
/**
*
* @param context
* @param referrer
* 功能和上面类似,不过参数没有上面严格,任意字符串都可以,不过最好指定,或者只用上面,不然可能会拿到很多无用的数据
*/
mTracker.setReferrer(referrer);
3.8�0�2Crashes and Exceptions 用来追踪程序的异常和崩溃数据,ga2.x增加功能
//2.追踪程序中未捕获的异常:
// 2.1 如果使用的是EastTracker可以在analytics.xml加上<bool name="ga_reportUncaughtExceptions">true</bool>;该值不设置默认为false
// 2.2 使用ExceptionReporter,使用方法如下:
UncaughtExceptionHandler myHandler = new ExceptionReporter(tracker, //Tracker的实例
GoogleAnalytics.getInstance(context),//GoogleAnalytics实例
Thread.getDefaultUncaughtExceptionHandler());//uncaught exception handler
Thread.setDefaultUncaughtExceptionHandler(myHandler);
// 结合2.2中如果要获得更多有用的异常等信息,可以通过自定义一个解析类继承ExcaptionParser,并把其实例设置到当前使用的Tracker中去如下:
ExceptionParser parser = new myParser(context);
myTracker.setExceptionParser(parser);
3.9 Ecommerce Track 用来追踪程序里面的交易数据
// 1.构建交易事务对象
// 2.构建交易条目对象,并添加到交易事务对象中
// 3.调用trackTransaction来提交追踪数据
/**
* 确保在交易完成时候提交这样的数据,不然会造成统计数据不准确,比如有一些未完成的订单混在已支付的订单中
*/
public void onPurchaseCompleted(){
//1 创建交易事务
Transaction myTrans = new Transaction.Builder("0_123456",// (String)
// 交易事务ID,唯一
(long)(2.16* 1000000))// (long) 订单总额
.setAffiliation("In-App Store")// (String) 订单来源
.setTotalTaxInMicros((long)(0.17* 1000000))// (long) 订单税率
.setShippingCostInMicros(0)// (long) 发运货用去金额
.build();
//2 添加交易条目
myTrans.addItem(new Item.Builder("L_789",// (String) 商品的 SKU
"Level Pack: Space", // (String) 商品名称
(long)(1.99* 1000000),// (long) 商品价格
(long)1)// (long)商品数量
.setProductCategory("Game expansions")// (String)商品类别
.build());
//3 提交数据
Tracker myTracker = getTracker();// 获取tracker引用.
myTracker.trackTransaction(myTrans);// 提交交易数据
}
// end Ecommerce Track
3.10 Session用户会话追踪,比如用户切换界面,登入登出等
//2大多数的时候需要手动追踪,比如用户等登入
myTracker.setStartSession(true);
myTracker.trackEcent("app_flow","sign_in","", null);
3.11 另外还有
//Custom Dimensions & Metrics 为下一个事件自定义参数,比如点击事件,screen事件等,自定义参数
https://developers.google.com/analytics/devguides/collection/android/?hl=zh-CN是谷歌官网给出的
googleanalytics的解释。其中也包含俩个例子。
现在我讲下googleanalytics 是如何使用的。
1、首先一定要是下载googleanalytics 的sdk 包。
https://developers.google.com/analytics/devguides/collection/android/resources?hl=zh-CN
2、接下来将下载的包导入到工程中,在manifest中加入权限。
<receiver
android:name="com.google.android.apps.analytics.AnalyticsReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
3、在googleanalytics 官网上注册用户,中文网址是
https://accounts.google.com/ServiceLogin?service=analytics&continue=https://www.google.com/analytics/web/?hl%3Dzh-CN%26pli%3D1%23report%2Fvisitors-overview%2Fa34574560w62155135p63695684%2F&followup=https://www.google.com/analytics/web/?hl%3Dzh-CN%26pli%3D1%23report%2Fvisitors-overview%2Fa34574560w62155135p63695684%2F
4、在注册完成后googleanalytics 会自动生成一个UAcode 给你,
Uacord
不要拿我的UACode做实验,因为你不会看到实验的结果的,不要懒自己去注册个。
5、开始在项目中增加google analytics,首先要在Activity oncreate的时候开始跟踪
tracker = GoogleAnalyticsTracker.getInstance();
tracker.startNewSession(UACODE, context);//UACODE就是上面注册时提供的
谷歌官网给我们提供四种跟踪事件的方式。
Pageview TrackingA pageview is a standard means to measure traffic volume to a traditional website. Because mobile apps don't contain HTML pages, you must decide when (and how often) to trigger a pageview request. Also, since pageview requests are designed to report on directory structures, you should provide descriptive names for the requests to take advantage of page path naming in the Content reports inAnalytics. The names you choose will be populated in yourAnalytics reports as page paths even though they are not actually HTML pages, but you can use this to your advantage by structuring paths to provide additional groupings for your calls.Event TrackingIn Analytics, events are designed to track user interaction to web page elements distinctly from pageview requests. You can use the Event Tracking feature ofGoogle Analytics to make additional calls that will be reported in the Event Tracking section of theAnalytics report interface. Events are grouped using categories and may also use per-event labels, which provides flexibility in reporting. For example, a multimedia app could could haveplay/stop/pause actions for its video category and assign a label for each video name. TheGoogle Analytics reports would then aggregate events for all events tagged with thevideo category. For more information on Event Tracking, see the Event Tracking GuideEcommerce TrackingUse the Ecommerce tracking feature to track shopping cart transactions and in-app purchases. To track a transaction, use the Transaction class to represent the overall purchase information as well as the Item class to represent each product in the shopping basket. Once collected, the data can then be viewed in the Ecommerce reporting section of theGoogle Analytics interface. For more information on Ecommerce Tracking, see theEcommerce Tracking Guide.Custom VariablesCustom variables are name-value pair tags that you can insert in your tracking code in order to refineGoogle Analytics tracking. For more information on how you can use custom variables, read theCustom Variable Guide.
以上是谷歌给我们四种跟踪方式的解释。下面是我运用时理解的意思
Pageview 页面跟踪
你可以跟踪你程序总共被打开的次数,或者哪个页面打开的次数,
例如tracker.trackPageView("/Start");在程序的入口添加记录总共程序被所有人打开过多少次。
Event 事件跟踪
一般用于像某个按钮的点击事件的跟踪,或者程序出错地方的跟踪。
例如 tracker.trackEvent(“Button_click”, // Category
"activity_new_btn", // Action
"", // Label
-1); // Value
其实这4个参数就是层级关系,如果想分的很细致的话就都填上你想要的参数,如果只是简单记录的话,用俩个层级就可以了。后俩位默认参数。
下面俩种跟踪在我这次项目中没有应用,一个是媒体跟踪,另外一个是自定义跟踪模式。这个就是根据项目需要吧,如果有会的希望能下回帖中补充下。
需要注意的是
tracker.startNewSession(UACODE, context);// 有俩种方式一种像这样的
tracker.startNewSession(UACODE,20,gaContext);//这是另外一种 中间的20代表20秒后上传此次事件。
但是谷歌建议使用第一种,因为要是第二种的话浪费资源需要时时监控。
但要是用第一的方式需要手动发送事件tracker.dispatch();
千万要在每次发出跟踪时加入tracker.dispatch();否则的话不会被上传到网上数据库中。
6、在google analytics 网站上查看自己的跟踪结果如下图
结果
以上就是我这几天对谷歌分析的理解,头一次写技术贴,写的不好,有不对的地方请赐教。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
@Override
public void onStart()
{
<wbr><span style="color:#0088">super</span><span style="color:#66660">.</span>onStart<span style="color:#66660">();</span><br><wbr><span style="color:#66660">...</span> <span style="color:#8800">// Your other onStart() code.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackView<span style="color:#66660">(</span><span style="color:#0880">"</span><span style="color:#0880">页面名称</span><span style="color:#0880">"</span><span style="color:#66660">);</span>
<wbr><span style="color:#8800">//可用参数传递页面名称,建议用英文,避免GA处理错误.</span><br><span style="color:#66660">}</span></wbr></wbr></wbr></wbr>
<?xml version="1.0" encoding="utf-8"
?>
<resources>
<wbr><span style="color:#8800"><!--添加GA跟踪ID--></span><br><wbr><span style="color:#0088"><string</span> <span style="color:#66066">name</span><span style="color:#66660">=</span><span style="color:#0880">"ga_trackingId"</span><span style="color:#0088">></span> UA-********-*
<wbr><span style="color:#0088"></string></span><br><br><wbr><span style="color:#8800"><!--自动跟踪Activity--></span><br><wbr><span style="color:#0088"><bool</span> <span style="color:#66066">name</span><span style="color:#66660">=</span><span style="color:#0880">"ga_autoActivityTracking"</span><span style="color:#0088">></span>true<span style="color:#0088"></bool></span><br><br><wbr><span style="color:#8800"><!--自动跟踪报告未捕获的异常情况--></span><br><wbr><span style="color:#0088"><bool</span> <span style="color:#66066">name</span><span style="color:#66660">=</span><span style="color:#0880">"ga_reportUncaughtExceptions<wbr>"</wbr></span><span style="color:#0088">></span>true<span style="color:#0088"></bool></span><br><span style="color:#0088"></resources></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<resources
xmlns:tools="https://schemas.android.com/tools"
tools:ignore="TypographyDashes">
3.1 <wbr></wbr>高级配置(Advanced Configuration):
1、 <wbr>设置多个跟踪I<span style="font-family:宋体">D,因为我暂时没用到,所以没有深入了解,仅提供下面链接供诸君查看</span></wbr>
https://developers.google.com/analytics/devguides/collection/android/v2/advanced
2、 <wbr>设置采样率:假如你的应用程序用户很多,每天的会话超过5万(这是web站的访问指标,应用程序不知道多少)的话,可以设置采样率,50%即每两次会话仅记录一次</wbr>
a、 <wbr>放在analytics.xml</wbr>
<string name="ga_sampleFrequency">50.0</string>
b、 <wbr>客户端采样:</wbr>
PS:每个应用程序的版本采样率需一致,否则需用过滤器进行版本区分。
3.2 <wbr><wbr><strong>广告追踪(Campaigns Tracking)</strong>:了解APP用户从哪里来,从哪里启动,了解并提高市场营销渠道价值</wbr></wbr>
1、 <wbr><strong>Google市场下载安装跟踪</strong>:可跟踪从何处(广告、网站、应用程序)进入Google市场下载安装,需采用Google市场内容页下载链接,并添加google参数,具体可用以下页面生成相应链接(这个网址竟然要翻*墙*,悲催啊)</wbr>
2、 <wbr>一般广告跟踪:查看哪些广告或流量来源启动您的应用程序</wbr>
3、 <wbr>Referer跟踪:启动您的程序的网站或应用程序</wbr>
3.3 <wbr></wbr>崩溃和异常(Crashes & Exceptions):
<wbr><wbr><wbr></wbr></wbr></wbr>1、 <wbr> 捕获(崩溃和异常)事件</wbr>
<wbr><wbr><wbr></wbr></wbr></wbr>字段:String(可选):描述(100字以内),可以为null,主要是描述异常情况;
<wbr><wbr><wbr><wbr><wbr>Boolean(true or false):标示异常情况是否致命的,true表示致命;</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr></wbr></wbr></wbr>异常情况:可预见的错误bug,偶尔的网络连接超时;
<wbr><wbr><wbr></wbr></wbr></wbr>例子:用户请求list of high scores 超时,可能是网络连接慢引起的,在反馈给用户前追踪这个异常情况;
<wbr><wbr><wbr>try</wbr></wbr></wbr>
{
<wbr><span style="color:#66066">ArrayList</span> highScores <span style="color:#66660">
=</span> getHighScores<span style="color:#66660">();</span> <span style="color:#8800">
// Get scores from the cloud</span><br><span style="color:#66660">}</span> <span style="color:#0088">catch</span> <span style="color:#66660">
(</span><span style="color:#66066">IOException</span> e<span style="color:#66660">)</span>
<span style="color:#66660">{</span><br><wbr><span style="color:#66066"><strong style="color:black">Tracker</strong></span> myTracker
<span style="color:#66660">=</span> <span style="color:#66066">EasyTracker</span><span style="color:#66660">.</span>getTracker<span style="color:#66660">();</span>
<span style="color:#8800">// Get a reference to <strong style="color:black">tracker</strong>.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackException<span style="color:#66660">(</span>e<span style="color:#66660">.</span>getMessage<span style="color:#66660">(),</span>
<span style="color:#0088">false</span><span style="color:#66660">);</span> <span style="color:#8800">
// false indicates non-fatal exception.</span><br><br><wbr><span style="color:#66660">...</span> <span style="color:#8800">// Display alert to user that high scores are currently unavailable.</span><br><span style="color:#66660">}</span> <wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>2、 <wbr>未捕获的异常情况跟踪(Uncaught Exception Tracking)</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>应用程序在运行过程中偶发的意外异常情况,通常是致命的,并且导致应用程序崩溃。
<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>有两种方法:EasyTracker or the ExceptionReporter,都可以自动记录这些异常。 <wbr></wbr>
1 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
2 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
3 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>2.1 <wbr><wbr>EasyTracker:将下面的代码加到analytics.xml</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><bool</wbr></wbr></wbr> name="ga_reportUncaughtExceptions<wbr>"</wbr>>true</bool>
<wbr><wbr><wbr></wbr></wbr></wbr>注意事项:所以的意外追踪都是自动的,在GA里面反映为致命错误
<wbr><wbr><wbr><wbr><wbr>例外追踪的描述是系统默认生成的。PS:可以用ExceptionParser来获取未捕获异常的相关描述。 <wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><strong><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></strong>ExceptionReporter:可以反馈默认的异常情况</wbr>
<wbr><wbr><wbr>UncaughtExceptionHandler<wbr></wbr></wbr></wbr></wbr> myHandler
= new
ExceptionReporter(
<wbr><wbr>myTracker<span style="color:#66660">,</span> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#8800">// Currently used <strong style="color:black">
Tracker</strong>.</span><br><wbr><wbr><span style="color:#66066">GoogleAnalytics</span><span style="color:#66660">.</span>getInstance<span style="color:#66660">(),</span>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#8800">// GoogleAnalytics singleton.</span><br><wbr><wbr><span style="color:#66066">Thread</span><span style="color:#66660">.</span>getDefaultUncaughtExcept<wbr>ionHandler<span style="color:#66660">());</span>
<wbr><wbr><span style="color:#8800">// Current default uncaught exception handler.</span><br><br><span style="color:#66066">Thread</span><span style="color:#66660">.</span>setDefaultUncaughtExcept<wbr>ionHandler<span style="color:#66660">(</span>myHandler<span style="color:#66660">);</span>
<span style="color:#8800">// Make myHandler the new default uncaught exception handler.</span>
<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr></wbr></wbr></wbr>3、ExceptionParser:获取未捕获异常的相关描述,只需用到一个方法:getDescription(String threadName,Throwable t)
<wbr><wbr><wbr>// Where myParser represents your implementation of ExceptionParser.</wbr></wbr></wbr>
ExceptionParser parser
= new myParser(context);
// Where myTracker is an instance ofTracker.
myTracker.setExceptionParser(parser);
1.4 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>自定义维度和指标(Dimensions& Metrics)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
1、 <wbr>自定义维度值:所有GA点击都可以设置维度值</wbr>
Tracker tracker = EasyTracker.getTracker(); <wbr><span style="color:#8800">// Get the <strong style="color:black">tracker</strong> object.</span><br><strong style="color:black">tracker</strong><span style="color:#66660">.</span>setCustomDimension<span style="color:#66660">(</span><span style="color:#06666">1</span><span style="color:#66660">,</span> <span style="color:#0880">"myValue"</span><span style="color:#66660">);</span> <wbr><wbr><span style="color:#8800">// Set the dimension value for index 1.</span><br><strong style="color:black">tracker</strong><span style="color:#66660">.</span>trackView<span style="color:#66660">();</span> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#8800">// Dimension value is associated and sent with this hit.</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
2、 <wbr>自定义指标值:</wbr>
Tracker tracker = EasyTracker.getTracker(); <wbr><span style="color:#8800">// Get the <strong style="color:black">tracker</strong> object.</span><br><strong style="color:black">tracker</strong><span style="color:#66660">.</span>setCustomMetric<span style="color:#66660">(</span><span style="color:#06666">1</span><span style="color:#66660">,</span> <span style="color:#06666">1</span><span style="color:#66660">);</span> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#8800">// Increment the metric at index 1.</span><br><strong style="color:black">tracker</strong><span style="color:#66660">.</span>trackView<span style="color:#66660">();</span> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#8800">// Metric value sent with this hit.</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
1.5 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><strong>调度(Dispatch)</strong>:任何点击或事件都是储存在本地队列,然后发送到GA;使用定期调度(periodic dispatch)&手动调度(manual dispatch)可以减少因网络不畅引起的发送GA不成功,也可以减少对设备电池寿命的影响。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
1.6 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>事件(Events):跟踪用户组件交互,例如按钮点击,微博分享等社交按钮</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
例子:按钮点击跟踪,添加到OnClickListener’s onClick 方法里面
@Override
public void onClick(View v)
{
<wbr><span style="color:#8800">// Where myTracker is an instance of<strong style="color:black">Tracker</strong>.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackEvent<span style="color:#66660">(</span><span style="color:#0880">"ui_action"</span><span style="color:#66660">,</span>
<span style="color:#0880">"button_press"</span><span style="color:#66660">,</span>
<span style="color:#0880">"play_button"</span><span style="color:#66660">,</span> opt_value<span style="color:#66660">);</span><br><wbr><span style="color:#66660">...</span> <span style="color:#8800">// Your other click handling code.</span></wbr></wbr></wbr>
1.7 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>屏幕(Screens):类似于网站的Pageview,主要用于屏幕报告,参与流,目标流</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
1、 <wbr>自动屏幕跟踪EasyTracker,可在analytics.xml设置ga_autoActivityTracking为true并且为所有Activity添加名称</wbr>
<-- Enable automatic Activity tracking -->
<bool name="ga_autoActivityTracking">true</bool>
<-- The screen names that will appear in your reporting -->
<string name="com.example.app.BaseActivity">Home</string>
<string name="com.example.app.PrefsActivity">Preferences</string>
2、 <wbr>手动屏幕跟踪Manual Screen Tracking:在使用EasyTracker的同时也可以用这个trackView()对一些活动屏幕或其他屏幕进行跟踪命名。PS:跟技术人员沟通,这个用在多个页面共用一个Activity的情况中。</wbr>
@Override
public void onStart()
{
<wbr><span style="color:#0088">super</span><span style="color:#66660">.</span>onStart<span style="color:#66660">();</span><br><wbr><span style="color:#66660">...</span> <span style="color:#8800">// Your other onStart() code.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackView<span style="color:#66660">(</span><span style="color:#0880">"Home Screen"</span><span style="color:#66660">);</span>
<span style="color:#8800">// Where myTracker is an instance of<strong style="color:black">Tracker</strong>.</span><br><span style="color:#66660">}</span></wbr></wbr></wbr>
1.8 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>会话(Sessions):等同于网站的访问visit,30分钟内的所有点击</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
在Activity被跟踪期间一直保持打开、且在处于非活动状态超过 30 秒后关闭的会话。开发人员也可以人工定制此限制条件。
1 <wbr></wbr>
1、 <wbr>自动会话管理:默认是30秒.可以在analytics.xml修改:</wbr>
<-- Set session time out to 60 seconds -- >
<wbr><span style="color:#0088"><integer</span> <span style="color:#66066">name</span><span style="color:#66660">=</span><span style="color:#0880">"ga_sessionTimeout"</span><span style="color:#0088">></span>60<span style="color:#0088"></integer></span></wbr>
1 <wbr><wbr></wbr></wbr>
2 <wbr><wbr></wbr></wbr>
3 <wbr><wbr></wbr></wbr>
4 <wbr><wbr></wbr></wbr>
5 <wbr><wbr></wbr></wbr>
5.1 <wbr><wbr></wbr></wbr>
2、 <wbr>手动会话管理:可与自动会话管理同时使用,通常是在用户登录成功后开始新用户,因为这时用户的状态变化或换了一个用户,这样做可以使报告更容易阅读:</wbr>
// Called after a user successfully signs in to your app.在登录成功的代码后面加上
private void onSignIn()
{
<wbr><span style="color:#66660">...</span> <span style="color:#8800">// The rest of your onSignIn() code.</span><br><wbr>myTracker<span style="color:#66660">.</span>setStartSession<span style="color:#66660">(</span><span style="color:#0088">true</span><span style="color:#66660">);</span>
<span style="color:#8800">// Where myTracker is an instance of<strong style="color:black">Tracker</strong>.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackEvent<span style="color:#66660">(</span><span style="color:#0880">"app_flow"</span><span style="color:#66660">,</span>
<span style="color:#0880">"sign_in"</span><span style="color:#66660">,</span> <span style="color:#0880">
""</span><span style="color:#66660">,</span> <span style="color:#0088">null</span><span style="color:#66660">);</span>
<span style="color:#8800">// First activity of new session.</span><br><span style="color:#66660">}</span></wbr></wbr></wbr>
1.9 <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>社交(Social Interactions):社交网络分享和推荐插件</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
trackSocial三个字段:
网络(String)——用户用的社交网络(e.g. Sina Weibo, Renren,Facebook,Twitter,Google+ etc.)
操作(String)——用社交按钮进行的操作(e.g. 喜欢,分享,赞,+1 etc.)
目标(可选String)——操作的内容(e.g. 一篇文章,一段视频 etc)
以下例子是跟踪在Twitter上面Tweet开发者分析主页的代码片段:
Tracker tracker = EasyTracker.getTracker(); <wbr><span style="color:#8800">// Get <strong style="color:black">tracker</strong> object.</span><br><strong style="color:black">tracker</strong><span style="color:#66660">.</span>trackSocial<span style="color:#66660">(</span><span style="color:#0880">"Twitter"</span><span style="color:#66660">,</span> <span style="color:#0880">"Tweet"</span><span style="color:#66660">,</span> <span style="color:#0880"> "<a href="https://developers.google.com/analytics">https://developers.google.com/analytics</a>"</span><span style="color:#66660">);</span> <wbr><span style="color:#8800">// Track social interaction.</span></wbr></wbr>
tracker.trackSocial("Sina Weibo", "分享", "+文章/视频/直播/+URL+Title");
tracker.trackSocial("RenRen", "分享", "+文章/视频/直播/+URL+Title");
<wbr></wbr>
1.10 <wbr><wbr><wbr><wbr><wbr><wbr>用户时间:下面主要是举例使用事件跟踪加载时间</wbr></wbr></wbr></wbr></wbr></wbr>
A timing in Google Analytics consists of the following fields:
String <wbr></wbr>类别– 时间事件的类别
long <wbr></wbr>时间间隔– 单位是毫秒
String <wbr>(</wbr>可选)名称– 时间事件的名称
String <wbr>(</wbr>可选) 标签 – 时间事件的标签
public
void onLoad(long loadTime)
{
<wbr><span style="color:#8800">// Where myTracker is an instance of<strong style="color:black">Tracker</strong>.</span><br><wbr>myTracker<span style="color:#66660">.</span>trackTiming<span style="color:#66660">(</span>loadTime<span style="color:#66660">,</span>
<span style="color:#0880">"resources"</span><span style="color:#66660">,</span> <span style="color:#0880">
"high_scores"</span><span style="color:#66660">,</span> <span style="color:#0088">
null</span><span style="color:#66660">);</span><br><wbr><span style="color:#66660">...</span> <span style="color:#8800">// The rest of your onLoad code.</span><br><span style="color:#66660">}</span></wbr></wbr></wbr>
相关推荐
google for android 最新的安卓版谷歌地球。
google map for android
【Documention for Android SDK】 文件超过上传限制,分割为2个部分, 下载后使用7zip解压. ① http://download.csdn.net/detail/joe9i0/4463138 ② http://download.csdn.net/detail/joe9i0/4463158 【Samples for ...
google Map for Android总结
google map for android源码
ArcGIS for Android 2.0版本中 关于读取本地紧凑数据和加载谷歌图层、天地图层。 使用之前请确保环境已搭好
To figure out the right version of Google Play services for your Android device, go to Settings -> Apps -> Google Play services, and look at the last 3 numbers in the parentheses. You'll see something...
An advantage of Processing for Android over more complex programming environments is the ability for users to focus on the interactions and visual output of their code rather than in the ...
优看PDFSDK For Android是优看科技出品的Android平台下PDF底层程序库,提供PDF及TXT阅读器最基础的功能,适合需要高级定制功能的开发者。优看PDF SDK For Android提供Android java接口,允许开发人员将PDF显示、TXT...
android使用谷歌地图(Android uses Google Maps),利用高德地图加载瓦片图层(Using Gaud map to load tile layer)
【Documention for Android SDK】 文件超过上传限制,分割为2个部分, 下载后使用7zip解压. ① http://download.csdn.net/detail/joe9i0/4463138 ② http://download.csdn.net/detail/joe9i0/4463158 【Samples for ...
This is the demo app for Chaquopy, the Python SDK for Android. You can install a Python 2 or Python 3 build of this app from Google Play. The app includes: A Python console for interactive ...
在使用Eclipse开发Android程序过程中,发现鼠标停放在想要查看帮助的类名上面,提示如下信息: Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found. 出现...
Google Play Store SDK for Android 直接下载后在手机上安装即可,
google地图SKD使用和google定位SDK使用
For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com. The Android robot is reproduced from work created and shared by Google and is used according to ...
apks for google play store installation for android
"The Matrix" face for Android Wear By Dheera Venkatraman http://dheera.net/ This project is released under the GNU General Public License. Feel free to hack at it and share your contributions. ...
谷歌手机导航软件,适用于android系统智能手机,非常实用
Android Cookbook: Problems and Solutions for Android Developers by Ian F. Darwin English | 10 May 2017 | ASIN: B071VLZ9ZK | 838 Pages | AZW3 | 12 MB Jump in and build working Android apps with the ...