Google Analytics for Android - EasyTrack

Google Analytics是一套分析工具!
最初只有WEB版才有,可以分析你的流量、人口分布、瀏覽器來源等等之類的資訊!
但現在已有了Android & iOS等其他版本,
可以利用這套API去分析使用者在你app上的使用情況.
(例如:在這個Activiy待了多久,或者做了怎樣的行為,點了哪些button等等之類的,甚至可以有exception report)


這篇主要會說明在Android上面如何使用!
在這篇會先講解簡單的EasyTrakcer的部分!
EasyTrakcer顧名思義就是很簡單的意思!
有好有壞!好的是你可以快速implement,

壞的是彈性較小!

创建一个Google用户 方便用Google Analytics 

要使用Google Analytics 必须在申请一个ga_trackingId 然后在android project中配置 申请ga_trackingId的地址要通过Google 所以必须要翻墙的,

https://www.google.com/analytics/web/

1.进入网址首页后  可以看到下图的 点击new account

 

  2.点击后 出现下图  要选择跟踪哪个项目  android一般选择应用程式 并起一个名称

  

    3完成后 会得到一个ga_trackingId 如:UA-59731422-1 记住这个id 在android 配置用得到。 由于这张图片显示不了 这里用图片的链接来代替 http://4.bp.blogspot.com/-lEh6Ua6CVAI/UJxds0IAtZI/AAAAAAAAEfo/MJQjdZKRnek/s640/2.png


完成上述的申請以後!
(1) 接著要先去下載Google Analytics SDK (Here)

(2) 解壓縮出來

(3) 開一個Android Project

(4) 把lib include至Android Project中
     在Project中點選右鍵選擇properties
     接著會見到下圖,點選下圖中右方的紅色框框Java Build Path
     然後點選下圖中上方的紅色框框Libraries
     再點選下圖中有方紅色框框的Add External JARS...
     然後找到你剛剛下載的lib,把它加進來就好!

 


  4  配置好后 在android中配置信息

  在AndroidManifest.xml 写两个权限:

  

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 再在values下建立一个xml  如analytics.xml

  <?xml version="1.0" encoding="utf-8"?>
<!-- 发布时注意修改debug信息 -->
<!-- 所有的配置信息,在APP中都可以动态指定,根据实际情况来混合处理 -->


<!-- 忽略破折号错误提示问题 -->
<resources xmlns:tools="https://schemas.android.com/tools" tools:ignore="TypographyDashes">


    <!-- Replace placeholder ID with your tracking ID -->
    <string name="ga_trackingId">UA-59731422-1</string>
    <!-- 不设置时默认获取当前包信息 -->
    <string name="ga_appVersion">1.0.1</string>


    <bool name="ga_debug">true</bool>
    <!-- 以秒为单位的调度期 -->
    <!-- 任何点击或事件都是储存在本地队列,然后发送到GA;使用定期调度(periodic dispatch)&手动调度(manual dispatch)可以减少因网络不畅引起的发送GA不成功,也可以减少对设备电池寿命的影响 -->
    <integer name="ga_dispatchPeriod">20</integer>
    <!-- 采样率:假如APP用户很多,每天的会话很大的话,可以设置采样率,避免正确的报告被中断,50%即每两次会话仅记录一次 -->
    <string name="ga_sampleFrequency">100.0</string>
    <!-- Enable automatic all activity tracking -->
    <bool name="ga_autoActivityTracking">true</bool>
    <!-- 通过移除IP地址的最后一个字节来匿名发送信息,但是会降低分析报告的准确度 -->
    <bool name="ga_anonymizeIp">false</bool>
    <!-- Enable automatic exception tracking,所以的意外追踪都是自动的,在GA里面反映为致命错误 -->
    <bool name="ga_reportUncaughtExceptions">true</bool>
    <!-- 在Activity被跟踪期间一直保持打开、且在处于非活动状态超过 30 秒后关闭的会话,负值可以禁止回话管理 -->
    <integer name="ga_sessionTimeout">20</integer>


    <!-- The screen names that will appear in your reporting -->
    <string name="com.example.ga.MainActivity">首页</string>


</resources>

註:
ga_trackingId記得填寫自己剛剛申請的那個id
ga_debug的意思是使用debug模式,可以讓你在local端看到一些track的資訊!
如果你沒有設置這個attributes,你可能要等很久很久,你的Google Analytics後台管理頁面才會更新資訊.....
所以還是設定一下吧!
ga_autoActivityTracking這個property也很重要,如果設為true的話,在initial tracker時,tracker會自動發出一個request,這個requset就包含了device name, screen resolution, os等等之類的資訊!在這我們先設為false,一切以手動的方式進行track!

</pre></p><p><span style="color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; line-height: 16.8999996185303px;"><span style="font-size:18px;">  在一个Activity中 写入你想得到的信息报告:</span></span></p><p><span style="color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; line-height: 16.8999996185303px;"><span style="font-size:18px;"> </span></span><pre name="code" class="java">private Tracker tracker  = null; // use for track event, exception..etc.
 private Context cxt   = null;
 private int iDispatchTime  = 3; // determine how long send the information to Google
 private double dSampleRate  = 100;  // determine how much information to be send 
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  cxt = this;
  
  EasyTracker.getInstance().setContext(cxt); // initial
  
  // start a Tracker, you must to do this thing otherwise you can't send any tracker to Google.
  EasyTracker.getInstance().activityStart((Activity)cxt); // Add this method.
  
  // 取得一個tracker
  tracker = EasyTracker.getTracker();
  
  // 設定Sample Rate, sample rate用意在於如果你的app很多人使用,
  // 那麼你可以自己設定有百分之幾的device資訊會被送出Google
  // 這裡設定100%,也就是說所有device都會送出資訊
  tracker.setSampleRate(dSampleRate);
  
  // 設定dispatch time
  // 這裡預設為3秒,也就是說每次trackEvent, trackException一次
  // 都會在3秒以後送出(當然你可以手動進行dipatch)
  GAServiceManager.getInstance().setDispatchPeriod(iDispatchTime);
  
  
  // track event
  tracker.trackEvent("UI_ACTION", "buttonClick", "labelCreatedByKen", 0l);
  
  // track view, 追蹤這個activity使用者停留了多久之類的
  tracker.trackView("trackViewHomePage");
  
  // track exception, 這裡是手動的track exception
  // 你可以把trackException放在try{}cathc(){};之中
  tracker.trackException("ExceptionCreatedByKen", false);
  
 }

  完成以後你可以利用DDMS進行debug,
你可以用來看這些track(trackEvent, trackView,trackExeption)送出了那些資訊
大概會看到下面那張圖!




而在Google Analytics的後台就會看到上面送出的那些資訊!
如下圖!

  

   


 rackException有兩張圖,因為trackException會記錄著是那個version的app發生exception的!
所以如果你有很多個version,你會在第一張圖看到很多個version,
因為這個是test app,所以目前只有一個1.0,點進去以後就會看到詳細的exception資訊了!(如第二張圖)




上面code之中有講到trackException,大家可能會有點confused,
因為如果你在開發app時,error handling做不好的時候,可能會導致app crash!
那麼屬於這邊的exception 該怎麼抓到呢?
恩!在Google Analytics也有提供這樣的功能!
只要在上面的xml檔當中加入下面的element即可!

<!--Enable automatic exception tracking-->
  <bool name="ga_reportUncaughtExceptions">true</bool>  


 想了解更多 请https://developers.google.com/analytics/devguides/collection/android/v4/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值