谷歌分析iOS開發包實戰

這篇文章還可以在這裏找到 英語
 
創建一個成功的產品,你和你的團隊必須掌握一個分析和統計用戶數據的方法!否則,你永遠也無法知道你的應用哪些部分是用戶一直偏愛使用的,而且沒有發生異常,哪些不是。有許多種方式去衡量用戶的使用情況並且有大量的現成框架能夠幫助你做到這一點。在本篇教程中,你將會學習谷歌分析開發包(Google Analytics)在iOS上的實際應用案例。
 
本篇教程將會帶你瀏覽谷歌分析開發包(Google Analytics)的所有主要內容。與此同時,你能夠體驗將Google Analytics添加到一款適用跑步愛好者的計時器應用中,通過添加SDK記錄用戶使用各種功能和控件的頻率。
 
當你完成本篇教程,你將掌握應用事件追蹤,你將能夠追蹤應用不同版本的使用情況,並且能夠允許用戶關閉“匿名使用情況追蹤”功能:
 
讓我們開始吧!
 
入門準備: 什麼是谷歌分析服務?
 
谷歌分析服務是由谷歌提供的服務,能夠生成詳細的網站或者手機應用使用情況統計信息。最初,這個產品主要是面向市場人員而非開發人員。然而,現代的開發方式要求開發者能夠以一種迭代和低成本的方式去定義,衡量及測試他們所開發的軟件功能。谷歌分析服務是一款非常強大的工具能夠衡量你的應用使用情況從而瞭解新的功能上線後功能穩定與否。
 
谷歌分析服務爲您提供了概覽和控制檯類型的數據,應用性能評估,以及許多深入細緻的報告工具。它的分析可以識別諸如:低性能的屏幕界面,用戶自定義的重要事件和用戶羣的地理分佈…..所有這一切對於提升您的應用程序品質非常關鍵!
 
簡單來說,通過谷歌分析服務的控制檯,你可以看到你的應用上個月有多少用戶,有多大比例用戶會經常使用它,你的用戶每次使用多長時間,你的用戶來自哪個國家:
通過在應用內設定追蹤事件(比如:用戶點按各種按鈕或者其他各種不同的動作)你就可以瞭解到各種功能的具體使用情況,你可以據此制訂下一步的開發計劃。 下圖就是一個例子,你可以清楚地看到用戶更偏愛“保存照片到手機相冊”,因爲數據顯示上個月有2223次“saveToPhotogallery”,相比之下“直接分享到Facebook”(saveToFacebook)只有113次 而 “發佈到Twitter”上(saveToTwitter)只有少的可憐的33次:
 
 
第一步: 爲你的應用設置Google Analytics賬號
好了, 讓我們開始吧. 打開這個網址 www.google.com/analytics. 主頁面就像下圖展示的那樣:
注意: 如果你沒有註冊過Google賬號,那麼你需要點右上角的“Create an Account”創建一個賬號。下面的教程需要你有一個Google賬號,你需要創建一個自己的谷歌分析賬號。
 
當你用google賬號登錄進來之後,只要點右上角的“Access Google Analytics”鏈接訪問Google Analytics。
點擊進來之後,你會看到你所有的賬戶列表。如果你已經綁定了很多客戶端(網站website或者移動應用Moible app),那麼你會看到每一個客戶端都有一個單獨對應的賬戶(通常賬戶和客戶端都是一一對應的)。然而如果你是新用戶,那麼你只會看到設置過的賬戶。
 
選擇右上角的“管理視圖”( Admin view )可以看到主控制檯,裏面可以管理你的賬號,屬性,和視圖。
 
在主控制檯,你會看到一個工作區域,包含:賬號(Account),屬性表(Property),最右邊是視圖(View)。讓我們先看一下每個區域都具體是做什麼用的:
1.賬號(Account) - 在你自己的谷歌分析賬號內,你可以擁有其他多個合作伙伴和客戶的分析賬號的成員角色(這看上會有點混淆)。在最左邊賬號的下拉列表 中,你會看到所有的賬戶角色。
2.屬性表(Property) – 一個屬性表是指一個歸屬於賬號下的特定的網站或者應用程序的屬性集合。在本教程中,你會創建一個新的“Clock”屬性表來容納所有和你的應用相關的數據。
3.視圖(View)- 最右邊一列就是視圖。它能夠讓你在你的數據之上創建不同的視圖 。在本教程之後的應用例子中,你將可以通過創建不同的視圖,能夠看到不同應用版本的數據信息。
 
好了,繼續!如果你不想添加新的屬性表(Property)到你的客戶的賬號,請跳過這一步,但跳過前請確認已經有一個正確的賬號用來完成下面的教程。
 
選擇屬性表(Property)的下拉列表框,點擊“Create new property” 項,如下圖所示:
谷歌會要求你提交應用的具體信息。請在一開始確認選擇“Mobile app”並填寫必須的信息。在屬性表頁面“App name”輸入“Clock”。
 
然後點擊確認接受“服務條款”,網站會提供你一個你的應用的跟蹤 ID(Tracking ID) 以及 SDK 的下載鏈接。
 
下載谷歌分析iOS SDK
在你開始下面的步驟之前,先拿筆記下你的應用的跟蹤ID(Tracking ID),格式類似  UA-XXXXXXXX-Y. 把這個ID記下來,放到手邊備用,後邊馬上會用到。
 
現在點擊鏈接下載谷歌分析iOS SDK開發包。下載不帶 Admob 功能的版本保存到桌面。
第二步:設置谷歌分析開發包
 
開始這一步之前,請下載樣板工程 starter project.
 
在Xcode中打開這個樣板工程,編譯並在模擬器中運行,保證它是可以工作的。不出意外的話,你會在模擬器中看到一個帶有時鐘和秒錶的簡單標籤欄應用。
解壓你剛纔下載的谷歌分析開發包,你會看到下面幾個文件夾和文件:
GoogleAnalytics
GoogleTagManager
libGoogleAnalyticsServices.a
Readme.txt
 
在 GoogleAnalytics 文件夾, 打開 Library 文件夾, 選中下面幾個文件將它們拖拽到  Clock 樣板工程中。
GAI.h
GAITracker.h
GAITrackedViewController.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
 
 
請選中: “Copy items into destination group’s folder” 和 “Add the files to the Clock target” ,確保這些文件被加入到工程中。
 
現在你需要將 谷歌分析 iOS SDK 庫文件(libGoogleAnalyticsServices.a)加入到工程中,Google Analytics SDK還會用到 CoreData 和 SystemConfiguration 這兩個系統框架 (這時候你需要手動的添加這些框架,在下一個版本中希望谷歌會用 automatic importing 功能,這樣就方便了!),所以你需要添加下面所有的庫和框架到你的應用中:
libGoogleAnalyticsServices.a
CoreData.framework
SystemConfiguration.framework
libz.dylib
 
先加 libGoogleAnalyticsServices.a,選中並拖拽到 Frameworks 文件夾。你可以把它放到任何地方,但是建議還是將工程所用到的框架都放到一個地方管理。
 
下一步添加 CoreData 系統框架,在Xcode Project Navigator 選中  Clock 工程,再選擇 Build Phases。點開 Link Binary With Libraries 並點擊 添加(+) 按鈕.
再彈出的窗口中,輸入 CoreData 從提示列表中找到 CoreData.framework 並選中添加到工程。
重複之前的步驟添加 SystemConfiguration.framework  和 libz.dylib 動態庫。
 
最後,修改 Clock-Prefix.pch 導入 GAI.h 頭文件,方法如下:
  1. #import "GAI.h" 
  2. #import "GAIFields.h" 
你已經將SDK導入到Clock App中了,下一步開始追蹤分析吧。

第三步:追蹤
你已經跑到第一彎道了,超越了其他所有選手,加油!
 
谷歌分析iOS SDK – GAI (Google Analytics for iOS) 是一流的工具類能夠是提供設施,以創建跟蹤器和設置行爲標誌。 這個類能夠非常方便地提供一個默認的跟蹤器實例。 默認的跟蹤器被初始化成空(nil)並會被 共享的GAI 實例通過調用 trackerWithTrackingId 函數賦值。必要時你可以通過可以重載這個方法來改變跟蹤器,後面會講到這一點。
 
谷歌分析跟蹤器可以用來跟蹤屏幕界面,事件,轉換,時長,以及異常。這些接口的實現都是線程安全的,並且沒有一個調用會阻塞或者花費很長事件。所有的網絡交互和磁盤存儲都會再後臺進行,不會影響程序運行。
 
那麼讓我們看看跟蹤器在實際中如何運行。
 
初始化跟蹤器
你將需要前面記錄下來的跟蹤ID(Tracking ID)。第一步先獲得谷歌分析iOS 共享實例,並且設置一組行爲標識,這個具體的行爲標示如下:
 
1.trackUncaughtExceptions – 跟蹤未捕獲的異常會標識任何導致程序崩潰的未處理異常事件。
2.logLevel – 谷歌分析iOS SDK開發包有4種日誌級別:kGAILogLevelError, kGAILogLevelWarning, kGAILogLevelInfo, 和 kGAILogLevelVerbose. Verbose 日誌級別能夠將所有的日誌輸出並打印到Xcode的控制檯窗口。這個對於第一次使用谷歌分析iOS SDK的開發者是非常有用的 ,能看到很多內部的信息。
3.dispatchInterval – 默認設置成120 ,表示跟蹤信息每隔120秒,會被髮送到谷歌分析的服務器。在本教程中,這個值將設置成一個更短的時間間隔,這樣你可以在谷歌分析控制檯更快地看到數據,而不用長時間地等待。但在產品階段,設置120秒的間隔就足夠了。
 
初始化你的 GAI 共享實例 跟蹤器,打開  app delegate 插入以下代碼到application:didFinishLaunchingWithOptions:函數,並第 4段代碼中,填寫你自己的跟蹤ID(tracking ID ):
  1. // 1 
  2. [GAI sharedInstance].trackUncaughtExceptions = YES; 
  3. // 2 
  4. [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose]; 
  5. // 3 
  6. [GAI sharedInstance].dispatchInterval = 20; 
  7. // 4 
  8. id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXX-Y"]; 
 這段代碼會配置和獲得一個跟蹤器類對象,這樣你的app就開始記錄應用的使用情況和應用事件了。
 
注意: 請更改tracking ID爲你自己申請的值。
 
自動屏幕跟蹤
谷歌分析的最初設計是爲了跟蹤網站,主要是爲了衡量頁面的瀏覽量 – 意思是 在一定時間內的用戶瀏覽某一頁面的次數。 在谷歌分析移動版本上,頁面的概念被屏幕所取代了。一個屏幕通常代表你的應用的一部分內容,但是這個屏幕跟蹤也等同於有多少用戶訪問你的應用內某一內容的次數,例如在一個屏幕上的某個元素。
 
簡單來說,這種模擬轉換將屏幕視圖對應替換成pageview的概念,表明了實際上有多少用戶查看了你的應用的某一界面。很容易將 “視圖”(view) 和iOS 開發中的 view 搞混,在iOS開發中,view代表可視化的界面組件,和用戶看到的view不同。所以具體區別請仔細查看谷歌分析文檔 Google Analytics documentation.
 
綜上所述,自動屏幕跟蹤能夠測量用戶在應用不同界面上停留的時長。當用戶在不同界面之間切換時,你可以記錄這些跳轉事件和頁面停留的時長。在iOS系統中, 每一個屏幕都是被一個視圖控制器所管理,所以你是在更新視圖控制器的時候記錄這些關於屏幕的信息。
 
你可以通過擴展 GAITrackedViewController 類的方式自動記錄屏幕跟蹤。只需要手動設置 GAITrackedViewController 的內部屬性 screenName,這個名稱會被谷歌分析的日誌記錄並使用。
 
讓我們先來用自動的方式添加分析日誌 追蹤 鬧鐘屏幕視圖控制器 ClockViewController 的信息。首先,更新 ClockViewController.h 導入 GAITrackedViewController 類派生關係 如下文所示:
  1. #import "GAITrackedViewController.h" 
  2. @interface ClockViewController : GAITrackedViewController 
  3. @end 
 其次,更新ClockViewController.m設置screenName屬性,最好在viewDidLoad中進行:
  1. - (void)viewDidLoad 
  2.     [super viewDidLoad]; 
  3.     self.screenName = @"Clock"
就這樣就OK了!這短短的兩處改動就能夠讓谷歌分析開始追蹤工作了。 現在視圖控制器有了於之關聯的屏幕界面名稱,當上一級視圖控制器的GAITrackedViewController viewWillAppear 方法的被調用時候就去用這個名稱去註冊屏幕界面。 在這個方法裏面有許多上一級的視圖控制器會做許多事情:
1.獲得共享實例的默認跟蹤器並設置你的跟蹤ID。
2.告訴跟蹤器,目前正在跟蹤的屏幕是時鐘(“Clock”)屏幕。
3.生成一條日誌記錄報行當前的時間及其他有用信息。
4.調用默認的跟蹤器對象和谷歌分析服務器交互上傳信息。因爲之前我們配置了日誌的等級爲“詳細日誌”,所以你可以通過控制檯輸出窗口看到這些信息。
 
這麼多事情只要幾行代碼就搞定了,很爽吧?你的應用已經開始發送數據到谷歌分析服務器端了。 但是彆着急去谷歌分析服務器後臺控制檯去看數據。讓我們在應用端多加一些功能,然後再去後臺控制面板看統計數據。

手動屏幕跟蹤
雖然自動記錄屏幕查看數據非常的方便,但是並不是所有人都喜歡或者想要將視圖類從GAITrackedViewController做派生。
 
這種情況下,需要一個手動的解決方案。和自動的方法類似,你可以主動發送屏幕信息給谷歌來達到屏幕跟蹤的目的。你需要獲得跟蹤對象,設置它的一個屬性值,然後手動地創建並且發送這個屏幕查看事件。
 
讓我們嘗試在 StopWatchViewController 裏使用這種方法實驗一下。 打開 StopWatchViewController.m 源文件,在文件最開始導入 GAIDictionaryBuilder 類:
  1. #import GAIDictionaryBuilder.h 
和之前不一樣,你必須要獲得一個默認跟蹤器的句柄並給它賦上你正在跟蹤的屏幕ID值 。你之後需要構造一個應用屏幕記錄,這樣跟蹤器能夠記錄正在被瀏覽的屏幕並且將屏幕屬性信息發回到谷歌分析服務器。在該文件的 add viewDidAppear 方法中加入以下代碼:
  1. - (void)viewDidAppear:(BOOL)animated { 
  2.     [super viewDidAppear:animated]; 
  3.     id tracker = [[GAI sharedInstance] defaultTracker]; 
  4.     [tracker set:kGAIScreenName value:@"Stopwatch"]; 
  5.     [tracker send:[[GAIDictionaryBuilder createAppView] build]]; 
 
編譯並運行你的應用吧!花點時間在兩個標籤頁中切換幾次,每次切換你會看到不同的屏幕界面,每當你切換時候,屏幕視圖就會產生一個“點擊”事件,在應用調試窗口可以看到帶有時間戳的日誌+一組當前視圖的描述信息。你會看到如下圖所示的界面,裏面記錄了我們的 Stopwatch 屏幕的 appview 事件。
 
 
調試窗口會不停的輸出 GAIBatchingDispatcher 實例的調用情況。這是由谷歌分析SDK庫自動發送給谷歌分析網路服務器端的日誌信息。在看到命令行輸出後,你應該能夠在谷歌分析服務後臺看到你的這些活動對應的數據記錄。如果在你的屬性表報告控制檯點擊“實時”(Real-time)區域 ,你就能夠看到當前有多少用戶在訪問哪些屏幕界面,以及實時的變更狀態。
注意: 請確保你查看數據的時間段設置是正確的,默認情況下谷歌分析數據後臺報告是不會包含當天的數據的,你需要將數據瀏覽日期段重新設置以包含當天數據,這樣你才能看到你剛纔的點擊記錄。
 
谷歌分析服務提供各種針對你的數據的視圖。最棒的一點是打開“ Standard Reports->Real-Time->Screens”, 你將會看到幾分鐘前的事件數據。
 
第四步:高級設置
現在,你到了在最後的衝刺階段,讓我們來看看如何記錄更詳細的交互事件(如按下按鈕)及如何使用多個跟蹤器。
 
設置和發送信息
如果你想要記錄具體的用戶交互數據,你可以發送制定後的數據給谷歌分析服務器。 谷歌可以檢測到用戶按下按鈕,甚至到網絡呼叫等用戶無察覺的事件。你能夠發送這些數據:第一步是在跟蹤器中通過 set: 方法設置鍵值對的映射關係,然後將調用 send: 方法發送到谷歌分析服務器端。你已經在前面的例程中看到過這樣的例子了。
 
回顧一下: 在 viewDidAppear 函數中,你設置了屏幕名稱 screenName 並要求跟蹤器發送這些信息到谷歌分析服務器端。
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"Stopwatch"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
 
對多重測量數據設置值
爲了捕獲點按事件,你可以制定事件參數 kGAIHitType。讓我們在秒錶屏幕中添加一個方法去跟蹤按鈕被按下的事件。你將在所有的按鈕蹤調用這個方法。
首先,在 StopWatchViewController.m 中加入這個方法:
 
  1. -(void)logButtonPress:(UIButton *)button{ 
  2.   
  3.      id tracker = [[GAI sharedInstance] defaultTracker]; 
  4.   
  5.     [tracker set:kGAIScreenName value:@"Stopwatch"]; 
  6.     [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"UX" 
  7.                                                           action:@"touch" 
  8.                                                            label:[button.titleLabel text] 
  9.                                                            value:nil] build]]; 
  10.     [tracker set:kGAIScreenName value:nil]; 
先獲得默認跟蹤事件句柄。和以前一樣,你需要設置跟蹤器的當前得屏幕名稱以確保後面的按鈕事件被記錄到正確的屏幕中。
 
然而,你還沒有記錄用戶查看屏幕的行爲。所以在發送數據前,你需要創建一個觸摸事件,(谷歌的框架將這個觸摸事件分類爲用戶體驗UX事件)。你將按鈕的標題作爲事件名稱發送給服務器。最後,你需要清除屏幕的名稱,防止後面的事件被錯誤地記錄到這個屏幕。
 
換句話說,跟蹤對象不只是記錄你輸入的信息。它還記錄自己的狀態會影響到你發送的記錄消息。你只需要告訴跟蹤器你想要記錄的事件數據,其他的內部狀態都是由跟蹤器自己記錄並維護的。
 
告訴跟蹤器當前的一個屏幕名稱是非常有意義的,因爲你能夠將這個值應用到候機的屏幕瀏覽和點擊事件中。然而我不建議你給跟蹤器一個點擊類型之類的字段,因爲每個點擊的類型都有可能不同。
在 startToggle 和 reset 方法中調用調用logButtonPress方法來記錄用戶的點擊按鈕事件:
  1. -(IBAction)startToggle:(id)sender{ 
  2.    [self logButtonPress:(UIButton *)sender]; 
  3.    ... 
  4. -(IBAction)reset:(id)sender{ 
  5.    [self logButtonPress:(UIButton *)sender]; 
  6.    ... 
編譯並運行你的程序吧! 切換到 Stopwatch 界面,觸發秒錶的開關,並在一段事件後停止秒錶,並點擊重置按鈕,這些事件將被跟蹤器記錄。
 
登錄谷歌分析後臺,打開你的應用統計信息可以查看這些信息。在左邊的頁面點擊“Behavior->Events->Overview”  and 你會看到你剛纔所做的事件記錄。
使用多個跟蹤器
可以在你的應用中使用多個跟蹤器,可以將數據發送到於此應用關聯的多個谷歌分析屬性表中。舉個例子說: 可能你有一個屬性表是給你的市場團隊,他們需要知道這個應用如何被人們使用,而另外一個跟蹤器設置的目的是爲了你的開發團隊,他們需要知道程序中哪一個部分有功能異常。
 
注意: 在本篇教程中,你不需要加入多個跟蹤器。本段落只是提供你實現多個跟蹤器的一些思路。
 
設置多個跟蹤器只需要簡單地用多個屬性ID去初始化各個跟蹤器:
id tracker1 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-1"];
id tracker2 = [[GAI sharedInstance] trackerWithName:@"Tracker2"
                                                     trackingId:@"UA-XXXX-2"];
默認情況下,第一個被初始化的跟蹤器就是默認的跟蹤器。之前你已經見過如何訪問默認跟蹤器:
 
  1. id tracker = [[GAI sharedInstance] defaultTracker]; 
你是否意識到上面的兩段代碼,GAI能夠獲得的默認跟蹤器就是 tracker1, 如果你想要修改默認跟蹤器,你可以這麼做:
 
  1. [[GAI sharedInstance] setDefaultTracker:tracker2]; 
在這個例子裏,這段代碼執行之後,所有的默認跟蹤器就指向了tracker2。
 
採樣率:避免數據的不一致
採樣在谷歌分析服務和其他任何分析軟件中,都是指從你的數據中抽取一小部分進行分析,然後根據統計獲得整體數據的趨勢和統計結果。 採樣被廣泛的應用在統計分析中,因爲分析一個子集數據可以得到結果和分析全部數據得到的結果基本一致。採樣能夠加速數據報告的處理,尤其是當數據量巨大無比的時候,這種速度優勢會很明顯。如果你的用戶數量很多那麼採樣將非常重要。
 
之前你考慮了三個重要的關鍵詞彙:賬號,屬性,視圖。當你在某一個屬性表上創建一個視圖 (想象一下,查看你的應用程序的某一個窗口在給定條件下的使用情況)你必須保證這個數據發送給谷歌分析服務器的採樣率和統計時候的採樣率是一致的。如果不一致,假設數據採樣的頻率過高的話,統計結果將會掩蓋哪些採樣率比較低端的情況 這樣會扭曲你的統計分析結果。
 
爲了保證你的跟蹤器採樣數據的一致性,你應該在任何版本任何時候保持一個固定的採樣率。更新跟蹤器+當前的版本號很容易:加下面的代碼到 AppDelegate:
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  2.     ... 
  3.   
  4.     NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; 
  5.     [tracker set:kGAIAppVersion value:version]; 
  6.     [tracker set:kGAISampleRate value:@"50.0"]; 
這段代碼將會自動從Info.plist文件中獲取當前應用的版本號,把版本號設置到跟蹤器 對象中。它然後有設置了50%的採樣率。
 
現在到XCode中的“Project Settings”中修改你的應用版本號到1.2。
當你運行應用的時候,跟蹤器會響應這個改動,並且開始在所有數據中記錄版本號 。最後一步是創建一個谷歌分析服務的查詢視圖的將數據根據版本號過濾出來。
 
返回到你的谷歌分析服務控制檯,在右邊視圖下拉框中選擇“創建新視圖”。
 
 
確保你選擇了移動應用,給視圖命名,我輸入的是“Clock – v1.2”。
 
這樣會成功地創建一個新視圖,下一個不你需要設置一個過濾器,能夠過濾出你指定的數據。
 
選擇過濾器選項在下拉列表中選擇新過濾器 (如紅色按鈕所示)。
 
如下圖,應用過濾器 。你會查找到指定應用版本號的數據,這樣你可以只看版本1.2的相關數據了。
 
現在編譯並運行你的iOS應用在你新創建的視圖中(Reporting->Real-Time->Screens)查看你的數據流。
 
關閉統計
最後但同樣重要的是: 你可以允許你的用戶選擇關閉匿名數據統計。你可以開啓一個應用級別的關閉選項--允許關閉谷歌分析服務:
  1. [[GAI sharedInstance] setOptOut:YES]; 
你的時鐘應用中,你可以在第一次啓動的時候詢問用戶是否關閉數據跟蹤功能。首先,我們需要在AppDelegate添加里面創建一個提醒框,當應用啓動完成之後顯示給用戶。爲了正確的處理提醒框,你必須保證你的AppDelegate 實現時派生自 UIAlertViewDelegate. 在你的應用的 SSAppDelegate.h中加入以下代碼:
  1. #import <UIKit/UIKit.h> 
  2. @interface SSAppDelegate : UIResponder <UIApplicationDelegate, UIAlertViewDelegate> 
  3. @property (strong, nonatomic) UIWindow *window; 
  4. @end 
之後你的AppDelegates 實現代碼 SSAppDelegate.m 文件中添加:
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  2.      ... 
  3.   
  4.     UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Google Analytics" message:@"With your permission usage information will be collected to improve the application." delegate:self cancelButtonTitle:@"Opt Out" otherButtonTitles:@"Opt In", nil]; 
  5.     [av show]; 
  6.   
  7.     return YES; 
  8. - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
  9.     switch (buttonIndex) { 
  10.         case 0: 
  11.             [[GAI sharedInstance] setOptOut:YES]; 
  12.             break
  13.         case 1: 
  14.             [[GAI sharedInstance] setOptOut:NO]; 
  15.             break
  16.   
  17.         default
  18.             break
  19.     } 
 
完成之後,應用啓動時會顯示一個提示框要求用戶做如下選擇:
1.開啓日誌功能 -允許你在谷歌分析服務後臺看到所有數據。
2.關閉日誌功能 -沒有任何數據會被髮送到谷歌服務器上。
 
最後一次編譯並運行。這此應用會給顯示一個選擇框。你還要調試的,別點錯了啊,哈哈 :]
 
接下來做什麼呢?
恭喜你,你已經完成了本篇的教程!我希望本篇所學能給幫你在你的移動應用中更好的使用谷歌分析功能。你在可以下載完整的時鐘項目download the complete clock project
 
你可以在當前的谷歌分析賬戶中做的更多好玩的嘗試:
1.嘗試爲你自己定製報告 -你可以定製複雜一點的數據查詢條件。
2.查看報告中行爲和行爲流 -它可以展示點擊發生的順序。典型的使用場合:如果你開始對一個給定頁面進行一輪A/B測試,你就可以通過“行爲流”來查看那一個測試用例帶來更好的轉化率(也就是點擊跳轉的用戶更多)。
3.試着拓展一下想像空間—不要僅僅將谷歌分析服務當作一個商業工具,挖掘一下如何深度使用。比如,你正在開發一個尋寶遊戲-那麼用谷歌分析來記錄和統計用戶在遊戲中發現寶藏的次數。這樣的話你能夠發現地圖中哪些寶藏太容易或者太難被找到! 
 
來源:raywenderlich
發佈了20 篇原創文章 · 獲贊 0 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章