Google Analystic 是一個(gè)對mobile app和網(wǎng)站進(jìn)行統(tǒng)計(jì)和分析的平臺尺碰,對于產(chǎn)品來說缅帘,不管是功能的測試還是調(diào)整完善都與用戶的使用和反饋直接相關(guān)。Google Analystic數(shù)據(jù)統(tǒng)計(jì)和分析的結(jié)果是用來發(fā)現(xiàn)和產(chǎn)品的不足的利器。
如何集成 Google Analytics到android 應(yīng)用
Google Analystics的集成過程可以概略為兩部分:
- 創(chuàng)建賬戶
Google Analystics可以被視為數(shù)據(jù)收集平臺巍棱,既然收集了數(shù)據(jù)荐捻,必然是給人看的黍少,少不了的就是相應(yīng)的管理頁面。當(dāng)然第一步就是要在Google Analystics平臺上注冊管理賬戶处面。 接著就可以在自己賬戶下配置自己想要跟蹤的app仍侥。
整個(gè)過程需要的產(chǎn)出只有兩個(gè):
google-services.json 文件
trackID
-
集成Api:
將 下載下來的google-services.json 文件拷貝到需要被跟蹤的app,項(xiàng)目文件下的/app目錄
-
修改build.gradle文件鸳君,添加相關(guān)依賴
- 項(xiàng)目外層的build.gradle文件(版本號已更新很多):
classpath 'com.google.gms:google-services:1.4.0-beta3'
- app module 下的build.gradle修改:
// other plugins apply plugin: 'com.google.gms.google-services' dependencies { // other dependencies compile 'com.google.android.gms:play-services-analytics:8.1.0' }
- AndroidManifest.xml 給app配置INTERNET和ACCESS_NETWORK_STATE權(quán)限
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.analytics"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:name="AnalyticsApplication">
</application>
</manifest>
```
在代碼中跟蹤想要獲取的信息
-
使用Application的子類獲取track實(shí)例
``` synchronized public Tracker getDefaultTracker() { if (mTracker == null) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); mTracker = analytics.newTracker(R.xml.global_tracker); } return mTracker; } ```
跟蹤Activity
- 在Activity中進(jìn)行跟蹤
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// set up the shared Tracker
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
}
@Override
public void onStart() {
super.onStart(); // Always call the superclass method first
// add log to make sure that GA is being called... Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
// send the "hit" to GA
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
}
上面的示例中农渊,包含了兩部分,其一是獲取tracker的實(shí)例或颊,tracker的實(shí)例化過程都交給application去做砸紊,這樣的帶來好處的就是對于tracker的統(tǒng)一管理,其二便是通過tracker把screen name 發(fā)送到GA囱挑,當(dāng)然更建議的做法就是把tracker的發(fā)送screen的這部分功能也放到application類或其余便于管理的地方醉顽。對于應(yīng)用的代碼來說,只需要知道自己使用了tracker的tracker screen方法便可平挑,并不需要在每個(gè)頁面實(shí)現(xiàn)同樣的方法游添。
其實(shí)就Track Activity來說,Google Analystics支持了兩種方式通熄,第一種就是上面示例的方法唆涝,通過代碼來實(shí)現(xiàn)。另外一種就是直接在配置文件中定義好要Track的頁面唇辨。相比較而言code的方式的擴(kuò)展性要強(qiáng)一點(diǎn)廊酣,比如要是想要在知道用戶訪問頁面的時(shí)間段或者其他一些信息,就必須借助自定義維度或自定義變量赏枚,而配置文件的方式是不支持這種功能的亡驰。