Unity_SDK_接入说明文档
一、说明
1.适用范围
热云TrackingIO作为国内第三方移动广告监测平台,能够更好的帮助广告主更精准的评估每次广告投放效果,以及帮助广告网络做广告系统的投放优化或业务数据的完善。
本文档适用于使用Unity来开发的产品。
2.统计说明
为了能够在接入过程中保持概念统一,针对通用概念做如下说明:
- 设备
指某台安装了Unity应用的终端。
- 账号
指用户在某台设备上安装了应用之后,在应用中的唯一标识。
通常用作账号的标识符可以是用户注册应用时的唯一用户名(如邮件地址),也可以是用户注册时自动生成的唯一字符串。
二、接入流程
1.申请APPKEY
1)打开http://www.trackingio.com,使用您的热云账号进行登录。
2)进入“产品中心”,点击左上方“+新建产品”,完成产品创建,您将获得一串32位的16进制APPKEY;
如果您已经完成产品创建,请在如下位置获取APPKEY:全部产品按钮”-“对应产品”-APPKEY
APPKEY为应用的唯一标识,用于集成到SDK中。
注:为了保证您的数据安全,请勿泄露您的APPKEY。
2.导入SDK
1)前往http://doc.trackingio.com/sdkwen-dang.html下载SDK压缩包,解压至本地目录。
2)导入方法:将zip包解压缩后将包内Assets文件夹下的文件拷贝到项目Assets下。
3.接入SDK
详见“三、接入方法说明”
4.测试
1)在开发环境中进行Debug测试,日志TAG为Tracking:
public void setPrintLog (bool print)
注:热云SDK所有API接口的http response均以status:0表示成功,若不成功,会在返回的json里提示详细错误信息
2)进入热云调试页面查看调试数据:
“全部产品按钮” - “待调试产品”–“调试”
三、接入方法说明
1.添加权限和依赖框架
1)在AndroidManifest.xml文件中添加如下权限(Android)
<uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/><uses-permissionandroid:name="android.permission.READ_LOGS"/><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permissionandroid:name="android.permission.GET_TASKS"/>
2)添加sdk所需依赖框架(IOS)
使用Security.framework来存储设备标识,
使用CoreTelephony.framework来获取运营商信息,
使用AdSupport.framework来获取Advertising Identifier信息,
使用SystemConfiguration.framework来检查当前网络环境,
使用CoreMotion.framework来获取陀螺仪数据
使用CoreLocation.framework来获取位置信息
使用libsqlite3.dylib用来存储数据。
- 添加方法:
在工程目录中,选择
TARGETS-->Build Phases-->Link Binary With Libraries-->+ -->选择Security.framework、CoreTelephony.framework、AdSupport.framework、libsqlite3.dylib
新版xcode .dylib以.tbd为后缀,添加对应动态库。
注:
1)如上动态库请全部配置,避免报错。
2)xcode 7及以上版本,.dylib后缀结尾的系统库均更改为.tbd后缀结尾
2.初始化热云SDK
- 方法用途:
用于应用启动后,初始化热云SDK。报送应用安装或启动事件。
- 使用方法:
调用Tracking.Instance.init方法进行初始化。
- 方法接口:
init (string appKey, string channelId)
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 说明 |
---|---|---|---|---|
appKey | String | 是 | 创建产品时获得的32位字符长度的APPKEY | |
channelId | String | 是 | 最长64位 | 用于标识推广渠道,支持英文、数字、下划线,默认填写_default_;分包(应用市场)模式,该值必须与热云后台“广告监”-“推广管理”-“推广活动管理”-新建推广活动(分包)填写的渠道ID一一对应。 |
- 示例代码:
Tracking.Instance.init ("appkey", "channelId");
3.统计用户注册数据
- 方法用途:
用于用户注册完成,报送应用注册事件。
- 使用方法:
在用户注册完成时调用Tracking.Instance.register方法。
如果开发者没有自己的用户系统,希望使用用户设备ID作为accountId,直接调用getDeviceId()方法即可。
- 方法接口
public void register (string account);
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 说明 |
---|---|---|---|---|
account | String | 是 | 最长64位 | 账号唯一标识,支持英文、数字、下划线 |
- 示例代码:
Tracking.Instance.register("accountId");
4.统计用户登录数据
- 方法用途:
用于用户登录完成、切换账号时,报送应用登录事件。
- 使用方法:
调用Tracking.Instance.login方法。
- 方法接口:
public void login (string account)
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 说明 |
---|---|---|---|---|
account | String | 是 | 最长64位 | 账号唯一标识,支持英文、数字、下划线 |
- 示例代码:
Tracking.Instance.login("accountId");
5.统计用户充值成功数据(建议使用服务器REST报送)
- 方法用途:
用于用户充值成功,统计充值数据,所有付费相关分析的数据报表均依赖此方法。
注:前端报送支付有掉单风险,收入数据会出现误差,为确保支付数据准确,建议使用服务器报送支付(请参考“REST”文档)。
- 使用方法:
用户充值成功且后端发货成功后调用Tracking.Instance.setryzf方法。
- 方法接口:
public void setryzf (string transactionId, string ryzfType, string currencyType, float currencyAmount)
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 说明 |
---|---|---|---|---|
transactionId | String | 是 | 最长64位 | 交易流水号,请确保唯一。 |
ryzfType | String | 是 | 最长16位 | 支付类型,例如支付宝(alipay),银联(unionpay),微信支付(weixinpay),易宝支付(yeepay),paymentType不能填写:FREE(FREE不统计付费) |
currencyType | String | 是 | 最长3位 | 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD美金等 |
currencyAmount | float | 是 | 最长16位 | 支付的真实货币金额,人民币单位:元 |
- 示例代码:
Tracking.Instance.setryzf("transactionId"," alipay ","CNY",1234);
6.统计用户自定义事件
- 方法用途:
用于统计用户在应用内的任意行为,如打开某个面板、点击某个Button、参与某个活动等。
- 使用方法:
在自定义用户行为的地方,调用Tracking.Instance.setEvent方法。
eventName必须为event_1到event_12。
- 方法接口:
public void setEvent (string eventName)
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 描述 |
---|---|---|---|---|
eventName | String | 是 | 最长32位 | 自定义事件的名称必须为event_1到event_12 |
- 示例代码:
Tracking.Instance.setEvent("event_1");
7.统计用户订单数据
- 方法用途:
用于用户提交订单后,统计订单数据。
- 使用方法:
用户提交订单后调用Tracking.Instance.setOrder方法。
- 方法接口:
public void setOrder (string transactionId,string currencyType, float currencyAmount)
- 参数说明:
参数 | 类型 | 是否必填 | 长度 | 说明 |
---|---|---|---|---|
transactionId | string | 是 | 最长64位 | 订单流水号,请确保唯一。 |
currencyType | string | 是 | 最长3位 | 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD美金等 |
currencyAmount | float | 是 | 最长16位 | 订单的真实货币金额,人民币单位:元 |
- 示例代码:
Tracking.Instance.setOrder ("transactionId ","CNY",100001);
四、技术支持
如有任何问题,请及时联系我们的技术支持工程师:
技术支持邮箱:[email protected]
技术支持QQ:2785608528