IOS_SDK_接入说明文档

一、说明

1.适用范围

本文档适用于IOS 7.0及以上的操作系统。

2.统计说明

为了能够在接入过程中保持概念统一,针对通用概念做如下说明:

  • 设备

指某台安装了IOS应用的终端,例如iPhone、iPad、iTouch等。

  • 账号

指用户在某台设备上安装了应用之后,在应用中的唯一标识。

通常用作账号的标识符可以是用户注册应用时的唯一用户名(如邮件地址),也可以是用户注册时自动生成的唯一字符串。

二、接入流程

1.申请APP GUID

1)打开https://go.tkioglobal.com,使用您已注册的热云账号进行登录。

2)进入”Apps&Assets“创建App,获取”APP GUID“,APP GUID为应用的唯一标识,用于集成到SDK中。

注:为了保证您的数据安全,请勿泄露您的APP GUID。

2.导入SDK

1)点击下载iOS SDK,下载SDK压缩包,解压至本地目录。

2)将目录中的tkioglobal_ios_1.x.x.a,tkioglobal_ios_1.x.x.h导入到您的工程中。

导入方法:在工程目录结构中,右键选择Add->Existing Files...,选择tkioglobal_ios_1.x.x.a和tkioglobal_ios_1.x.x.h(或将文件拖入Xcode工程目录结构中)文件,在弹出的界面中勾选Copy items into destination group's folder(if needed),并确保Add To Targets勾选相应target。

3.接入SDK

详见“三、接入方法说明”

4.测试

1)在开发环境中进行Debug测试:

+(void) setPrintLog :(BOOL)print;

注:热云SDK所有API接口的http response均以status:0表示成功,若不成功,会在返回的json里提示详细错误信息。

2)查看测试数据:
在"Apps&Assets"-"Install Feed Validation"中查看最近一次您上报的激活数据,如提示”Integration Success“说明SDK初始化(激活事件)成功;

在”Event Manager“中查看您最近一次上报的事件数据,如在页面中显示您上报的事件名,说明事件上报成功

三、接入方法说明

1.添加SDK所需依赖框架

使用Security.framework来存储设备标识,

使用CoreTelephony.framework来获取运营商信息,

使用AdSupport.framework来获取Advertising Identifier信息,

使用SystemConfiguration.framework来检查当前网络环境,

使用libsqlite3.dylib用来存储数据,

使用iAd.framework、AVFoundation.framework来获取数据。

使用libz.tbd来压缩数据。

• 添加方法:

在工程目录中,选择

TARGETS-->Build Phases-->Link Binary With Libraries-->+ -->选择Security.framework、CoreTelephony.framework、AdSupport.framework、SystemConfiguration.framework

、libsqlite3.dylib、iAd.framework 、AVFoundation.framework、libz.tbd等库文件。

新版xcode .dylib以.tbd为后缀,添加对应动态库。

注:

1)如上动态库请全部配置,避免报错。

2)xcode 7及以上版本,.dylib后缀结尾的系统库均更改为.tbd后缀结尾

2.初始化热云SDK

用途:报送激活

方法接口:
+ (void)initWithAppKey:(NSString *)appKey withChannelId:(NSString *)channelId;

参数说明:

参数 类型 是否必填 长度 说明
appKey NSString* APP GUID
channelId NSString* 最长64位 填写_default_

示例代码:

#import “tkioglobal_ios_1.x.x.h”

-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

[ReYunTracking initWithAppKey:@"475938c702f7451a88eaffb524962649" withChannelId:@"_default_"];

}

3.统计用户注册

用途:报送注册事件

方法接口

+ (void)setRegisterWithUserName:(NSString *)userName UserId:(NSString *)userId referralFrom:(NSString *)referralFrom;

参数说明:

参数 类型 是否必填 长度 说明
userName NSString* 最长64位 用户名称标识
userId NSString* 最长64位 用户唯一id(账号id)
referralFrom NSString* 最长64位 事件引荐来源

示例代码:

[ReYunTracking setRegisterWithUserName:@"helloworld" UserId:@"UserUniqueID_test123" referralFrom:@"FromPhoneNumberRegistered"];

4.统计用户登录

用途:报送登录事件

方法接口:

+ (void)setLoginWithUserName:(NSString *)userName UserId:(NSString *)userId referralFrom:(NSString *)referralFrom;

参数说明:

参数 类型 是否必填 长度 说明
userName NSString* 最长64位 用户名称标识
userId NSString* 最长64位 用户唯一id(账号id)
referralFrom NSString* 最长64位 事件引荐来源

示例代码:

[ReYunTracking setLoginWithUserName:@"helloworld" UserId:@"UserUniqueID_test123" referralFrom:@"FromPhoneNumberRegistered"];

5.统计用户订单

用途:报送订单事件

注:前端报送支付有掉单风险,收入数据会出现误差,为确保支付数据准确,建议使用服务器报送支付(请参考S2S集成文档)。

方法接口:

+(void)setDDWithName:(NSString *)name userId:(NSString *)userId checkoutAsGuest:(NSString *)checkoutAsGuest contentId:(NSString *)contentId tid:(NSString *)ryTID hbType:(NSString*)hbType hbAmount:(float)hbAmount;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 订单名称
userId NSString* 最长64位 用户唯一id(账号id)
checkoutAsGuest NSString* 最长64位 任何有关游客下单的数据
contentId NSString* 最长64位 下单商品id
ryTID NSString* 最长64位 流水单id,确保唯一
hbType NSString* 最长3位 货币类型,按照国际标准组织ISO4217中规范的3位大写字母,如USD
hbAmount float 最长16位 订单金额

示例代码:

[ReYunTracking setDDWithName:@"GameProps_1234" userId:@"UserUniqueID_test123" checkoutAsGuest:@"null" contentId:@"34234124235232" tid:@"2131231211212" hbType:@"USD" hbAmount:1.1];

6.统计用户付费

用途:报送付费事件

注:前端报送支付有掉单风险,收入数据会出现误差,为确保支付数据准确,建议使用服务器报送支付(请参考S2S集成文档)。

方法接口:

+(void)setRyzfWithName:(NSString *)name userId:(NSString *)userId checkoutAsGuest:(NSString *)checkoutAsGuest contentId:(NSString *)contentId tid:(NSString *)ryTID hbType:(NSString*)hbType hbAmount:(float)hbAmount;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 付费名称
userId NSString* 最长64位 用户唯一id(账号id)
checkoutAsGuest NSString* 最长64位 任何有关游客下单的数据
contentId NSString* 最长64位 付费商品id
ryTID NSString* 最长64位 流水单id,确保唯一
hbType NSString* 最长3位 货币类型,按照国际标准组织ISO4217中规范的3位大写字母,如USD
hbAmount float 最长16位 付费金额

示例代码:

[ReYunTracking setRyzfWithName:@"GameProps_1234" userId:@"UserUniqueID_test123" checkoutAsGuest:@"null" contentId:@"34234124235232" tid:@"2131231211212" hbType:@"USD" hbAmount:2.2];

7.统计用户订阅

用途:报送订阅事件

注:前端报送支付有掉单风险,收入数据会出现误差,为确保支付数据准确,建议使用服务器报送支付(请参考S2S集成文档)。

方法接口:

+(void)setSubscribeWithName:(NSString *)name userId:(NSString *)userId checkoutAsGuest:(NSString *)checkoutAsGuest contentId:(NSString *)contentId tid:(NSString *)ryTID hbType:(NSString*)hbType hbAmount:(float)hbAmount;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 订阅名称
userId NSString* 最长64位 用户唯一id(账号id)
checkoutAsGuest NSString* 最长64位 任何有关游客下单的数据
contentId NSString* 最长64位 订阅商品id
ryTID NSString* 最长64位 流水单id,确保唯一
hbType NSString* 最长3位 货币类型,按照国际标准组织ISO4217中规范的3位大写字母,如USD
hbAmount float 最长16位 订阅金额

示例代码:

[ReYunTracking setSubscribeWithName:@"7dVIP_Free" userId:@"UserUniqueID_test123" checkoutAsGuest:@"null" contentId:@"34234124235232" tid:@"2131231211212" hbType:@"USD" hbAmount:3.3];

8.统计用户App内搜索

用途:报送搜索事件

方法接口:

+(void)setSearchWithUri:(NSString *)uri results:(NSString *)results;

参数说明:

参数 类型 是否必填 长度 说明
uri NSString* 搜索内容
results NSString* 最长64位 搜索结果

示例代码:

[ReYunTracking setSearchWithUri:@"search-uri" results:@"1234results"];

9.统计用户App内浏览

用途:报送浏览事件

方法接口:

+(void)setViewWithName:(NSString *)name userId:(NSString *)user_id referralFrom:(NSString *)referral_from contentId:(NSString *)content_id;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 浏览内容
user_id NSString* 最长64位 用户唯一id(账号id)
referral_from NSString* 最长64位 事件引荐来源
content_id NSString* 最长64位 浏览内容唯一id

示例代码:

[ReYunTracking setViewWithName:@"KidShoes" userId:@"UserUniqueID_test123" referralFrom:@"FromSearch" contentId:@"34234124235232"];

10.统计用户加入购物车

用途:报送加入购物车事件

方法接口:

+(void)setAddToCartWithName:(NSString *)name userId:(NSString *)user_id referralFrom:(NSString *)referral_from contentId:(NSString *)content_id;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 加购内容
user_id NSString* 最长64位 用户唯一id(账号id)
referral_from NSString* 最长64位 事件引荐来源
content_id NSString* 最长64位 加购内容唯一id

示例代码:

[ReYunTracking setAddToCartWithName:@"KidShoes" userId:@"UserUniqueID_test123" referralFrom:@"FromSearch" contentId:@"34234124235232"];

11.统计用户加入愿望清单(收藏)

用途:报送加入愿望清单事件

方法接口:

+(void)setAddToWishlistWithName:(NSString *)name userId:(NSString *)user_id referralFrom:(NSString *)referral_from contentId:(NSString *)content_id;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 收藏内容
user_id NSString* 最长64位 用户唯一id(账号id)
referral_from NSString* 最长64位 事件引荐来源
content_id NSString* 最长64位 收藏内容唯一id

示例代码:

[ReYunTracking setAddToWishlistWithName:@"KidShoes" userId:@"UserUniqueID_test123" referralFrom:@"FromSearch" contentId:@"34234124235232"];

12.统计用户完成教程

用途:报送完成教程事件

方法接口:

+(void)setTutorialCompleteWithName:(NSString *)name userId:(NSString *)user_id duration:(NSString *)duration;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 教程名称
user_id NSString* 最长64位 用户唯一id(账号id)
duration NSString* 最长64位 完成教程所花费的时间,单位:秒

示例代码:

[ReYunTracking setTutorialCompleteWithName:@"1stTutorial" userId:@"UserUniqueID_test123" duration:@"1234"];

13.统计用户达成等级

用途:报送达成等级事件

方法接口:

+(void)setLevelCompleteWithName:(NSString *)name userId:(NSString *)user_id duration:(NSString *)duration;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 等级信息
user_id NSString* 最长64位 用户唯一id(账号id)
duration NSString* 最长64位 达成等级所花费的时间,单位:秒

示例代码:

[ReYunTracking setLevelCompleteWithName:@"Level9" userId:@"UserUniqueID_test123" duration:@"1234"];

14.统计用户达成成就

用途:报送达成成就事件

方法接口:

+(void)setAchievementWithName:(NSString *)name userId:(NSString *)user_id duration:(NSString *)duration;

参数说明:

参数 类型 是否必填 长度 说明
name NSString* 最长64位 成就信息
user_id NSString* 最长64位 用户唯一id(账号id)
duration NSString* 最长64位 达成成就所花费的时间,单位:秒

示例代码:

[ReYunTracking setAchievementWithName:@"BattleVictory" userId:@"UserUniqueID_test123" duration:@"1234"];

15.统计用户点击广告数据

用途:报送广告点击事件

方法接口:

+(void)setAdClickWithAdType:(NSString *)ad_type adNetworkName:(NSString *)ad_network_name placement:(NSString *)placement;

参数说明:

参数 类型 是否必填 长度 说明
ad_type NSString* 最长64位 广告类型或唯一标识(id)
ad_network_name NSString* 最长64位 广告平台名称
placement NSString* 最长64位 广告位名称

示例代码:

[ReYunTracking setAdClickWithAdType:@"RewardedVideo" adNetworkName:@"Facebook" placement:@"placementID_test123"];

16.统计用户展示广告

用途:报送广告展示事件

方法接口:

+(void)setAdViewWithAdType:(NSString *)ad_type adNetworkName:(NSString *)ad_network_name placement:(NSString *)placement;

参数说明:

参数 类型 是否必填 长度 说明
ad_type NSString* 最长64位 广告类型或唯一标识(id)
ad_network_name NSString* 最长64位 广告平台名称
placement NSString* 最长64位 广告位名称

示例代码:

[ReYunTracking setAdViewWithAdType:@"RewardedVideo" adNetworkName:@"Facebook" placement:@"placementID_test123"];

17.统计用户评分

用途:报送评分事件

方法接口:

+(void)setRatingWithAdRatingValue:(float)rating_value maxRatingValue:(float)max_rating_value;

参数说明:

参数 类型 是否必填 长度 说明
rating_value float 最长64位 用户评分值
max_rating_value float 最长64位 最高评分值

示例代码:

[ReYunTracking setRatingWithAdRatingValue:3.0 maxRatingValue:5.0];

18.自定义事件

用途:统计自定义事件,自定义事件名称不能与上述标准事件一致,后台每个app最多可显示100个事件(包括标准事件)。

方法接口:

+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra;

参数说明:

参数 类型 是否必填 长度 说明
eventName NSString* 最长64位 自定义事件名称
extra NSDictionary* 键值对不能超过20个,键为string型,值不做要求 自定义事件参数

示例代码:

[ReYunTracking setEvent:@"eve" andExtra:@{@"name":@"levelup",@"currentlevel":@10}];

四、技术支持

如有任何问题,请及时联系我们的技术支持工程师:

技术支持邮箱:[email protected]

技术支持QQ:2785608528

results matching ""

    No results matching ""