HMTAgent
来自于:APICloud
setUp setLocation setLocationManual initSDK startTracPage endTracPage postAction postActionStart psotActionEnd postErrorData postClientData pushAllData addHmtListener
概述
本模块封装了统计分析的功能
使用此模块之前必须先配置 config 文件,ios配置方法如下:
- 名称:HMTAgent
- 参数:appId
- 配置示例:
<feature name="HMTAgent">
<param name="appId" value="123ab67" />
</feature>
Android config.xml配置如下:
注意:name 固定为HMT_APPKEY,否则会导致AppKey无法获取
setUp
相关设置
setUp({params}, callback(ret))
params
host:
- 类型:字符串
- 描述:(可选项)如果需要配置服务器地址,在调用init初始化SDK方法前设置,参数值格式为:@”https://xxx.com“
configUrl:
- 类型:字符串
- 描述:(可选项)设置线上配置文件服务器地址,在调用initSDK初始化SDK方法前设置
hook:
- 类型:布尔
- 描述:(可选项),设置页面自动布码,若开发者希望对每个页面进行手动的命名和采集,在调用initSDK初始化SDK方法前设置
- 默认true
debug:
- 类型:布尔
- 描述:(可选项)设置调试模式(release版本暂不处理)
- 默认:false
exceptionArray:
- 类型:数组类型
- 描述:(可选项)设置页面Hook例外(传入要限制hook的viewController的名称)
crashReport:
- 类型:布尔
- 描述:(可选项)设置是否开启错误抓取,默认关闭
- 默认:false
muid:
- 类型:字符类型
- 描述:(可选项)绑定Muid(该字段目前仅做收集,不参与计算)
paramters:
- 类型:json对象
- 描述:(可选项)绑定自定义字段
accountid:
- 类型:字符类型
- 描述:(可选项)绑定账户ID(该字段会参与账号级别的指标计算)
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
msg:'' //字符类型;错误原因
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.setUp({
host:'',
urlString:'',
trackerSign:'',
hook:true,
debug:true,
exceptionArray:[],
vaule: true,
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
setLocation
SDK自动获取地理位置信息,会在主线程调用对应的location方法
setLocation({params})
params
isOpen:
- 类型:布尔
- 描述:设此参数为SDK自动获取地理位置信息,会在主线程调用对应的location方法
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.setLocation({
isOpen:true,
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
setLocationManual
用户手动获取地理位置信息传给SDK
setLocationManual({params})
params
isOpen:
- 类型:布尔
- 描述:设此参数为SDK自动获取地理位置信息,会在主线程调用对应的location方法
location:
- 类型:JSON 对象
- 描述:经纬度
- 内部字段:
{
latitude:116.40, //数字;纬度
longitude:39.90, //数字;经度
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.setLocationManual({
isOpen:true,
location:{
latitude:116.40, //数字;纬度
longitude:39.90, //数字;经度
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
initSDK
初始化SDK
initSDK({params})
params
channel:
- 类型:字符类型
- 描述:(可选项)应用发布的渠道ID
- 默认:’App Store’
reportPolicy:
- 类型:数字类型
- 描述:(可选项)发送模式;0:启动时发送;1:实时批量发送
- 说明:不传此参数,将不会掉用带此参数的初始化方法
unTracked:
- 类型:数组类型
- 描述:(可选项)黑名单参数数组,将需要过滤的参数填入其中,将不会发送该参数到服务器
- 说明:不传此参数,将不会掉用带此参数的初始化方法,此参数不为空时reportPolicy不能为空,否则此参数不生效
- 示例:[‘’,’’,’’]
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.initSDK({
appkey:'',
channel:''
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
startTracPage
Activity页面加载布码调用(activity:页面名称)
startTracPage({params}, callback(ret))
params
activity:
- 类型:字符类型
- 描述:页面名称
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent. startTracPage({
activity:'',
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
endTracPage
Activity页面离开布码调用(结束上一次调用startTracPage的页面)
endTracPage({params}, callback(ret))
params
activity:
- 类型:字符类型
- 描述:页面名称
property:
- 类型:json对象
- 描述:(可选项)property
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.endTracPage( function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
postAction
发送自定义事件
postAction({params}, callback(ret))
params
action:
- 类型:字符类型
- 描述:事件名称
acc:
- 类型:数字类型
- 描述:(可选项)事件发生次数
- 说明:不传此参数,将不会掉用带此参数的方法
property:
- 类型:json对象
- 描述:(可选项)自定义属性
- 说明:不传此参数,将不会掉用带此参数的方法;此参数不为空时acc不能为空,否则此参数不生效
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.postAction({
action:''
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
postActionStart
开始发送自定义事件
postActionStart({params}, callback(ret))
params
action:
- 类型:字符类型
- 描述:事件名称
uact:
- 类型:字符类型
- 描述:uact
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.postActionStart({
action:'',
uact:''
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
postActionEnd
结束发送自定义事件
postActionEnd({params}, callback(ret))
params
action:
- 类型:字符类型
- 描述:事件名称
uact:
- 类型:字符类型
- 描述:uact
property:
- 类型:json对象
- 描述:自定义属性
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.postActionEnd({
action:'',
uact:''
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
postErrorData
提交错误信息
postErrorData({params}, callback(ret))
params
error:
- 类型:字符类型
- 描述:错误信息
property:
- 类型:json对象
- 描述:自定义属性
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.postErrorData({
error:''
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
postClientData
发送客户端信息
postClientData(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent. postClientData(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
pushAllData
处理缓存数据
pushAllData(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status:true, //布尔类型;结果
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.pushAllData(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
addHmtListener
添加数据发送监听
addHmtListener(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
reason:'', //字符类型;事件类型
//preSend:数据即将发送回调
//success:据发送成功回调
//sendFail:数据发送失败回调
from:'', //字符类型
status:true, //布尔类型;reason为sendFail时有效,仅支持ios
errorCode:0 //数字类型;erroCode错误码,仅支持Android
}
示例代码
var HMTAgent = api.require('HMTAgent');
HMTAgent.addHmtListener({
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本