一、说明

1.适用范围

热云TrackingIO作为国内第三方移动广告监测平台,能够更好的帮助广告主更精准的评估每次广告投放效果,以及帮助广告网络做广告系统的投放优化或业务数据的完善。

本文档适用于使用uni-app来 开发的原生产品。

本文档适用于API Level 19及以上的安卓系统,及IOS9.0及以上的苹果系统

2.SDK下载

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)

相关接口参数说明详见原生文档