最新版本:# iOS SDK 自动采集指南
优采云 发布时间: 2022-11-18 01:20最新版本:# iOS SDK 自动采集指南
iOS SDK Auto采集指南一、Auto采集简介
TA系统提供了自动采集数据的接口,您可以根据业务需求选择需要自动采集的数据。
目前支持的自动采集数据有:
APP安装,记录正在安装APP的日志。APP启动,包括打开APP和从后台唤醒APP。关闭,包括关闭APP并转入后台,统计启动时间。用户在APP中浏览页面(原生页面) 用户在APP中点击 控制APP崩溃时记录崩溃信息
采集每种数据类型的方法详述如下
2. 开启自动 采集
您可以通过调用 enableAutoTrack:: 打开自动采集
// 开启某个APPID实例的自动采集事件,支持多个APPID实例都开启自动采集
[[ThinkingAnalyticsSDK sharedInstanceWithAppid:APP_ID]enableAutoTrack:ThinkingAnalyticsEventTypeAppStart |
ThinkingAnalyticsEventTypeAppInstall |
ThinkingAnalyticsEventTypeAppEnd |
ThinkingAnalyticsEventTypeAppViewScreen |
ThinkingAnalyticsEventTypeAppClick |
ThinkingAnalyticsEventTypeAppViewCrash];
// 单APPID实例时可调用以下方法开启
// [[ThinkingAnalyticsSDK sharedInstance] enableAutoTrack:ThinkingAnalyticsEventTypeAppStart |
// ThinkingAnalyticsEventTypeAppInstall |
// ThinkingAnalyticsEventTypeAppEnd |
// ThinkingAnalyticsEventTypeAppViewScreen |
// ThinkingAnalyticsEventTypeAppClick |
// ThinkingAnalyticsEventTypeAppViewCrash];
上述参数表示为:
可以根据业务情况传入相应的需要采集事件的参数。请使用 | 拆分多个参数。
要设置公共事件属性或设置自定义访问者 ID,请务必在打开 auto采集 之前调用 setSuperProperties: 或 identify:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[ThinkingAnalyticsSDK startWithAppId:@"APP_ID"
withUrl:@"SERVER_URL"];
return YES;
}
[[ThinkingAnalyticsSDK sharedInstance] identify:@"123ABCabc"];
[[ThinkingAnalyticsSDK sharedInstance] setSuperProperties:@{
@"Channel":@"ABC",
@"Server":123,
@"isTest":@YES
}];
//设置完访客ID与公共属性后,再开启自动采集
[[ThinkingAnalyticsSDK sharedInstance] enableAutoTrack:ThinkingAnalyticsEventTypeAppStart |
ThinkingAnalyticsEventTypeAppInstall |
ThinkingAnalyticsEventTypeAppEnd |
ThinkingAnalyticsEventTypeAppViewScreen |
ThinkingAnalyticsEventTypeAppClick |
ThinkingAnalyticsEventTypeAppViewCrash];
3、自动采集事件详解 3.1 APP安装事件
APP安装事件会记录APP的实际安装情况,并在APP启动时上报。事件触发时间为APP安装后首次启动的时间。APP升级不会触发安装事件,但删除APP重新安装后会上报安装事件。
3.2 APP启动事件
APP启动事件会在用户启动APP,或从后台唤醒APP时触发。详细事件如下:
3.3 APP关闭事件
APP关闭事件会在用户关闭APP或将APP转到后台时触发。详细事件描述如下:
3.4 APP浏览页面事件
APP浏览页面事件会在用户切换页面(View Controller)时触发浏览页面事件。详细事件描述如下:
可以在页面浏览事件中加入其他属性,扩大其分析价值。下面是自定义页面浏览事件属性的方法:
3.4.1 自定义页面浏览事件属性
对于继承自 UIViewController 的视图控制器,您可以通过以下方式实现协议
设置页面的属性和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
您可以为页面上的元素(View)设置元素ID,以区分不同含义的元素。您可以使用以下方法设置元素 ID:
//对所有APPID实例进行设置
self.table1.thinkingAnalyticsViewID = @"testtable1";
// 多APPID实例单独进行设置
// self.table1.thinkingAnalyticsViewIDWithAppid = @{ @"app1" : @"testtableID2",
@"app2" : @"testtableID3" };
此时table1的点击事件会添加预设属性#element_id,value为这里的传入值
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.首先在ViewController类中实现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. 忽略自动 采集 事件
您可以忽略页面或控件的自动 采集 事件
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};
5.自动采集事件的预设属性
以下预设属性对于每个自动 采集 事件都是唯一的
属性名称
中文名
阐明
#resume_from_background
是否从后台唤醒
指示APP是否打开或从后台唤醒。值为true表示从后台唤醒,false表示直接打开
#start_reason
开始原因
APP启动原因,字符串类型。目前支持采集deeplink、push、3dtouch启动原因。
#background_duration
在后台持续时间
单位是秒
属性名称
中文名
阐明
#期间
活动持续时间
APP访问时长(从开始到结束),单位秒
属性名称
中文名
阐明
#标题
页面标题
是View Controller的标题,值为
controller.navigationItem.title
属性值
#屏幕名称
页面名称
是视图控制器的类名
#网址
页地址
需要调用的当前页面的地址
获取屏幕网址
进行网址设置
#推荐人
转发地址
跳转前页面的地址,需要调用跳转前的页面
获取屏幕网址
进行网址设置
属性名称
中文名
阐明
#标题
页面标题
是View Controller的标题,值为
controller.navigationItem.title
属性值
#屏幕名称
页面名称
是视图控制器的类名
#element_id
元素编号
控件ID,必填
thinkingAnalyticsViewID
进行设置
#元素类型
元素类型
控制类型
#element_selector
元素选择器
为控制
视图路径
拼接
#element_position
元素位置
控件的位置信息,仅当控件类型为
UI表格视图
或者
UI采集View
会存在,表示控件被点击的位置,值为
组号(Section):行号(Row)
#element_content
元素含量
控件上的内容
属性名称
中文名
阐明
#app_crashed_reason
异常信息
字符类型,崩溃时记录堆栈轨迹
6.自动采集事件设置自定义属性
可以调用enableAutoTrack:properties:开启auto采集特性,同时设置自定义属性
// 自动化采集自定义属性
[[ThinkingAnalyticsSDK sharedInstance] enableAutoTrack:ThinkingAnalyticsEventTypeAll properties:@{@"auto_key1": @"auto_value1"}];
您还可以调用 setAutoTrackProperties:properties: 来设置或更新自定义属性
[[ThinkingAnalyticsSDK sharedInstance] setAutoTrackProperties:ThinkingAnalyticsEventTypeAppEnd properties: @{@"auto_key2": @"auto_value2"}];
7.自动采集事件回调
从v2.7.4版本开始支持自动采集事件回调,可以调用enableAutoTrack:callback:开启自动采集功能,可以在回调中添加和更新属性。
[[ThinkingAnalyticsSDK sharedInstance] enableAutoTrack:ThinkingAnalyticsEventTypeAll callback:^NSDictionary * _Nonnull(ThinkingAnalyticsAutoTrackEventType eventType, NSDictionary * _Nonnull properties) {
if (eventType == ThinkingAnalyticsEventTypeAppStart) {
return @{@"addkey":@"addvalue"};
}
if (eventType == ThinkingAnalyticsEventTypeAppEnd) {
return @{@"updatekey":@"updatevalue"};
}
return @{};
}];
请不要在该回调中做耗时操作,否则会影响数据的正常存储
最新版本:魔兽世界怀旧服GatherMate采集插件 V1.46 最新版 下载
WOW Classic采集插件是经典的GatherMate2采集记录插件,可以在大地图和小地图上显示矿点、草药点、鱼群、气云、宝物等信息. 并具有强大的筛选功能,根据您的喜好显示采集点数。
GatherMate 会记住您采摘的每一株药草或开采的每一块矿石的位置,因此您可以轻松地再次找到药草和矿脉的位置。
【安装注意事项】
下载插件后解压,文件夹放在魔兽世界\_classic_\Interface\AddOns目录下,期间请关闭游戏
【使用说明】
使用 GatherMate2 很简单。
安装后,GatherMate2 会自动激活并采集数据。
您可以在配置对话框中配置哪些数据应该显示在世界地图或迷你地图上
您可以通过 /gathermate 命令或在游戏插件菜单中访问配置页面