Unity SDK 集成

一、说明

1.适用范围:

本文档适用于使用Unity来开发的产品。

本文档适用于Android4.0(API Level14)及以上的安卓系统,及IOS9.0及以上的苹果系统.

2.统计说明:

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

  • 设备
    指某台安装了Unity应用的终端。

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

二、接入流程

1.申请APP GUID

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

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

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

2.导入SDK

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

2导入方法:将zip包解压缩后将包内Assets文件夹下的文件拷贝到项目Assets下。

3.接入SDK

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

4.测试

1)在开发环境中进行Debug测试,日志TAG为Tracking:

publicvoidSetPrintLog(boolprint)

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

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

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

三、接入方法说明

1.添加权限和依赖框架

1)Android

1.1权限列表

在AndroidManifest.xml文件中添加如下权限

//网络访问权限

<uses-permissionandroid:name="android.permission.INTERNET"/>

//获取网络状态权限

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

//获取wifi状态权限

<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

//读取sd卡的权限

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>

注:Android系统版本6.0以上,必须先获取权限,再调用初始化接口。反之,会影响激活数据精准度。

1.2如需混淆,则加入如下配置

-dontwarn com.reyun.tracking.**

-keep class com.reyun.tracking.** {*;}

2)添加sdk所需依赖框架(IOS)

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

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

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

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

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

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

使用libz.tbd来压缩数据

  • 添加方法:

在工程目录中,选择

TARGETS-->Build Phases-->Link Binary With Libraries-->+ -->选择Security.framework、CoreTelephony.framework、AdSupport.framework、libsqlite3.tbd、iAd.framework、SystemConfiguration.framework、AVFoundation.framework、libz.tbd等库文件。

注:

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

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

2.初始化SDK

方法用途

用于应用启动后,初始化热云SDK。报送应用安装或启动事件。

方法接口:

Init(string appKey, string channelId)

参数说明:

参数 类型 是否必填 长度 说明
appKey String APP GUID
channelId String 最长64位 默认填写_default_;

示例代码:

ReyunTracing.Instance.Init("your appkey","channelid");

3.统计用户注册数据

方法用途:

用于用户注册完成,报送应用注册事件。

方法接口:

public void Register(string userName, string userId, string referralFrom)

参数说明:

参数 类型 是否必填 长度 说明
userId String 最长64位 账号唯一标识,仅支持英文、数字、下划线
userName String 最长64位 用户名称
referralFrom String 最长64位 事件来源

示例代码:

ReyunTracing.Instance.Register("nsername_reg", "userid_reg", "from_reg");

4.统计用户登录数据

方法用途:

用于用户登录完成、切换账号时,报送应用登录事件。

方法接口:

public void Login(string userName, string userId, string referralFrom)

参数说明:

参数 类型 是否必填 长度 说明
userId String 最长64位 账号唯一标识,仅支持英文、数字、下划线
userName String 最长64位 用户名称
referralFrom String 最长64位 事件来源

示例代码:

ReyunTracing.Instance.Login("username_login", "userid_login", "from_login");

5.统计用户付费数据(建议使用服务器REST API报送)

方法用途:

用于用户充值成功,统计充值数据,所有付费相关分析的数据报表均依赖此方法。

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

方法接口:

public void Setryzf(string name, string userId, string checkoutAsGuest, string contentId, string ryTID, string hbType, 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位 付费金额

示例代码:

ReyunTracing.Instance.Setryzf("name_Ryzf", "userId_Ryzf", "checkoutAsGuest_Ryzf", "contentId_Ryzf", "ryTID_Ryzf", "hbType_Ryzf", 2);

6.上报订单事件

方法用途:

上报订单事件。

使用方法:

当订单产生成功时调用此方法进行事件上报。

方法接口:

public void SetDD(string name, string userId, string checkoutAsGuest, string contentId, string ryTID, string hbType, 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位 付费金额

示例代码:

ReyunTracing.Instance.SetDD("name_dd", "userId_dd", "checkoutAsGuest_dd", "contentId_dd", "ryTID_dd", "hbType_dd", 1);

7.上报订阅事件

方法用途:

上报订阅事件。

使用方法:

当用户订阅时调用此方法进行事件上报。

方法接口:

public void SetSubscribe(string name, string userId, string checkoutAsGuest, string contentId, string ryTID, string hbType, 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位 付费金额

示例代码:

ReyunTracing.Instance.SetSubscribe("name_Subscribe","userId_Subscribe", "checkoutAsGuest_Subscribe", "contentId_Subscribe", "ryTID_Subscribe", "hbType_Subscribe", 3);

8.统计搜索

方法用途:

用于统计用户在app内搜索内容

方法接口:

public void SetSearch(string uri, string results)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetSearch("uri", "result");

9.统计浏览

方法用途:

用于统计用户浏览内容

方法接口:

public void SetView(string name, string user_id, string referral_from, string content_id)

参数说明:

参数 类型 是否必填 长度 说明
name String 最长64位 浏览内容
userId String 最长64位 用户唯一id(账号id)
referralFrom String 事件引荐来源
contentId String 最长64位 浏览内容唯一id

示例代码:

ReyunTracing.Instance.SetView("name_view", "userid_view", "referral_from_view", "content_id_view");

10.统计加入购物车

方法用途:

用于统计用户加购

方法接口:

publicvoidSetAddToCart(stringname,stringuser_id,stringreferral_from,stringcontent_id)

参数说明:

参数 类型 是否必填 长度 说明
name String 最长64位 加购内容
userId String 最长64位 用户唯一id(账号id)
referralFrom String 事件引荐来源
contentId String 最长64位 加购内容唯一id

示例代码:

ReyunTracing.Instance.SetAddToCart("name_addtocart", "user_id_addtocart", "referral_from_addtocart", "content_id_addtocart");

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

方法用途:

用于统计用户将商品加入愿望清单

方法接口:

publicvoidSetAddToWishlist(stringname,stringuser_id,stringreferral_from,stringcontent_id)

参数说明:

参数 类型 是否必填 长度 说明
name String 最长64位 收藏内容
userId String 最长64位 用户唯一id(账号id)
referralFrom String 事件引荐来源
contentId String 最长64位 收藏内容唯一id

示例代码:

ReyunTracing.Instance.SetAddToWishlist("name_Wishlist", "user_id_Wishlist", "referral_from_Wishlist", "content_id_Wishlist");

12.统计完成教程

方法用途:

用于统计用户完成前置的教程

方法接口:

public void SetTutorialComplete(string name, string user_id, string duration)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetTutorialComplete("name_Tutorial", "userid_Tutorial", "duration_Tutorial");

13.统计等级达成

方法用途:

用于统计用户达成等级

方法接口:

public void SetLevelComplete(string name, string user_id, string duration)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetLevelComplete("name_Level", "userid_Level", "duration_Level");

14.统计成就达成

方法用途:

用于统计用户达成成就

方法接口:

public void SetAchievement(string name, string user_id, string duration)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetAchievement("name_Achievement", "userid_Achievement", "duration_Achievement");

15.统计广告点击

方法用途:

用于统计用户点击广告动作

方法接口:

public void SetAdClick(string ad_type, string ad_network_name, string placement)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetAdClick("ad_type_click", "ad_network_name_click", "placement_click");

16.统计广告观看

方法用途:

用于统计用户观看广告动作

方法接口:

publicvoidSetAdView(stringad_type,stringad_network_name,stringplacement)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetAdView("ad_type_view", "ad_network_name_adview", "placement_view");

17.统计评分

方法用途:

用于统计用户评分

方法接口:

public void SetRating(float rating_value, float max_rating_value)

参数说明:

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

示例代码:

ReyunTracing.Instance.SetRating(3.5f, 4.6f);

18.自定义事件

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

方法接口:

publicvoidSetEvent(stringeventName,Dictionary<string,string>param)

参数说明:

参数 类型 是否必填 长度 说明
eventName String 最长64位 自定义事件名
param Dictionary <string, string> 键值对不能超过20个,键为String型,值不做要求 自定义参数

示例代码:

Dictionary<string, string> param = new Dictionary<string, string>();

param.Add("event", "levelup");

param.Add("currentlevel", "10");

ReyunTracing.Instance.SetEvent("evnetname", param);

四、技术支持

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

技术支持邮箱:[email protected]

技术支持QQ:2785608528

results matching ""

    No results matching ""