全埋點 (iOS)
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