为 iOS 实施 Google Analytics
Posted
技术标签:
【中文标题】为 iOS 实施 Google Analytics【英文标题】:Implementing Google Analytics for iOS 【发布时间】: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 中?
谢谢
【问题讨论】:
在这里找到了一个很好的解释:code.google.com/mobile/articles/analytics_end_to_end.html 【参考方案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
【讨论】:
但是自定义变量呢?应该在每个事件之前重置它们,还是在应用程序委托中设置一次就足够了?以上是关于为 iOS 实施 Google Analytics的主要内容,如果未能解决你的问题,请参考以下文章
没有为 iOS 应用生成 Google Analytics 人口统计数据
javascript Google Analytics(分析) - 动态表单字段跟踪数据层实施
实施 HTTP 到 HTTPS 重定向,保留 Google Analytics(分析)引荐来源网址