Google Analytics in iOS — 1

LukeWu
Aiworks
Published in
6 min readNov 14, 2017

當我們想要在 App 裡面追蹤使用者行為時,就需要第三方服務的支援,像是 GoogleAnalysisMixpanel 等。本文介紹 Google Analytics iOS SDK 及相關報表,包括 Screens,Events,E-commerce,Sessions。第二篇則會介紹 Advertise,Crashes & Exceptions,Social Interactions,User ID,User Timing。

這個系列適合對 Objective-c 及 iOS 開發有初步熟悉度的讀者。

Dispatch

GA 的資料收集,當天的資料必須在隔天的 4 a.m. 以前送到 GA,否則就不會出現在當天報表上。iOS 裡面預設的 dispatch time 是 2 分鐘。

[GAI sharedInstance].dispatchInterval = 120.0;

如果把這個 property 設定比 1 還小,則會 disable auto dispatch,資料會等待上傳:

[GAI sharedInstance].dispatchInterval = 0;
//Call this method to manually send data
[[GAI sharedInstance] dispatch];

Event Tracking

App 裡面會有各式各樣使用者所觸發的事件,GA 也提供了相關的 API 來監控這些事件,先來看看有哪些參數:

Category 是 Event 的大分類,每個 Category 裡面再由 Action 來區分事件。

你可以透過 GAITracker send method,把參數個別填入之後,送出事件。

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];[tracker send:@{kGAIEventCategory: @”Game”,                  kGAIEventAction: @”Attack”}];

或者透過 GA 的 GAIDictionaryBuilder class 所建立的 method 來送出 event。

[tracker send:[[GAIDictionaryBuilder    
createEventWithCategory:@”ui_action”
action:@”button_press”
label:@”play”
value:nil] build]];

透過上述的兩種方法,Google 就可以幫我們紀錄 User 與 App 的互動事件。Event tracking 的報表可以在 Google Console → 行為 → 事件 裡面找到相關的紀錄。

Screens

Screens 在 GA 裡面代表使用者在看的畫面,透過收集這個數據,可以知道使用者停留最長的頁面是哪一個,以及使用者的瀏覽 app 的狀態。先來看一下 Screens 的 key:

GA 有提供兩個方法來送出 Screen hit,一個是手動送出,一個是繼承 GAITrackedViewController

手動送出:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];[tracker set:kGAIScreenName value:@”Home Screen”];[tracker send:[[GAIDictionaryBuilder createScreenView] build]];

繼承 GAITrackedViewController:

Screen tracking 的報表可以在 Google Console → 行為 → 畫面 裡面找到相關的紀錄。

Commerce Tracking

這個部分介紹如何運用 Google Analysis API 來監控 In app purchase 及相關事件。在 Google Analysis 裡面,e-commerce tracking 由兩部分構成,分別是 Transaction 還有 Item,兩者由共用的 `Transaction ID` 關聯起來。

Transactions 參數定義:

Item 參數定義:

下列是 Sample Code,要注意 Transaction 與 Item 的 Transaction Id 要使用相同的內容:

Commerce Tracking 的數據可以在 Google Console → 轉換 → 電子商務 裡面找到。

Session

Session 在 GA 裡面代表一個使用者與應用程式互動的時間區間。Session 是一個很好的 Container,可以將 screen views, events, e-commerce transaction 都包含在內。

手動建立 session:

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];[builder set:@”start” forKey:kGAISessionControl];[tracker set:kGAIScreenName value:@”My Screen”];[tracker send:[builder build]];

你並不需要真的去結束一個 session,如果你有需要,可由下列方法達成:

[builder set:@”end” forKey:kGAISessionControl];

以上簡短介紹了 Google Analytics 的部分 API,剩餘部分會在下一篇文章做完介紹,如果內容有誤,還請各位不吝指教,感謝你。

下一篇:Google Analytics in iOS — 2

--

--