看板 Knuckles_note
作者 標題 [AndroidStudio] 使用 Google Analytics v4 分析APP使用情形
時間 2015-12-24 Thu. 13:33:41
在 Google Analytics 新增追蹤編號
登入 Google Analytics 後,在「管理員」選擇一個帳戶
在這個帳戶裡新建一個資源
![[圖]](http://i.imgur.com/f5TdWVQ.png)
不同的手機APP只要共用同一個資源就可以了
如果之前新增過其他像是iOS版的APP,就選之前新增的即可,跳過下一步
如果之前新增過其他像是iOS版的APP,就選之前新增的即可,跳過下一步
建立新資源,選擇資源類型為「行動應用程式」,輸入APP的名稱,選擇產業類別
![[圖]](http://i.imgur.com/3zHSYdt.png)
想要有年齡層、性別和興趣相關資料的話,要在資源設定打開「啟用客層和興趣報表」
![[圖]](http://i.imgur.com/uM4CiDr.png)
產生的追蹤編號為 UA-XXXXXXXX
這邊可以連至 Analytics SDK 的安裝說明
![[圖]](http://i.imgur.com/YR8lqWf.png)
新建的資源預設會產生一個「所有行動應用程式」的資料檢視
如果只有Android APP的話,用這個就可以了
如果另外還有 iOS APP 的話,要將兩種 APP 的資料分開來,點「新建資料檢視」
![[圖]](http://i.imgur.com/5eG0zGY.png)
選「行動應用程式」,輸入資料檢視的名稱「Android」
![[圖]](http://i.imgur.com/izcXkaB.png)
在「Android」資料檢視,選「篩選器」(filter),「新增篩選器」
![[圖]](http://i.imgur.com/eIEFMYt.png)
「新建篩選器」,名稱輸入「Android」,類型選「自訂」,點「包含」
欄位選「作業系統平台」,模式輸入「Android」,點儲存
![[圖]](http://i.imgur.com/Yf056yu.png)
如果有 iOS APP 的話就再新建一個 iOS 的資料檢視
篩選器設定包含作業系統平台,模式輸入「iOS」
之後要看所有手機APP的報表時就選,「所有行動應用程式」的資料檢視
要單獨看 Android 的就選「Android」的資料檢視即可
在 Android APP 專案裡加入 Google Analytics SDK v4
依照 Google Developer: Add Analytics to Your Android App
https://developers.google.com/analytics/devguides/collection/android/v4/
的安裝步驟
先確認在 Android Studio 的 SDK Manager 有安裝 Google Play Services
![[圖]](http://i.imgur.com/hLseM66.png)
在 AndroidManifest.xml 要加上 INTERNET 和 ACCESS_NETWORK_STATE 兩個權限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
在 <application 加上<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
android:name=".AnalyticsApplication"
![[圖]](http://i.imgur.com/98d0mo9.png)
在 build.gradle (Project: DispBBS) 在 dependencies{ 下加上
classpath 'com.google.gms:google-services:3.0.0'
![[圖]](http://i.imgur.com/NAzYa5t.png)
點「Sync Now」
在 build.gradle (Module: app)
在 dependencies{ 加上
compile 'com.google.android.gms:play-services-analytics:9.2.1'
在最下面加上apply plugin: 'com.google.gms.google-services'
點「Sync Now」![[圖]](http://i.imgur.com/ZnyRn3G.png)
再來要下載設定檔 google-services.json
先到 https://console.developers.google.com/project 點一下接受服務條款
![[圖]](http://i.imgur.com/Xd1VYFc.png)
接著到 https://developers.google.com/mobile/add?platform=android&cntapi=analytics
新增 App name,輸入 App 的 Android package name,選國家,點繼續
![[圖]](http://i.imgur.com/zZ5H1m6.png)
選擇要使用的 Analytics 帳號和資源名稱,點「ENABLE ANALYTICS SERVICE」
![[圖]](http://i.imgur.com/qShwfUo.png)
要啟用Cloud Messaging,才會有API Key
![[圖]](http://i.imgur.com/OK6GO5H.png)
接著點下面的「CONTINUE TO Generate configuration files →」
![[圖]](http://i.imgur.com/Je2v3Uf.png)
點「Download google-services.json」,下載檔案存到 Android 專案下的 app 目錄裡
![[圖]](http://i.imgur.com/gSZk49K.png)
google-services.json 的內容長這樣
檢查一下 package name 和追蹤碼 tracking_id 是否正確
![[圖]](http://i.imgur.com/mr5RSRC.png)
到這邊 Google Analytics SDK v4 即安裝完成
設定追蹤每個頁面
新增一個 Java Class
![[圖]](http://i.imgur.com/z3PCUqW.png)
名稱輸入 AnalyticsApplication
![[圖]](http://i.imgur.com/mrflTYA.png)
將 public class AnalyticsApplication { } 改成
public class AnalyticsApplication extends Application {
private Tracker mTracker;
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
private Tracker mTracker;
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
在想要追蹤的 activity 頁面
加上成員變數
Tracker mTracker;
在成員函數 onCreate 裡加上
// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
加上成員函數 onResume
onResume在開啟此頁面以及離開後又回到此頁面時會執行,
例如點進文章再回來列表時,在此函數加上要在 Analytics 記錄一次到達此頁
@Override
public void onResume(){
super.onResume();
String screenName = "HotText"; //要顯示在 Analytics 的畫面名稱
Log.i("Hot Text:", "Setting screen name: " + screenName);
mTracker.setScreenName(screenName);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
}
public void onResume(){
super.onResume();
String screenName = "HotText"; //要顯示在 Analytics 的畫面名稱
Log.i("Hot Text:", "Setting screen name: " + screenName);
mTracker.setScreenName(screenName);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
}
執行看看程式
在 Analytics 右上角選擇 Disp BBS APP 的 Android
![[圖]](http://i.imgur.com/bfrxY5I.png)
選「即時」的「總覽」,可以看到一個使用者了
![[圖]](http://i.imgur.com/ldQrvzf.png)
追蹤事件
例如我們想要追蹤使用者有沒有用了下拉更新的功能
只要在成員函式 onRefresh 裡加上
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Action")
.setAction("Refresh")
.build());
.setCategory("Action")
.setAction("Refresh")
.build());
執行程式,使用下拉更新
在 Analytics 選「即時」的「事件」,點查看:「事件(近30分鐘)」
![[圖]](http://i.imgur.com/fNzroEj.png)
可以看到有一個使用者使用了三次下拉更新
如果是選查看:「活躍使用者」的話,顯示的是每個事件各有幾個活躍使用者觸發了
錯誤解決記錄
在 Google Developer: Add Analytics to Your Android App 裡點「GET A CONFIGURATION FILE」後出現載入中畫面就卡住了
→ 要先到 https://console.developers.google.com/project 點一下接受服務條款
在新增的類別 AnalyticsApplication 裡,無法使用 R.xml.global_tracker 這個資源
→ 在 build.gradle (Project: DispBBS) 的 dependencies{ 要加上
classpath 'com.google.gms:google-services:1.5.0-beta2'
並點一下「Sync Project with Gradle Files」
執行 APP 時出現錯誤閃退,logcat 出現以下錯誤訊息
... android.app.Application cannot be cast to AnalyticsApplication ...
→ 要在 AndroidManifest.xml 的 在 <application 加上
android:name=".AnalyticsApplication"
Grandle Sync 後出現錯誤
Found com.google.android.gms:play-services:8.4.0, but version 8.3.0 is needed for the google-services plugin
→ apply plugin: 'com.google.gms.google-services' 這行要放在 dependencies {} 後面才行
參考 http://stackoverflow.com/questions/3...but-version-8-3-0-is-needed-fo
更新 build.gradle 的版本為
classpath 'com.google.gms:google-services:3.0.0'
與 compile 'com.google.android.gms:play-services-analytics:9.2.1'
後出現錯誤
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
→ 參考 StackOverflow
要啟用 Cloud Messaging 後重新下載設定檔 google-services.json
才會有 API Key
--
※ 作者: Knuckles 時間: 2015-12-24 13:33:41
※ 編輯: Knuckles 時間: 2016-07-23 06:02:11
※ 看板: KnucklesNote 文章推薦值: 1 目前人氣: 0 累積人氣: 1837
回列表(←)
分享