一、说明
1.适用范围
热云TrackingIO作为国内第三方移动广告监测平台,能够更好的帮助广告主更精准的评估每次广告投放效果,以及帮助广告网络做广告系统的投放优化或业务数据的完善。
本文档适用于使用uni-app来 开发的原生产品。
本文档适用于API Level 19及以上的安卓系统,及IOS9.0及以上的苹果系统
2.SDK下载
- 下载地址
- 最新SDK版本为:1.0.3
3.统计说明
为了能够在接入过程中保持概念统一,针对通用概念做如下说明:
- 设备
指某台安装了uni-app应用的终端。
- 账号
指用户在某台设备上安装了应用之后,在应用中的唯一标识。
通常用作账号的标识符可以是用户注册应用时的唯一用户名(如邮件地址),也可以是用户注册时自动生成的唯一字符串。
二、接入流程
1.申请APPKEY
1)打开https://new.trackingio.com,使用您的热云账号进行登录。
2)进入“产品中心”,点击左上方**“+新建产品”**,完成产品创建,您将获得一串32位的16进制APPKEY;
如果您已经完成产品创建,请在如下位置获取APPKEY:全部产品按钮”-“对应产品”-APPKEY
APPKEY为应用的唯一标识,用于集成到SDK中。
注:为了保证您的数据安全,请勿泄露您的APPKEY。
2.导入SDK
1)前往最新SDK下载地址,下载SDK压缩包,解压至本地目录。
2)导入方法:
用 HBuilderX 打开 uni-app 项目,并在项目根目录下新建 nativeplugins 目录(已存在不需要新建)。将trackingIO_uni-app_1.0.3.xxx.zip包解压缩后将文件夹拷贝到项目nativeplugins下,如图:
3.配置SDK
1.打开HBuilderX选中manifest.json后依次选择App原生插件配置点击选择本地插件,勾选TrackingIOPlugin后点击确认,如图:
2.配置完成后选择HBuilderX目录发行->原生App-云打包或者配置使用自定义基座进行打包后测试。
接口使用示例代码:
<template>
<div>
<button type="primary" @click="login">login</button>
<button type="primary" @click="reg">reg</button>
<button type="primary" @click="order">odrder</button>
<button type="primary" @click="pay()">pay</button>
<button type="primary" @click="adshow()">adshow</button>
<button type="primary" @click="adclick()">adclick</button>
<button type="primary" @click="trackview()">trackview</button>
<button type="primary" @click="trackapp()">trackApp</button>
<button type="primary" @click="event()">event</button>
<button type="primary" @click="dev_id()">dev-id</button>
<button type="primary" @click="getUUID">getUUId</button>
</div>
</template>
<script>
// 首先需要通过 uni.requireNativePlugin("ModuleName") 获取 module
var uniModule = uni.requireNativePlugin("TrackingIOPlugin-UniTrackingIOModule")
export default {
methods: {
initReyun() {
if (uni.getSystemInfoSync().platform == "ios") {
console.log("ios tracking init");
uniModule.setPrintLog ('true');
uniModule.initWithKeyAndChannelId('53807f356112863846c689afde503752','_default_');
}
if (uni.getSystemInfoSync().platform == "android") {
console.log("android tracking init");
uniModule.setPrintLog ('true');
uniModule.initWithKeyAndChannelId('128bb39e05a65c4f0d48630cf097cb8f','huawei');
}
},
login() {
console.log("tracking login");
uniModule.setLogin('aaa');
},
reg() {
uniModule.setRegister('aaa-reg');
},
order() {
uniModule.setDD('trans-id-order','CNY',100);
},
pay() {
uniModule.setRyzf('trans-id-pay','alipay','CNY',100);
},
adshow() {
uniModule.onAdShow('ad-id-show','csj',1);
},
adclick() {
uniModule.onAdClick('ad-id-click','csj');
},
trackview() {
uniModule.trackViewName('view-name',100);
},
trackapp() {
uniModule.setTrackAppDuration(100);
},
event() {
uniModule.setEvent('event_1',{"param1":"p-value"});
},
dev_id() {
var ret_value = uniModule.getDeviceId();
console.log('ret_value',ret_value);
uni.showToast({
title: 'deviceid ' + ret_value,
icon: "none"
})
},
}
}
</script>
注:android 如需使用自行传入oaid ,请使用接口initWithKeyAndChannelIdAndOaidParams,接口原型:
@UniJSMethod(uiThread = true)
public void initWithKeyAndChannelIdAndOaidParams(String appKey,String channelId
,String oaid,String assetFileName,String oaidLibraryString)
相关接口参数说明详见原生文档。