pal*_*lmi 69 iphone google-analytics ios
借助Google Analytics for iOS v2,Google建议将其GAITrackedViewController类继承为子类UIViewController.在UITableViewController的情况下我们做什么?
#import "GAITrackedViewController.h"
@interface AboutViewController : GAITrackedViewController
Run Code Online (Sandbox Code Playgroud)
dmz*_*zza 126
请记住,扩展GAITrackedViewController只是跟踪屏幕视图的一种方法.手动方式同样简单.
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// returns the same tracker you created in your app delegate
// defaultTracker originally declared in AppDelegate.m
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
// manual screen tracking
[tracker sendView:@"Home Screen"];
}
Run Code Online (Sandbox Code Playgroud)
#import "GAI.h"
#import "GAIFields.h"
#import "GAIDictionaryBuilder.h"
Run Code Online (Sandbox Code Playgroud)
...
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// returns the same tracker you created in your app delegate
// defaultTracker originally declared in AppDelegate.m
id tracker = [[GAI sharedInstance] defaultTracker];
// This screen name value will remain set on the tracker and sent with
// hits until it is set to a new value or to nil.
[tracker set:kGAIScreenName
value:@"Home Screen"];
// manual screen tracking
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];
}
Run Code Online (Sandbox Code Playgroud)
https://developers.google.com/analytics/devguides/collection/ios/v2/screens#manual https://developers.google.com/analytics/devguides/collection/ios/v3/screens#manual
Kei*_*ith 14
为了清理我的Swift项目中的手动跟踪代码,我创建了以下 UIViewController扩展.
extension UIViewController {
func trackScreenView(screenName: String) {
let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: screenName)
tracker.send(GAIDictionaryBuilder.createAppView().build())
}
}
Run Code Online (Sandbox Code Playgroud)
以这种方式使用扩展可能不合适,因为我没有使用UIViewController中的任何属性,但它是一种比全局方法更好的方便方式.如果您不介意使用类名而不是格式良好的名称,您甚至可以使用它NSStringFromClass(self.dynamicType)来获取ViewController类名,如下所示:
extension UIViewController {
func trackScreenView() {
let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: NSStringFromClass(self.dynamicType))
tracker.send(GAIDictionaryBuilder.createAppView().build())
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我使用以下代码从我的UITableViewControllers添加手动跟踪:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
trackScreenView("Detail View") //Or call this without any arguments if using the NSStringFromClass idea
}
Run Code Online (Sandbox Code Playgroud)
干净整洁.请享用!
| 归档时间: |
|
| 查看次数: |
14043 次 |
| 最近记录: |