bm-sentry

埋点

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
bm-sentry
3.0.72 years ago2 years agoMinified + gzip package size for bm-sentry in KB

Readme

埋点依赖demo

安装依赖

npm install bm-sentry -S

初始化方法

示例:
import { bmSentryInit } from 'bm-sentry'

//初始化方法
bmSentryInit({
  appid: '',
  uid: '',
  session_id: '',
  loginToken: '',
  bmSentryService: '',
  bmSentryServiceUrl: '',
},{});

or

bmSentryInit({
  appid: '',
  uid: '',
  session_id: '',
  loginToken: '',
  bmSentryService: {
    FUNCTION_MODULE: '功能事件上报接口地址',
    CHAT_LOG_AI_REP: '用户输入上报接口地址'
  },
},{});

bmSentryInit参数说明:
|参数|类型|是否必填|描述|规则说明|
|---|---|---|---|---| |{}|object|是|业务数据|| |appid|string|是|产品appid|| |uid|string|是|用户uid|| |sessionid|string |是|会话id,用聊天登录接口返回,取sessionCode值|| |loginToken|string |是|AToken:登录接口获取到的token,应用身份凭证,用于接口中接入应用身份校验|| |bmSentryService|string |否|上报接口通用域名。用于拼接到接口方法前|拼接规则:bmSentryServiceUrl无值且bmSentryService有值| |bmSentryServiceUrl|string or object |否|上报接口具体地址,不传或传空值或null或undefined或空对象或对象类型匹配不到值 接口以默认值|统一上报接口地址使用string类型。若是指定事件类型的上报接口地址则使用object,例如:功能事件上报 bmSentryService={FUNCTIONMODULE:'接口地址'}| ||||| |{}|object |是|插件配置数据,包含两个参数,可传空对象| |isTaro|boolean|是|上报页面停留时长路径| |engine|any|是|如果是taro, 需要透传Taro实例|

更新插件配置

示例:
import { updateParams } from 'bm-sentry'

updateParams({
  uid: 'xxxxxxx'
})

updateParams参数说明:
|参数|类型|是否必填|描述|
|---|---|---|---| |{}|object|是|同bmSentryInit的业务数据参数|

获取设备信息

示例:
import { getSystemData } from 'bm-sentry'

getSystemData()

getSystemData参数说明:无
getSystemData返回结果说明:
|参数|类型|描述|
|---|---|---| |{}|object|获取设备信息结果返回数据| |deviceos|string|终端操作系统| |devicemodel|string|终端机型| |clientip|string|客户端ip|

上报

  • 聊天上报示例:

import { reportTrackDataByKey, TRACK_DATA_ENUM } from 'bm-sentry'

//用户输入上报示例
let param = {
  'user_request': 'msg',
  'event_time': '123456789',
  'input_type': '用户输入类型'
}

let key = TRACK_DATA_ENUM['CHAT_LOG_AI_REP']

reportTrackDataByKey(key,param)


//AI回复 上报
let param = {
  'response': 'msg',
  'event_time': '123456789',
  'output_type': '回复类型',
  'response_origin': '回复来源'
}

let key = TRACK_DATA_ENUM['CHAT_LOG_AI_RESP']

reportTrackDataByKey(key,param)

  • 功能事件上报示例:(例如:快捷回复点击、猜你想问点击、模糊匹配点击、选项列表点击等)
  • 接口默认校验token值,即接口调用前,判断loginToken是否有值,无值则一直等待获取到token值后在进行接口调用。

import { reportTrackDataByKey, TRACK_DATA_ENUM, FUNCTION_MODULE_ENUM } from 'bm-sentry'

let key = TRACK_DATA_ENUM['FUNCTION_MODULE']

let param = {
  event_time: '123456789',
}

let funckey = FUNCTION_MODULE_ENUM['AI_REPLY_OPTION_CLICK']

reportTrackDataByKey(key, param, funckey, headerParam)

reportTrackDataByKey参数说明:
|参数|类型|是否必填|描述|规则说明|
|---|---|---|---|---| |key|string|是|上报的事件类型|详见 TRACK_DATA_ENUM
| |param|object|是|想要上报的数据|上报参数由数仓管理平台配置,包括参数类型、参数是否必传等| |funckey|string|-|上报的功能事件类型|若key值为功能函数事件'FUNCTIONMODULE',则必传。详见FUNCTION_MODULE_ENUM| |headerParam|object|否|上报接口请求header头信息|-|

TRACKDATAENUM

上报事件枚举
|type|描述|
|---|---| |APPLICATIONOPEN|应用打开| |PAGEINTO|页面进入| |PAGESTAY|页面停留| |FUNCTIONMODULE|功能事件| |SYSTEM|系统信息| |ADDRESS|地理信息| |CHATLOGAIREP|聊天日志用户输入| |CHATLOGAIRESP|聊天日志AI回复| |AIFEEDBACKLIKE|用户反馈用户点赞| |AIFEEDBACKDISLIKE|用户反馈用户点踩|

FUNCTIONMODULEENUM

功能函数枚举
|type|描述|
|---|---| |CUSTOMCLICK|自定义点击| |TOPQUESTIONSCLICK|热门问题点击| |TOPQUESTIONSREFRESH|热门问题换一批| |NAVIGATORNAVCLICK|服务导航点击| |NAVIGATORQUESTIONCLICK|服务导航具体问题点击| |SUPPOSEASSOCIATECLICK|猜你想问点击| |SUPPOSEFUZZYMATCHCLICK|模糊匹配点击| |AIREPLYOPTIONCLICK|快捷回复选项点击| |AIREPLYOPTIONLISTCLICK|选项列表点击|

自定义上报

示例:
  • 接口默认校验token值,即接口调用前,判断loginToken是否有值,无值则一直等待获取到token值后在进行接口调用。

import { reportTrackData } from 'bm-sentry'

//以猜你想问-点击上报 为例
let param = {
  appid: 'x.xxxxx',
  topic: 'prod_func',
  subtopic: 'function',
  uid: '123456',
  event_code: 'prod_func_click006',
  event_time: '1234567890',
  session_id: 'xxxxxxxxxxxxxxxx',
  event_count:1,
  event_value:''
}
reportTrackData(param,headerParam,url)

reportTrackData参数说明:
|参数|类型|是否必填|描述|
|---|---|---|---| |param|object or array|是|想要上报的数据| |headerParam|object|否|上报接口请求header头信息| |url|string|否|自定义上报接口的具体地址。例如:https://upgrade.nekoplan.com/gateway/dataService/v1/dataDetail/report/prodfunc。 |

开发调试说明

开发须知