将 SDK 解压后的文件放在项目的 src 目录下,并在总入口 app.aux 文件内引入 quickInit
方法,并在 onCreate
生命中调用该方法来初始化 SDK。
import { init } from "./hqt";
onCreate(){
init();
}
修改 SDK 的配置文件 hqt.config.js:
export default {
locationAccessable: false, // 是否获取位置信息,默认为关闭。接口声明 { "name": "system.geolocation" }
deviceIdAccessable: true, // 是否获取IMEI 或 MEID ,默认为开启。接口声明 {"name": "system.device" }
module: {
basic: {
apiUrl: 'https://t.hypers.com.cn/hxt', // 快应用 SDK 上报地址
appKey: 'hmt_1JMVD63Y' // Mobile Analytics管理平台获取的 APP Key
}
};
注意 appKey 是通过 Modile Analytics 管理平台获得的 App Key,Accessable 相关信息需要弹窗获取授权,如无特殊需求,则无需将此项配置修改为 true
确保 manifest.json 的 features 字段有下列接口声明
[
{
name: 'system.network'
},
{
name: 'system.fetch'
},
{
name: 'system.storage'
},
{
name: 'system.device' //选填 仅当 deviceIdAccessable=true 时必要
},
{
name: 'system.geolocation' //选填 仅当 locationAccessable=true 时必要
}
];
hqt 提供了 trackPageStart
, trackPageEnd
两个方法,用于页面跟踪,并统计页面停留时间。
import { trackPageStart, trackPageEnd } from './hqt';
const PAGE_NAME = 'Some page';
const PARAMS = { hqt:'awesome' };
onShow(){
// 进入页面时调用
trackPageStart(PAGE_NAME);
// 传递参数
// trackPageStart(PAGE_NAME,PARAMS);
}
onHide(){
// 离开页面时调用
trackPageEnd(PAGE_NAME);
}
trackAction 用于跟踪用户自定义一个行为。
import { trackAction } from './hqt';
// 使用 trackAction(actionName) 来记录自定义事件
// 注:add_todo 是在 Mobile Analytics 管理平台创建的自定义事件
onSaveButtonClick() {
trackAction('add_todo')
}
带参数的自定义行为
import { trackAction } from './hqt';
// 或者使用 trackAction(actionName, { ...attributes }) 来记录自定义事件和自定义属性
// 注:todo_text 是在 Mobile Analytics 管理平台创建的自定义属性
onSaveButtonClickWithParams() {
trackAction('add_todo', {
todo_text: this.data.inputValue
})
}
业务中我们需要记录用户信息为人群画像提供基础数据,hqt 提供 setUserInfo 方法,可以在应用拿到信息后调用该方法则对用户信息进行跟踪。
import fetch from '@system.fetch'
import { setUserInfo } from './hqt';
onReady(){
fetch({
url: 'https://test.com/login',
data: {
code: res.code
},
success: function(resp){
// 调用小程序的 setUserInfo 接口,设置用户信息,如:将用户id通过cust_id传入
setUserInfo({
cust_id: resp.data.cust_id,
mail: resp.data.mail,
sex: resp.data.sex,
login_type: 'client'
// ... 字段可以扩展
});
}
})
}