UserClear SDK for iOS 快速集成指南
概要
量江湖 SDK是移动应用推广效果跟踪工具,主要用于App推广过程中的新增(激活)用户统计,结合后端的防作弊平台,给开发者提供正常与异常激活用户的反馈。
请仔细对照文档集成,如有疑问请联系:
技术支持:QQ群 475600268,邮件 userclear@lbadvisor.net
更新说明
- 2017-04-01 增加归因数据追踪功能
- 2016-01-19 增加加集成测试,修复bug,增强稳定性
- 2015-10-30 对SDK进行优化
- 2015-10-22 增加页面统计和事件统计接口
- 2015–08–06 增加调试模式,开发者自助检测是否成功集成SDK;将SDK分为采集IDFA的标准版本和不采集IDFA的无IDFA版本
- 2015–07–13 发布Beta版本
一、获取AppKey
集成量江湖SDK之前,请首先到量江湖官网注册并添加新应用,获取AppKey
二、获取SDK
请联系量江湖技术支持
三、集成步骤
第一步 导入SDK
下载数据统计SDK后解压至本地目录,将其中的UserClear_v2.1.0文件夹导入到您的应用工程中;
在您的工程里,选择File --> Add Files to“Your Project” --> 选择UserClear.h和libUserClearSdk.a两个文件勾选Copy items into destination group’s folder (if needed) 并确保所有要用到SDK的targets都处于选中状态。
第二步 添加依赖框架(FRAMEWORK)
在Xcode中,添加
SystemConfiguration.framework
、iAd.framework
和libz.dylib
(Xcode7.0及以上,加libz.tbd)框架;
第三步 基础调用方法
参数填写
- 将"您的应用KEY" 替换为您应用真实的APPKEY(通过第一步获取)
- 将"您的CHANNEL渠道"替换成您想统计的渠道(建议渠道名字由字母、数字、下划线组成,中文可能会出现乱码)
- 注:AppKey请确保填写正确,否则数据不会发送成功,在logcat日志会输出"AppKey is wrong"字样
例子:
打开AppDelegate.m(假如这是你的项目入口)文件,引入UserClear.h,并在- (BOOL)application:didFinishLaunchingWithOptions:方法中调用
registerApp:withChannelId:方法来初始化SDK ,完成后如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//"xxxxxxxxxxxxxxx"替换为步骤1注册的AppKey
[UserClear registerApp:@"xxxxxxxxxxxxxxx" withChannelId:nil];
return YES;
}
完成以上步骤,即可完成SDK的集成工作。
高级功能
1. 归因数据追踪
苹果的竞价广告提供Attribution API(即归因API),开启这个功能之后能追踪到从搜索广告而来的每个用户的后续行为。
使用归因数据追踪功能,请在程序入口添加以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//"xxxxxxxxxxxxxxx"替换为步骤1注册的AppKey
[UserClear registerApp:@"xxxxxxxxxxxxxxx" withChannelId:nil];
[UserClear setTrackAttributionEnabled:YES]; //归因数据追踪
return YES;
}
2. 自定义事件
自定义事件可以记录用户与应用交互的行为(如注册,登录,付费等),对它的追踪可以更好的判断用户质量(包括反作弊),从而对广告投放进行优化。
在应用程序要跟踪的事件处加入相应代码,即可成功添加事件到您的应用程序中,如下面两个例子:
示例1:注册事件
[UserClear logEvent:@"注册"];
示例2:在一款游戏中记录玩家购买宝石数据,并收集玩家相关信息。
NSMutableDictionary *dic = [ [NSMutableDictionary alloc] init];
[dic setObject:@"30-40" forKey:@"level"];//级别区间
[dic setObject:@"关卡十" forKey:@"name"]; //关卡名称
[dic setObject:@"10000" forKey:@"count"]; //购买宝石数量
[dic setObject:@"100" forKey:@"sum"]; //金额
[dic setObject:@"USD" forKey:@"currency"]; //货币单位
[UserClear logEvent:@"buyGemstone" withEventProperties:dic];//购买宝石事件
四、测试与调试
调试模式
使用调试模式,请在程序入口添加以下代码:
[UserClear setLogEnabled:YES];
在Xcode里,运行App后,Xcode控制台打印发送成功!
的字样,说明SDK集成成功。
注意⚠:正式打包时请关闭调试模式。
集成测试(推荐使用)
什么是集成测试? 集成测试是通过收集和展示已注册测试设备发送的日志,来检验SDK集成有效性和完整性的一个服务。 所有由注册设备发送的应用日志将实时地进行展示,提升集成与调试的工作效率。
注意:使用集成测试之后,所有测试数据不会进入应用正式的统计后台,只能通过API查看,您不必再担心因为测试而导致的数据污染问题,让数据更加真实有效的反应用户使用情况。
添加一个测试设备
export APPKEY=567a83cb78e58e67fe000996
export DEVICE_ID=a7da092187a80320439d5383740e300bfb69891d
curl -XPOST https://sdk.lbadvisor.com/debug/v2/config/ios/$APPKEY/$DEVICE_ID
其中:
$APPKEY通过第一步获取的APPKEY替换
$DEVICE_ID的获取需将下面的代码片段拷贝至您的代码中并执行,这段代码将产生以下格式的IDE日志输出,即设备识别信息
Class cls = NSClassFromString(@"UserClearHelper");
SEL deviceIDSelector = @selector(openUDIDString);
NSString *deviceID = nil;
if(cls && [cls respondsToSelector:deviceIDSelector]){
deviceID = [cls performSelector:deviceIDSelector];
}
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:@{@"UserClear_Device_id" : deviceID}
options:NSJSONWritingPrettyPrinted
error:nil];
NSLog(@"%@", [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]);
将UserClear_Device_id后面字符串拷贝,然后替换上面的$DEVICE_ID
删除一个测试设备
curl -XPOST https://sdk.lbadvisor.com/debug/v2/config/ios/$APPKEY/$DEVICE_ID?delete=true
其中appkey与device_id同添加一个设备的接口一致,唯一的区别是增加了delete参数,如果要删除该设备请将该参数置为true
如何查询DEBUG日志
export OFFSET=0
export LIMIT=10
curl "https://sdk.lbadvisor.com/debug/v2/log_list?appkey=$APPKEY&device_id=$DEVICE_ID&from=$OFFSET&size=$LIMIT"
# 也可以把URL打印出来,粘贴到浏览器中访问
echo "https://sdk.lbadvisor.com/debug/v2/log_list?appkey=$APPKEY&device_id=$DEVICE_ID&from=$OFFSET&size=$LIMIT"
其中appkey与device_id同添加一个设备的接口一致,增加的是from和size两个参数,默认值分别为0,10,按时间倒序进行排序。
上架Appstore说明
假如你的App没有集成任何广告服务,可按照下图填写相应的IDFA选项:
图中有四个复选框,将第2、第3和第4个复选框选中即可。
假如你的App集成了广告服务,则上图中的第一个复选框也要选上。