3

作爲來自Flurry Analytics的經驗的人,有人能解釋在Google Analytics for iOS中實施事件跟蹤和自定義變量的正確位置嗎? Google提供的示例將所有內容都推送到AppDelegate中。不知道他們是否爲了簡潔起見而這樣做。

我可以看到爲什麼初始化調用將在AppDelegate中:實施適用於iOS的Google Analytics

//AppDelegate.m 
- (void)applicationDidFinishLaunching:(UIApplication *)application { 

    [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1" 
            dispatchPeriod:kGANDispatchPeriodSec 
              delegate:nil]; 

    //... 

} 

但是對於這些調用,收集相關的特定視圖具體數據?他們可以進入各自的ViewControllers而不是AppDelegate嗎?

[[GANTracker sharedTracker] setCustomVariableAtIndex:1 
                name:@"iPhone1" 
                value:@"iv1" 
               withError:&error] 

[[GANTracker sharedTracker] trackEvent:@"my_category" 
            action:@"my_action" 
            label:@"my_label" 
            value:-1 
           withError:&error] 

[[GANTracker sharedTracker] trackPageview:@"/app_entry_point" 
           withError:&error] 

問題

1)什麼的iOS谷歌Analytics(分析)來電顯示上述需求是在AppDelegate中?
2)上面顯示的iOS調用Google Analytics可以放入ViewControllers嗎?

謝謝

+1

在這裏找到一個很好的解釋:http://code.google.com/mobile/articles/analytics_end_to_end.html – Slinky 2012-03-21 13:58:37

回答

3

你把第一部分放到AppDelegate中,沒錯。

在每一個的viewController的viewDidLoad方法提出:

NSError *error; 

if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"  
withError:&error]) {  
// Handle error here  
} 

其中@ 「/ app_entry_point」 應該是視圖控制器的名稱,例: 「/主窗口」。

下一段代碼用於跟蹤您的方法,用於方法內部。

 NSError *error; 
    if (![[GANTracker sharedTracker] trackEvent:@"my_category"   
    action:@"my_action"   
    label:@"my_label"   
    value:-1   
    withError:&error]) {   
    // Handle error here   
    } 
+0

不俗的表現。謝謝 – Slinky 2012-03-28 15:00:18

+1

但是自定義變量呢?應該在每個事件之前重置它們,還是足夠在應用程序委託中設置它們一次? – 2012-04-17 09:57:54

相關問題