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.frameworkiAd.frameworklibz.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选项:

idfa

图中有四个复选框,将第2、第3和第4个复选框选中即可。

假如你的App集成了广告服务,则上图中的第一个复选框也要选上。