本文适用于直接火山引擎平台上的产品及服务。支持的原生小程序包括微信、字节、支付宝和百度小程序,但不支持 taro 或者 uniapp 之类的框架。
使用限制
目前SDK仅限中国大陆应用使用(不包括港澳台地区)。
快速接入
npm install 之后要执行"构建 npm"指令。
https://www.npmjs.com/package/@apm-insight-web/rangers-mini-sdk
配置上报域名白名单
请在小程序管理后台的 request 合法域名列表中添加你的上报域名,否则上报请求会被拦截。
目前 SDK 内置上报域名为 https://tbm.snssdk.com。
集成DataFinder
如果您同时购买了DataFinder的产品,需要打通UserID,可使用以下方式:
详细配置
在上文示例中只配置了 aid 和 userId, 除了这两个配置项以外,还有多个配置项。所有支持的配置项字段名和字段意义如下:
验证上报
调用 init 之后,SDK 会调用 getSystemInfo 与 getNetworkType 收集一些环境信息,并在首页的 Page.onShow 触发时上报 PV 事件,可以在调试器控制台看到 /monitor_microapp/collect 的请求。
功能介绍
- 错误收集:SDK 会监控 App.onError 与 App.onUnhandledRejection 事件,并收集上报错误信息,也可以尝试主动触发
- PV统计:onShow 获取页面路由变化,发送PV
- setData 性能: 通过 hook setData 监听性能
- 请求监控: 通过hook request 监控请求
以下是引入的监控实例暴露的所有接口 以及 接口的功能解释,可按需调用。
vemars.init(config?: UserConfig) => void
初始化监控实例, UserConfig 同上文 详细配置中的类型。
vemars.config(config?: Partial) => void
配置监控实例, UserOptions 同上文 详细配置中的类型。
vemars.capture(error: Error) => void
主动捕获错误。
vemars.report(event: ReportEvent) => void
自定义上报各种类型的事件, 各种上报类型不在此赘述。
vemars.addBreadcrumb(type: BreadcrumbType, payload: any) => void
自定义上报面包屑, payload 会被解构到面包屑中。
vemars.sendNow() => void
为了减少每秒请求数,SDK 采取批量合并上报策略,每收集 10 个上报事件或距离上个发送请求间隔 1 秒才会发送上报请求, 调用此方法可以立刻上报。