首先搭建開發環境:
一、先下載下傳Google Analytics(谷歌分析)SDK。 https://developers.google.com/analytics/devguides/collection/ios/v3/(文檔介紹)
https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download(SDK)
二、下載下傳的SDK檔案包含下面幾個檔案夾和檔案
GoogleAnalytics GoogleTagManager libGoogleAnalyticsServices.a Readme.txt 1、在 Google Analytics 檔案夾, 打開 Library 檔案夾, 選中下面幾個檔案将它們拖拽到工程中。 GAI.h GAITracker.h GAITrackedViewController.h GAIDictionaryBuilder.h GAIFields.h GAILogger.h
2、添加以下類庫 libGoogleAnalyticsServices.a(Google Analytics SDK檔案裡的庫) CoreData.framework SystemConfiguration.framework libz.tbd libsqlite3.tbd
這樣2個步驟就搞定了開發環境,下面直接上代碼:(簡單使用 Google Analytics) 1、在AppDelegate.m檔案中 1)導入 #import "GAI.h" 頭檔案
2)
//-----------Google Analytics
static NSString *const kCutePetsPropertyId = @"UA-59672263-2";
// Dispatch interval for automatic dispatching of hits to Google Analytics.
// Values 0.0 or less will disable periodic dispatching. The default dispatch interval is 120 secs.
static NSTimeInterval const kCutePetsDispatchInterval = 120.0;
// Set log level to have the Google Analytics SDK report debug information only in DEBUG mode.
#if DEBUG
static GAILogLevel const kCutePetsLogLevel = kGAILogLevelVerbose;
#else
static GAILogLevel const kCutePetsLogLevel = kGAILogLevelWarning;
#endif
//-----------
3)在 didFinishLaunchingWithOptions方法中加入
// Automatically send uncaught exceptions to Google Analytics.
[GAI sharedInstance].trackUncaughtExceptions = YES;
// Set the dispatch interval for automatic dispatching.
[GAI sharedInstance].dispatchInterval = kCutePetsDispatchInterval;
// Set the appropriate log level for the default logger.
[GAI sharedInstance].logger.logLevel = kCutePetsLogLevel;
// Initialize a tracker using a Google Analytics property ID.
[[GAI sharedInstance] trackerWithTrackingId:kCutePetsPropertyId];
4)在要監控的界面添加
-(void)viewWillAppear:(BOOL)animated{
[self showGoogleAnalytics];
}
//-----------Google Analytics
-(void)showGoogleAnalytics
{
NSMutableDictionary *event =
[[GAIDictionaryBuilder createEventWithCategory:@"Homepage"
action:(nil )
label:nil
value:nil] build];
[[GAI sharedInstance].defaultTracker send:event];
[[GAI sharedInstance] dispatch];
}
參考文章:
谷歌分析iOS開發包實戰
釋出于:2014-01-08 10:53閱讀數:12022
本篇教程将會帶你浏覽谷歌分析開發包(Google Analytics)的所有主要内容。與此同時,你能夠體驗将Google Analytics添加到一款适用跑步愛好者的計時器應用中,通過添加SDK記錄使用者使用各種功能和
“ ” 閱讀器

這篇文章還可以在這裡找到 英語 建立一個成功的産品,你和你的團隊必須掌握一個分析和統計使用者資料的方法!否則,你永遠也無法知道你的應用哪些部分是使用者一直偏愛使用的,而且沒有發生異常,哪些不是。有許多種方式去衡量使用者的使用情況并且有大量的現成架構能夠幫助你做到這一點。在本篇教程中,你将會學習谷歌分析開發包(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 頭檔案,方法如下:
- #import "GAI.h"
- #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
- [GAI sharedInstance].trackUncaughtExceptions = YES;
- // 2
- [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
- // 3
- [GAI sharedInstance].dispatchInterval = 20;
- // 4
- 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 類派生關系 如下文所示:
- #import "GAITrackedViewController.h"
- @interface ClockViewController : GAITrackedViewController
- @end
其次,更新 ClockViewController.m設定 screenName屬性,最好在 viewDidLoad中進行:
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- self.screenName = @"Clock";
- }
就這樣就OK了!這短短的兩處改動就能夠讓谷歌分析開始追蹤工作了。 現在視圖控制器有了于之關聯的螢幕界面名稱,當上一級視圖控制器的GAITrackedViewController viewWillAppear 方法的被調用時候就去用這個名稱去注冊螢幕界面。 在這個方法裡面有許多上一級的視圖控制器會做許多事情: 1.獲得共享執行個體的預設跟蹤器并設定你的跟蹤ID。 2.告訴跟蹤器,目前正在跟蹤的螢幕是時鐘(“Clock”)螢幕。 3.生成一條日志記錄報行目前的時間及其他有用資訊。 4.調用預設的跟蹤器對象和谷歌分析伺服器互動上傳資訊。因為之前我們配置了日志的等級為“詳細日志”,是以你可以通過控制台輸出視窗看到這些資訊。 這麼多事情隻要幾行代碼就搞定了,很爽吧?你的應用已經開始發送資料到谷歌分析伺服器端了。 但是别着急去谷歌分析伺服器背景控制台去看資料。讓我們在應用端多加一些功能,然後再去背景控制台看統計資料。
手動螢幕跟蹤 雖然自動記錄螢幕檢視資料非常的友善,但是并不是所有人都喜歡或者想要将視圖類從GAITrackedViewController做派生。 這種情況下,需要一個手動的解決方案。和自動的方法類似,你可以主動發送螢幕資訊給谷歌來達到螢幕跟蹤的目的。你需要獲得跟蹤對象,設定它的一個屬性值,然後手動地建立并且發送這個螢幕檢視事件。 讓我們嘗試在 StopWatchViewController 裡使用這種方法實驗一下。 打開 StopWatchViewController.m 源檔案,在檔案最開始導入 GAIDictionaryBuilder 類:
- #import GAIDictionaryBuilder.h
和之前不一樣,你必須要獲得一個預設跟蹤器的句柄并給它賦上你正在跟蹤的螢幕ID值 。你之後需要構造一個應用螢幕記錄,這樣跟蹤器能夠記錄正在被浏覽的螢幕并且将螢幕屬性資訊發回到谷歌分析伺服器。在該檔案的 add viewDidAppear 方法中加入以下代碼:
- - (void)viewDidAppear:(BOOL)animated {
- [super viewDidAppear:animated];
- id tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIScreenName value:@"Stopwatch"];
- [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 中加入這個方法:
- -(void)logButtonPress:(UIButton *)button{
- id tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIScreenName value:@"Stopwatch"];
- [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"UX"
- action:@"touch"
- label:[button.titleLabel text]
- value:nil] build]];
- [tracker set:kGAIScreenName value:nil];
- }
先獲得預設跟蹤事件句柄。和以前一樣,你需要設定跟蹤器的目前得螢幕名稱以確定後面的按鈕事件被記錄到正确的螢幕中。 然而,你還沒有記錄使用者檢視螢幕的行為。是以在發送資料前,你需要建立一個觸摸事件,(谷歌的架構将這個觸摸事件分類為使用者體驗UX事件)。你将按鈕的标題作為事件名稱發送給伺服器。最後,你需要清除螢幕的名稱,防止後面的事件被錯誤地記錄到這個螢幕。 換句話說,跟蹤對象不隻是記錄你輸入的資訊。它還記錄自己的狀态會影響到你發送的記錄消息。你隻需要告訴跟蹤器你想要記錄的事件資料,其他的内部狀态都是由跟蹤器自己記錄并維護的。 告訴跟蹤器目前的一個螢幕名稱是非常有意義的,因為你能夠将這個值應用到候機的螢幕浏覽和點選事件中。然而我不建議你給跟蹤器一個點選類型之類的字段,因為每個點選的類型都有可能不同。 在 startToggle 和 reset 方法中調用調用logButtonPress方法來記錄使用者的點選按鈕事件:
- -(IBAction)startToggle:(id)sender{
- [self logButtonPress:(UIButton *)sender];
- ...
- }
- -(IBAction)reset:(id)sender{
- [self logButtonPress:(UIButton *)sender];
- ...
- }
編譯并運作你的程式吧! 切換到 Stopwatch 界面,觸發秒表的開關,并在一段事件後停止秒表,并點選重置按鈕,這些事件将被跟蹤器記錄。 登入谷歌分析背景,打開你的應用統計資訊可以檢視這些資訊。在左邊的頁面點選“Behavior->Events->Overview” and 你會看到你剛才所做的事件記錄。
使用多個跟蹤器 可以在你的應用中使用多個跟蹤器,可以将資料發送到于此應用關聯的多個谷歌分析屬性表中。舉個例子說: 可能你有一個屬性表是給你的市場團隊,他們需要知道這個應用如何被人們使用,而另外一個跟蹤器設定的目的是為了你的開發團隊,他們需要知道程式中哪一個部分有功能異常。 注意: 在本篇教程中,你不需要加入多個跟蹤器。本段落隻是提供你實作多個跟蹤器的一些思路。 設定多個跟蹤器隻需要簡單地用多個屬性ID去初始化各個跟蹤器: id tracker1 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-1"]; id tracker2 = [[GAI sharedInstance] trackerWithName:@"Tracker2" trackingId:@"UA-XXXX-2"]; 預設情況下,第一個被初始化的跟蹤器就是預設的跟蹤器。之前你已經見過如何通路預設跟蹤器:
- id tracker = [[GAI sharedInstance] defaultTracker];
你是否意識到上面的兩段代碼,GAI能夠獲得的預設跟蹤器就是 tracker1, 如果你想要修改預設跟蹤器,你可以這麼做:
- [[GAI sharedInstance] setDefaultTracker:tracker2];
在這個例子裡,這段代碼執行之後,所有的預設跟蹤器就指向了tracker2。 采樣率:避免資料的不一緻 采樣在谷歌分析服務和其他任何分析軟體中,都是指從你的資料中抽取一小部分進行分析,然後根據統計獲得整體資料的趨勢和統計結果。 采樣被廣泛的應用在統計分析中,因為分析一個子集資料可以得到結果和分析全部資料得到的結果基本一緻。采樣能夠加速資料報告的處理,尤其是當資料量巨大無比的時候,這種速度優勢會很明顯。如果你的使用者數量很多那麼采樣将非常重要。 之前你考慮了三個重要的關鍵詞彙:賬号,屬性,視圖。當你在某一個屬性表上建立一個視圖 (想象一下,檢視你的應用程式的某一個視窗在給定條件下的使用情況)你必須保證這個資料發送給谷歌分析伺服器的采樣率和統計時候的采樣率是一緻的。如果不一緻,假設資料采樣的頻率過高的話,統計結果将會掩蓋哪些采樣率比較低端的情況 這樣會扭曲你的統計分析結果。 為了保證你的跟蹤器采樣資料的一緻性,你應該在任何版本任何時候保持一個固定的采樣率。更新跟蹤器+目前的版本号很容易:加下面的代碼到 AppDelegate:
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- ...
- NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
- [tracker set:kGAIAppVersion value:version];
- [tracker set:kGAISampleRate value:@"50.0"];
- }
這段代碼将會自動從Info.plist檔案中擷取目前應用的版本号,把版本号設定到跟蹤器 對象中。它然後有設定了50%的采樣率。 現在到XCode中的“Project Settings”中修改你的應用版本号到1.2。
當你運作應用的時候,跟蹤器會響應這個改動,并且開始在所有資料中記錄版本号 。最後一步是建立一個谷歌分析服務的查詢視圖的将資料根據版本号過濾出來。 傳回到你的谷歌分析服務控制台,在右邊視圖下拉框中選擇“建立新視圖”。
確定你選擇了移動應用,給視圖命名,我輸入的是“Clock – v1.2”。
這樣會成功地建立一個新視圖,下一個不你需要設定一個過濾器,能夠過濾出你指定的資料。
選擇過濾器選項在下拉清單中選擇新過濾器 (如紅色按鈕所示)。
如下圖,應用過濾器 。你會查找到指定應用版本号的資料,這樣你可以隻看版本1.2的相關資料了。
現在編譯并運作你的iOS應用在你新建立的視圖中(Reporting->Real-Time->Screens)檢視你的資料流。
關閉統計 最後但同樣重要的是: 你可以允許你的使用者選擇關閉匿名資料統計。你可以開啟一個應用級别的關閉選項--允許關閉谷歌分析服務:
- [[GAI sharedInstance] setOptOut:YES];
你的時鐘應用中,你可以在第一次啟動的時候詢問使用者是否關閉資料跟蹤功能。首先,我們需要在AppDelegate添加裡面建立一個提醒框,當應用啟動完成之後顯示給使用者。為了正确的處理提醒框,你必須保證你的AppDelegate 實作時派生自 UIAlertViewDelegate. 在你的應用的 SSAppDelegate.h中加入以下代碼:
- #import <UIKit/UIKit.h>
- @interface SSAppDelegate : UIResponder <UIApplicationDelegate, UIAlertViewDelegate>
- @property (strong, nonatomic) UIWindow *window;
- @end
之後你的AppDelegates 實作代碼 SSAppDelegate.m 檔案中添加:
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- ...
- 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];
- [av show];
- return YES;
- }
- - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
- switch (buttonIndex) {
- case 0:
- [[GAI sharedInstance] setOptOut:YES];
- break;
- case 1:
- [[GAI sharedInstance] setOptOut:NO];
- break;
- default:
- break;
- }
- }
完成之後,應用啟動時會顯示一個提示框要求使用者做如下選擇: 1.開啟日志功能 -允許你在谷歌分析服務背景看到所有資料。 2.關閉日志功能 -沒有任何資料會被發送到谷歌伺服器上。 最後一次編譯并運作。這此應用會給顯示一個選擇框。你還要調試的,别點錯了啊,哈哈 :]
接下來做什麼呢? 恭喜你,你已經完成了本篇的教程!我希望本篇所學能給幫你在你的移動應用中更好的使用谷歌分析功能。你在可以下載下傳完整的時鐘項目 download the complete clock project 你可以在目前的谷歌分析賬戶中做的更多好玩的嘗試: 1.嘗試為你自己定制報告 -你可以定制複雜一點的資料查詢條件。 2.檢視報告中行為和行為流 -它可以展示點選發生的順序。典型的使用場合:如果你開始對一個給定頁面進行一輪A/B測試,你就可以通過“行為流”來檢視那一個測試用例帶來更好的轉化率(也就是點選跳轉的使用者更多)。 3.試着拓展一下想像空間—不要僅僅将谷歌分析服務當作一個商業工具,挖掘一下如何深度使用。比如,你正在開發一個尋寶遊戲-那麼用谷歌分析來記錄和統計使用者在遊戲中發現寶藏的次數。這樣的話你能夠發現地圖中哪些寶藏太容易或者太難被找到! 來源: raywenderlich
其他好文: http://blog.csdn.net/fengsh998/article/details/8836643