顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [AndroidStudio] 使用 Google Analytics v4 分析APP使用情形
時間 2015-12-24 Thu. 13:33:41


在 Google Analytics 新增追蹤編號

登入 Google Analytics 後,在「管理員」選擇一個帳戶
在這個帳戶裡新建一個資源
[圖]


不同的手機APP只要共用同一個資源就可以了
如果之前新增過其他像是iOS版的APP,就選之前新增的即可,跳過下一步


建立新資源,選擇資源類型為「行動應用程式」,輸入APP的名稱,選擇產業類別
[圖]


想要有年齡層、性別和興趣相關資料的話,要在資源設定打開「啟用客層和興趣報表」
[圖]


產生的追蹤編號為 UA-XXXXXXXX
這邊可以連至 Analytics SDK 的安裝說明
[圖]


新建的資源預設會產生一個「所有行動應用程式」的資料檢視
如果只有Android APP的話,用這個就可以了

如果另外還有 iOS APP 的話,要將兩種 APP 的資料分開來,點「新建資料檢視」
[圖]


選「行動應用程式」,輸入資料檢視的名稱「Android」
[圖]


在「Android」資料檢視,選「篩選器」(filter),「新增篩選器」
[圖]


「新建篩選器」,名稱輸入「Android」,類型選「自訂」,點「包含」
欄位選「作業系統平台」,模式輸入「Android」,點儲存
[圖]


如果有 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
[圖]


在 AndroidManifest.xml 要加上 INTERNET 和 ACCESS_NETWORK_STATE 兩個權限
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
在 <application 加上
        android:name=".AnalyticsApplication"
[圖]



在 build.gradle (Project: DispBBS) 在 dependencies{ 下加上
    classpath 'com.google.gms:google-services:3.0.0'
[圖]

點「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」
[圖]



再來要下載設定檔 google-services.json
先到 https://console.developers.google.com/project 點一下接受服務條款
[圖]


接著到 https://developers.google.com/mobile/add?platform=android&cntapi=analytics 
新增 App name,輸入 App 的 Android package name,選國家,點繼續
[圖]


選擇要使用的 Analytics 帳號和資源名稱,點「ENABLE ANALYTICS SERVICE」
[圖]


要啟用Cloud Messaging,才會有API Key
[圖]


接著點下面的「CONTINUE TO Generate configuration files →」
[圖]


點「Download google-services.json」,下載檔案存到 Android 專案下的 app 目錄裡
[圖]


google-services.json 的內容長這樣
檢查一下 package name 和追蹤碼 tracking_id 是否正確
[圖]


到這邊 Google Analytics SDK v4 即安裝完成


設定追蹤每個頁面

新增一個 Java Class
[圖]


名稱輸入 AnalyticsApplication
[圖]


將 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;
  }
}


在想要追蹤的 activity 頁面

加上成員變數
    Tracker mTracker;

在成員函數 onCreate 裡加上
        // Obtain the shared Tracker instance.
        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());
    }

執行看看程式

在 Analytics 右上角選擇 Disp BBS APP 的 Android
[圖]


選「即時」的「總覽」,可以看到一個使用者了
[圖]



追蹤事件

例如我們想要追蹤使用者有沒有用了下拉更新的功能
只要在成員函式 onRefresh 裡加上
        mTracker.send(new HitBuilders.EventBuilder()
                .setCategory("Action")
                .setAction("Refresh")
                .build());

執行程式,使用下拉更新

在 Analytics 選「即時」的「事件」,點查看:「事件(近30分鐘)」
[圖]

可以看到有一個使用者使用了三次下拉更新

如果是選查看:「活躍使用者」的話,顯示的是每個事件各有幾個活躍使用者觸發了



錯誤解決記錄

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 
分享網址: 複製 已複製
( ̄︶ ̄)b army862g 說讚!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇