1. 开启全埋点

SDK 初始化前,配置 SAConfigOptions 实例的 autoTrackEventType 属性可以配置需要开启的全埋点类型:

// 可根据需求进行组合
options.autoTrackEventType = SensorsAnalyticsEventTypeAppStart |
							 SensorsAnalyticsEventTypeAppEnd |
							 SensorsAnalyticsEventTypeAppClick |
							 SensorsAnalyticsEventTypeAppViewScreen;
CODE


2. 事件的忽略与补充

对于全埋点中 App 页面浏览和 App 元素点击,开启全埋点后,SDK 也支持通过配置忽略部分页面或控件的采集。

2.1. 忽略页面的浏览事件

// 该方法支持多次调用,对合集进行忽略
[[SensorsAnalyticsSDK sharedInstance] ignoreAutoTrackViewControllers:@[@"MyViewController",
																	   @"BaseViewController"]];
CODE

2.2. 忽略某个控件的点击事件

button.sensorsAnalyticsIgnoreView = YES;
CODE

2.3. 忽略某类控件的点击事件

// 该方法支持多次调用,对合集进行忽略
[[SensorsAnalyticsSDK sharedInstance] ignoreViewType:[MyButton class]];
[[SensorsAnalyticsSDK sharedInstance] ignoreViewType:[MyView class]];
CODE

如果没有开启全埋点,但是想采集部分页面的浏览或部分控件的点击事件,SDK 也有相应的接口支持代码触发 App 页面浏览和 App 元素点击事件。

2.4. 手动触发页面的浏览事件

// 可在 viewDidAppear: 中调用代码进行触发
[[SensorsAnalyticsSDK sharedInstance] trackViewScreen:self.childViewControllers[0]];
CODE

2.5. 手动触发控件的点击事件

[[SensorsAnalyticsSDK sharedInstance] trackViewAppClick:button];
CODE

神策分析点击图、可视化全埋点功能,只支持全埋点方式触发的 App 点击事件。

3. 属性的补充与修改

如果在使用全埋点 App 页面浏览和 App 元素点击时遇到如下问题:

· 需要给控件或页面添加自定义信息
· 部分预置属性未采集到,如图片按钮采集不到 $element_content 属性,页面未采集到 $title 属性
· 采集的预置属性不符合业务需求

则需要您在代码中对全埋点采集的属性进行手动设置,SDK 会使用代码中设置值对全埋点属性进行补充或覆盖。

3.1. 页面设置自定义信息

通过实现 - getTrackProperties 协议方法给页面设置自定义属性:

// 1. UIViewController 遵循 SAAutoTracker 协议
// 2.- getTrackProperties 协议方法中返回自定义的页面信息
- (NSDictionary *)getTrackProperties {
	return @{@"$title": @"首页",
			 @"type": @"vendor"};
}
CODE

3.2. 页面设置来源($referrer)信息

如果需要在 App 浏览页面事件中添加当前页面的来源信息,可以通过实现 - getScreenUrl: 返回一个自定义的页面标识:

// 1. UIViewController 遵循 SAScreenAutoTracker 协议
// 2.- getScreenUrl 协议方法中返回自定义的页面标识
- (NSString *)getScreenUrl {
	return @"sa://page/product_detail";
}
CODE

3.3. 控件设置自定义属性

继承自 UIView 的控件,可通过 sensorsAnalyticsViewProperties 设置自定义信息:

homeBtn.sensorsAnalyticsViewProperties = @{@"$element_content": @"首页"};
CODE

3.4. cell 设置自定义属性

cell 存在重用机制,不能直接设置 sensorsAnalyticsViewProperties 属性,需要使用如下方法进行设置:

// 1. 给 tableView 或 collection 设置 sensorsAnalyticsDelegate
self.tableView.sensorsAnalyticsDelegate = self;

// 2. sensorsAnalyticsDelegate 中实现相应方法并返回自定义属性
-(NSDictionary *) sensorsAnalytics_tableView:(UITableView *)tableView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath {
	return @{@"customProperty":@"MyValue"};
}
CODE