利用 Google Analytics 來分析使用者行為和產生報表
站在公司的角度來看 Google Analytics 可是老闆和客戶的最愛,例如老闆或客戶想知道在買了廣告後,APP 的下載量和活躍人數有沒有增加等等。Google Analytics 不僅僅如此,它甚至細到連用戶停留時間、用戶地區、用戶點擊功能的次數等等都可以查看的到。而我們只要導入 Google Analytics SDK,並在 APP 做一些設定後,這些相關的資訊都可在 Google Analytics 的後台一目瞭然。然而還有一項強大的功能,那就是並非一定要在有網路下的狀況下 Google Analytics 才會有作用,在離線狀態下 Google Analytics 也會將使用者行為緩存起來,待有網路的狀況下再批次提交(WEB 版不行),由此可見功能之強大。而法蘭克今天就要來說明如何導入 Google Analytics 至專案裡。
內容大綱:
- 登入 Google Analytics 並取得應用程式的追蹤碼。
- 使用 cocoaPods 載入 Google Analytics SDK。
- 依 Google Analytics 開發者文件設定應用程式。
- 測試。
法蘭克準備了一個簡單的範例來說明今天的主題。該範例很簡單,總共有三個頁面和一個按鈕,並在這三個頁面的載入點和按鈕的觸發點埋入程式碼來統計它們被執行的次數。在開始之前先來看看該範例為何。
登入 Google Analytics 並取得應用程式的追蹤碼
▼使用 Google 帳號登入 Google Analytics
▼取得行動應用程式的追蹤碼
帳戶名稱 => 樹狀結構的最頂層,一個帳戶名稱下可以有 50 個應用程式名稱,而每個應用程式名稱都會以一個追蹤碼來表示。
備註:
同樣是 Goolge 旗下的 Analytics 產品 Firebase Analytics,以下為其差異點所在。
開啟新專案並使用 cocoaPods 載入 Google Analytics SDK
▼依 Google Analytics 的官方文件 所提供的指令來載入 SDK
▼在 Podfile 鍵入指令並執行 pod install 來安裝其 SDK
▼打開專案並執行清除(clean)、建置(build)
依 Google Analytics 開發者文件設定應用程式
Google 有提供相關的開發者文件、GitHub 範例可供我們參考,以下就依開發者文件步驟一步步來設定我們的應用程式。
▼取得 GoogleService-Info.plist 組態檔
- 打開開發者文件並點擊 GET A CONFIGURATION FILE 。
2. 設定 App name 和 Bundle ID。
App name => 同圖 3 的應用程式名稱。
Bundle ID => 同範例專案的 Bundle ID(圖12)。
3. 選擇組態檔的服務。
Google Analytics Account => 同圖 3 的帳戶名稱。
Analytics Property => 同圖 3 的應用程式名稱。
4. 產生組態檔並下載入本機。
5. 開啟 xCode 將步驟 4 產生的組態檔拖拉至 Bundle 下。
6. 建立橋頭文件檔。
以上設定完成,設著清除(clean)、建置(build)專案看有沒有錯,若沒有錯以下要開始在專案裡加入一些程式碼了。
7. 在 Appdelegate.swift 下的 didFinishLaunchingWithOptions 下設定 tracker 和 GAI(選擇性的並非一定要設定)。
8. 在每個 ViewController.swift 的 viewWillAppear func 下生成 tracker 物件,並將其收集到的資訊 send 給 Google 後台。
備註:依 Google 在 GitHub 所提供的範例看來,他是使用 defaultTracker 來生成 tracker 物件,但法蘭克在 stack overflow 查找到更好的方式來生成它,那就是使用 trackerId,然而為何要使用 trackerWithTrackingId 來生成tracker 呢?因為 defaultTracker 有時在生成時會有問題產生,為避免該情況發生,建議直接使用 trackerWithTrackingId 方法來生成。
9. 在返回首頁的按鈕觸發事件下添加收集使用者點擊次數的程式碼。
以上已完成所有的設定,該範例專案已放上 GitHub,但務必記得替換掉 GoogleService-Info.plist 組態檔、Bundle Id、Tracking Id 等等。
測試
▼首先登入 Google Analytics 後台,並切換至即時報表功能,該功能可以很即時的看到使用者的行為(約一分鐘內)
▼打開模擬器並執行所有的功能一遍後再次查看報表,這時會發現很神奇的事發生了
在即時報表的總覽頁籤下看到目前有一位使用者登入。
在地區報表下看到有一位台灣的使用者在線上。
在事件報表下看到點擊了一次返回首頁的功能