【问题标题】:Implementing Google Analytics for iOS为 iOS 实施 Google Analytics
【发布时间】:2012-03-21 13:46:57
【问题描述】:

作为拥有 Flurry Analytics 经验的人,谁能解释在 iOS 版 Google Analytics(分析)中实现事件跟踪和自定义变量的正确位置? Google 提供的示例将所有内容都推入 AppDelegate。不确定他们是否为了简洁而这样做。

我知道为什么 init 调用进入 AppDelegate:

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

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

   //...

}

但是这些收集与特定视图相关的特定数据的调用呢?他们可以进入各自的 ViewController 而不是 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) 上面显示的 Google Analytics for iOS 调用需要在 AppDelegate 中包含哪些内容?
2) 上面显示的哪些 Google Analytics for iOS 调用可以放入 ViewControllers 中?

谢谢

【问题讨论】:

标签: ios5 uiviewcontroller google-analytics uiapplicationdelegate


【解决方案1】:

你把第一部分放到 AppDelegate 中,没错。

在每个viewController的viewDidLoad方法中放:

NSError *error;

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

其中@"/app_entry_point" 应该是 ViewController 的名称,例如:"/mainWindow"。

用于跟踪您的方法的下一段代码,在方法内部使用。

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

【讨论】:

  • 但是自定义变量呢?应该在每个事件之前重置它们,还是在应用程序委托中设置一次就足够了?
猜你喜欢
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 2015-10-02
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
  • 2016-05-04
相关资源
最近更新 更多