自动采集子系统(3.5APP控件点击事件APP的设置及设置属性分析)

优采云 发布时间: 2021-10-23 15:08

  自动采集子系统(3.5APP控件点击事件APP的设置及设置属性分析)

  设置页面的属性和URL信息,SDK会自动将getTrackProperties:的返回值添加到View Controller的APP浏览页面事件中;此外,getScreenUrl: 的返回值将用作页面的 URL Schema。当触发本页面的浏览事件时,会添加预设属性#url,值为当前页面的URL Schema。同时,SDK 会在跳转前获取页面的 URL Schema。如果能获取到就加到预设属性中#referrer为转发地址。

  @interface MYController : UITableViewController

@end

@implementation MYController

//对所有APPID实例进行设置

- (NSDictionary *)getTrackProperties {

return @{@"PageName" : @"商品详情页", @"ProductId" : @12345};

}

- (NSString *)getScreenUrl {

return @"APP://test";

/** 多APPID实例单独进行设置

* - (NSDictionary *)getTrackPropertiesWithAppid{

* return @{@"appid1" : @{@"testTrackProperties" : @"测试页"},

* @"appid2" : @{@"testTrackProperties2" : @"测试页2"},

* };

* }

* -(NSDictionary *)getScreenUrlWithAppid {

* return @{@"appid1" : @"APP://test1",

* @"appid2" : @"APP://test2",

* };

* }

*/

}

@end

  3.5 APP控制点击事件

  APP控件点击事件会在用户点击控件时触发

  对于页面上View的点击事件,有几种方法可以设置更多的属性来扩展其解析值:

  3.5.1 设置控件元素ID

  您可以为页面(视图)上的元素设置元素 ID,以区分具有不同含义的元素。您可以使用以下方法设置元素 ID:

  //对所有APPID实例进行设置

self.table1.thinkingAnalyticsViewID = @"testtable1";

// 多APPID实例单独进行设置

// self.table1.thinkingAnalyticsViewIDWithAppid = @{ @"app1" : @"testtableID2",

@"app2" : @"testtableID3" };

  此时会在table1的点击事件中添加预设属性#element_id,值为这里传入的值

  3.5.2 自定义控件点击事件的属性

  对于大多数控件,可以直接使用thinkingAnalyticsViewProperties来设置自定义属性:

  //对所有APPID实例进行设置

self.table1.thinkingAnalyticsViewProperties = @{@"key1":@"value1"};

// 多APPID实例单独进行设置

// self.table1.thinkingAnalyticsViewPropertiesWithAppid = @{@"app1":@{@"tablekey":@"tablevalue"},

@"app2":@{@"tablekey2":@"tablevalue2"}

};

  3.5.3 UITableView 和 UI采集View 控件点击事件属性

  对于 UITableView 和 UI采集View,需要通过实现 Protocol 来设置自定义属性:

  1.首先在View Controller类中实现Protocol

  2.其次,在类中设置代理。建议在viewDidLoad方法中设置。

  self.table1.thinkingAnalyticsDelegate = self;

  //对所有APPID实例进行设置,设置UITableView的自定义属性

-(NSDictionary *) thinkingAnalytics_tableView:(UITableView *)tableView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath

{

return @{@"testProperty":@"test"};

}

/** 多APPID实例单独进行设置

* -(NSDictionary *) thinkingAnalyticsWithAppid_tableView:(UITableView *)tableView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath {

* return @{@"app1":@{@"autoPro":@"tablevalue"},

* @"app2":@{@"autoPro2":@"tablevalue2"}

* };

* }

*/

  //对所有APPID实例进行设置,设置UICollectionView的自定义属性

-(NSDictionary *) thinkingAnalytics_collectionView:(UICollectionView *)collectionView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath;

{

return @{@"testProperty":@"test"};

}

/** 多APPID实例单独进行设置

* - (NSDictionary *)thinkingAnalyticsWithAppid_collectionView:(UICollectionView *)collectionView autoTrackPropertiesAtIndexPath:(NSIndexPath *)indexPath {

* return @{@"app1":@{@"autoProCOLL":@"tablevalueCOLL"},

* @"app2":@{@"autoProCOLL2":@"tablevalueCOLL2"}

* };

* }

*/

  4.最后在类的viewWillDisappear方法中将thinkingAnalyticsDelegate设置为nil

  -(void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

self.table1.thinkingAnalyticsDelegate = nil;

}

  3.6 APP崩溃事件

  当APP有未捕获的异常时,会上报APP崩溃事件

  四、忽略自动采集事件

  您可以通过以下方式忽略页面或控件的自动采集事件

  4.1 忽略页面的自动采集事件

  对于某些页面(View Controller),如果不想传递自动采集事件(包括页面浏览和控件点击事件),可以通过以下方法忽略:

  NSMutableArray *array = [[NSMutableArray alloc] init];

[array addObject:@"IgnoredViewController"];

// 多APPID实例时对单个APPID实例设置,忽略某个页面的自动采集事件

[[ThinkingAnalyticsSDK sharedInstanceWithAppid:APP_ID] ignoreAutoTrackViewControllers:array];

// 单APPID实例时可调用

// [[ThinkingAnalyticsSDK sharedInstance] ignoreAutoTrackViewControllers:array];

  4.2 忽略某类控件的点击事件

  如果需要忽略某类控件的点击事件,可以使用下面的方法忽略

  // 多APPID实例时对单个APPID实例设置,忽略某个类型的所有控件

[[ThinkingAnalyticsSDK sharedInstanceWithAppid:APP_ID] ignoreViewType:[IgnoredClass class]];

// 单APPID实例时可调用

// [[ThinkingAnalyticsSDK sharedInstance] ignoreViewType:[IgnoredClass class]];

  4.3 忽略一个元素(View)的点击事件

  如果想忽略某个元素(View)的点击事件,可以使用下面的方法忽略

  // 对所有APPID实例进行设置

self.table1.thinkingAnalyticsIgnoreView = YES;

// 多APPID实例单独进行设置

// self.table2.thinkingAnalyticsIgnoreViewWithAppid = @{@"appid1" : @YES,@"appid2" : @NO};

  五、Auto采集预设事件属性

  以下预设属性是每个自动采集事件中唯一的预设属性

  属性名称中文名称说明

  #resume_from_background

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线