Android_SDK_接入说明文档

一、说明

1.适用范围

本文档适用于Android 2.3(API Level 9)及以上的操作系统。

2.统计说明

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

设备:

指某台安装了Android应用的终端,例如SAMSUNG Galaxy Note 8、HTC U11、SAMSUNG Galaxy S8等。

账号:

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

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

二、接入流程

1.申请APP GUID

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

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

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

2.导入SDK

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

2)将目录中tkioglobal_android_1.x.x.jar(sdk核心包)导入到您的工程目录下的libs文件夹中。

导入方法:在工程目录结构中,右键选择Properties->Java Build Path,点击右侧Libraries选项卡,点击Add JARs按钮在Project/libs目录选择tkioglobal_android_1.x.x.jar,点击OK导入。

3.接入SDK

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

4.测试

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

Tracking.setDebugMode(true);

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

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

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

三、接入方法说明

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

1.1 权限列表

//网络访问权限

<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安卓SDK默认报文加密

SDK使用了全新的加密规则,保证SDK报文在请求上报和接收返回的过程中不被恶意脚本劫持、抓包。

如需不加密可添加Tracking.setEncrypted(false)

2.初始化SDK

方法用途

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

使用方法

调用Tracking.initWithKeyAndChannelId方法进行初始化。

方法接口:

Tracking.initWithKeyAndChannelId(Application application,String appKey,String channelId);

参数说明:

参数 类型 是否必填 长度 说明
application Application 应用程序的引用
appKey String APP GUID
channelId String 最长64位 默认填写_default_;

示例代码:

Tracking.initWithKeyAndChannelId(getApplication(),"8283e21a7484c03edee3d61cc12e93ss","_default_");

3.统计用户注册数据

方法用途:

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

使用方法:

在用户注册完成时调用Tracking.setRegisterWithAccountID方法。

如果开发者没有自己的用户系统,希望使用用户设备ID作为accountId,直接调用Tracking.getDeviceId()方法即可。

方法接口:

Tracking.setRegisterWithAccountID(String userId, String userName, String referralFrom);

参数说明:

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

示例代码:

Tracking.setRegisterWithAccountID(“123456”, “dio”, “wechat”);

4.统计用户登录数据

方法用途:

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

使用方法:

调用Tracking.setLoginSuccessBusiness方法。

方法接口:

Tracking.setLoginSuccessBusiness(String userId, String userName, String referralFrom);

参数说明:

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

示例代码:

Tracking.setLoginSuccessBusiness(“123456”,“dio”, “sina”);

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

方法用途:

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

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

使用方法:

用户充值成功且后端发货成功后调用Tracking.setPayment方法。

方法接口:

Tracking.setPayment(String name, String userId, String checkoutAsGuest, String contentId,String transactionId,String currencyType,float currencyAmount);

参数说明:

参数 类型 是否必填 长度 说明
transactionId String 最长64位 付费数据按此参数排重,交易流水号,请务必确保唯一。
currencyType String 最长3位 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD美金等
currencyAmount float 最长16位 支付的真实货币金额,人民币单位:元
name String 最长64位 用户名
userId String 最长64位 用户Id
checkOutAsGuest String 最长64位 任何有关游客下单的数据
contentId Stirng 最长64位 商品id

示例代码:

Tracking.setPayment(“name”, “001”, “ckotasgst”, “123”, “0062001242”,“CNY”,1000.00f);

6.上报订单事件

方法用途:

上报订单事件。

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

使用方法:

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

方法接口:

Tracking.setOrder(String name, String userId, String checkoutAsGuest, String contentId,String transactionId, String currencyType, float currencyAmount);

参数说明:

参数 类型 是否必填 长度 说明
transactionId String 最长64位 交易流水号,请确保唯一。
currencyType String 最长3位 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD美金等
currencyAmount float 最长16位 支付的真实货币金额,人民币单位:元
name String 最长64位 用户名
userId String 最长64位 用户Id
checkOutAsGuest String 最长64位 任何有关游客下单的数据
contentId Stirng 最长64位 商品id

示例代码:

Tracking.setOrder(“name”, “001”, “ckotasgst”, “123”, “f93182bc6”, “CNY”, 9.04f);

7.上报订阅事件

方法用途:

上报订阅事件。

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

使用方法:

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

方法接口:

Tracking.setSubscribe(String name, String userId, String checkoutAsGuest, String contentId,

String transactionId, String currencyType, float currencyAmount);

参数说明:

参数 类型 是否必填 长度 说明
transactionId String 最长64位 交易流水号,请确保唯一。
currencyType String 最长3位 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD美金等
currencyAmount float 最长16位 支付的真实货币金额,人民币单位:元
name String 最长64位 用户名
userId String 最长64位 用户Id
checkOutAsGuest String 最长64位 任何有关游客下单的数据
contentId Stirng 最长64位 商品id

示例代码:

Tracking.setOrder(“name”, “001”, “ckotasgst”, “123”, “f93182bc6”, “CNY”, 9.04f);

8.统计搜索

方法用途:

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

方法接口:

Tracking.setSearch(String uri, String results)

参数说明:

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

示例代码:

Tracking.setSearch(“uri”, “results”);

9.统计浏览

方法用途:

用于统计用户浏览内容

方法接口:

Tracking.setView(String name, String userId, String referralFrom, String contentId);

参数说明:

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

示例代码:

Tracking.setView(“name”, “001”, “ch”, “002”);

10.统计加入购物车

方法用途:

用于统计用户加购

方法接口:

Tracking.setAddToCart(String name, String userId, String referralFrom, String contentId);

参数说明:

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

示例代码:

Tracking.setAddToCart(“name”,“userId”,“referralFrom”,“contentId”);

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

方法用途:

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

方法接口:

Tracking.setAddToWishList(String name, String userId, String referralFrom, String contentId);

参数说明:

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

示例代码:

Tracking.setAddToWishList(“name”, “userId”, “referralFrom”, “contentId”);

12.统计完成教程

方法用途:

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

方法接口:

Tracking.setTutorialcomplete(String name, String userId, String duration);

参数说明:

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

示例代码:

Tracking.setTutorialcomplete(“name”, “userId”, “duration”);

13.统计等级达成

方法用途:

用于统计用户达成等级

方法接口:

Tracking.public static void setLevelcomplete(String name, String userId, String duration);

参数说明:

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

示例代码:

Tracking.public static void setLevelcomplete(“name”, “userId”, “duration”);

14.统计成就达成

方法用途:

用于统计用户达成成就

方法接口:

Tracking.setAchievement(String name, String userId, String duration);

参数说明:

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

示例代码:

Tracking.setAchievement(“name”, “userId”, “duration”);

15.统计广告点击

方法用途:

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

方法接口:

Tracking.setAdClick(String adType, String adNetworkName, String placement);

参数说明:

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

示例代码:

Tracking.setAdClick(“adType”, “adNetworkName”, “placement”);

16.统计广告观看

方法用途:

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

方法接口:

Tracking.setAdView(String adType, String adNetworkName, String placement);

参数说明:

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

示例代码:

Tracking.setAdView(“adType”, “adNetworkName”, “placement”);

17.统计评分

方法用途:

用于统计用户评分

方法接口:

Tracking.setRating(String ratingValue, String maxRatingValue);

参数说明:

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

示例代码:

Tracking.setRating(“ratingValue”, “maxRatingValue”);

18.自定义事件

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

方法接口:

Tracking.setCustomEventJsonString(String eventName, String jsonString);

参数说明:

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

示例代码:

Tracking.setCustomEventJsonString("eventName", "{}");

19.退出SDK

方法用途:

应用退出时释放sdk占用资源。

使用方法:

用于程序退出时调用Tracking.exitSdk方法。

方法接口:

Tracking.exitSdk();

示例代码:

Tracking.exitSdk();

四、技术支持

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

技术支持邮箱:[email protected]

技术支持QQ:2785608528

results matching ""

    No results matching ""