HMTAgent

来自于:APICloud

setUp setLocation setLocationManual initSDK startTracPage endTracPage postAction postActionStart psotActionEnd postErrorData postClientData pushAllData addHmtListener

概述

本模块封装了统计分析的功能

使用此模块之前必须先配置 config 文件,ios配置方法如下:

  • 名称:HMTAgent
  • 参数:appId
  • 配置示例:
  1. <feature name="HMTAgent">
  2. <param name="appId" value="123ab67" />
  3. </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对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. msg:'' //字符类型;错误原因
  4. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.setUp({
  3. host:'',
  4. urlString:'',
  5. trackerSign:'',
  6. hook:true,
  7. debug:true,
  8. exceptionArray:[],
  9. vaule: true,
  10. }, function(ret) {
  11. alert(JSON.stringify(ret));
  12. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

setLocation

SDK自动获取地理位置信息,会在主线程调用对应的location方法

setLocation({params})

params

isOpen:

  • 类型:布尔
  • 描述:设此参数为SDK自动获取地理位置信息,会在主线程调用对应的location方法

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.setLocation({
  3. isOpen:true,
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

setLocationManual

用户手动获取地理位置信息传给SDK

setLocationManual({params})

params

isOpen:

  • 类型:布尔
  • 描述:设此参数为SDK自动获取地理位置信息,会在主线程调用对应的location方法

location:

  • 类型:JSON 对象
  • 描述:经纬度
  • 内部字段:
  1. {
  2. latitude:116.40, //数字;纬度
  3. longitude:39.90, //数字;经度
  4. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.setLocationManual({
  3. isOpen:true,
  4. location:{
  5. latitude:116.40, //数字;纬度
  6. longitude:39.90, //数字;经度
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

initSDK

初始化SDK

initSDK({params})

params

channel:

  • 类型:字符类型
  • 描述:(可选项)应用发布的渠道ID
  • 默认:’App Store’

reportPolicy:

  • 类型:数字类型
  • 描述:(可选项)发送模式;0:启动时发送;1:实时批量发送
  • 说明:不传此参数,将不会掉用带此参数的初始化方法

unTracked:

  • 类型:数组类型
  • 描述:(可选项)黑名单参数数组,将需要过滤的参数填入其中,将不会发送该参数到服务器
  • 说明:不传此参数,将不会掉用带此参数的初始化方法,此参数不为空时reportPolicy不能为空,否则此参数不生效
  • 示例:[‘’,’’,’’]

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.initSDK({
  3. appkey:'',
  4. channel:''
  5. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

startTracPage

Activity页面加载布码调用(activity:页面名称)

startTracPage({params}, callback(ret))

params

activity:

  • 类型:字符类型
  • 描述:页面名称

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent. startTracPage({
  3. activity:'',
  4. }, function(ret) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

endTracPage

Activity页面离开布码调用(结束上一次调用startTracPage的页面)

endTracPage({params}, callback(ret))

params

activity:

  • 类型:字符类型
  • 描述:页面名称

property:

  • 类型:json对象
  • 描述:(可选项)property

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.endTracPage( function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

postAction

发送自定义事件

postAction({params}, callback(ret))

params

action:

  • 类型:字符类型
  • 描述:事件名称

acc:

  • 类型:数字类型
  • 描述:(可选项)事件发生次数
  • 说明:不传此参数,将不会掉用带此参数的方法

property:

  • 类型:json对象
  • 描述:(可选项)自定义属性
  • 说明:不传此参数,将不会掉用带此参数的方法;此参数不为空时acc不能为空,否则此参数不生效

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.postAction({
  3. action:''
  4. },function(ret) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

postActionStart

开始发送自定义事件

postActionStart({params}, callback(ret))

params

action:

  • 类型:字符类型
  • 描述:事件名称

uact:

  • 类型:字符类型
  • 描述:uact

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.postActionStart({
  3. action:'',
  4. uact:''
  5. },function(ret) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

postActionEnd

结束发送自定义事件

postActionEnd({params}, callback(ret))

params

action:

  • 类型:字符类型
  • 描述:事件名称

uact:

  • 类型:字符类型
  • 描述:uact

property:

  • 类型:json对象
  • 描述:自定义属性

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.postActionEnd({
  3. action:'',
  4. uact:''
  5. },function(ret) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

postErrorData

提交错误信息

postErrorData({params}, callback(ret))

params

error:

  • 类型:字符类型
  • 描述:错误信息

property:

  • 类型:json对象
  • 描述:自定义属性

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.postErrorData({
  3. error:''
  4. },function(ret) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

postClientData

发送客户端信息

postClientData(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent. postClientData(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

pushAllData

处理缓存数据

pushAllData(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;结果
  3. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.pushAllData(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addHmtListener

添加数据发送监听

addHmtListener(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. reason:'', //字符类型;事件类型
  3. //preSend:数据即将发送回调
  4. //success:据发送成功回调
  5. //sendFail:数据发送失败回调
  6. from:'', //字符类型
  7. status:true, //布尔类型;reason为sendFail时有效,仅支持ios
  8. errorCode:0 //数字类型;erroCode错误码,仅支持Android
  9. }

示例代码

  1. var HMTAgent = api.require('HMTAgent');
  2. HMTAgent.addHmtListener({
  3. api.alert({msg:JSON.stringify(ret)});
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本