ARMS用户体验监控支持监控支付宝、微信、钉钉、QQ、抖音、百度、京东等常见小程序,并支持Taro、Uniapp等跨端框架编译目标为小程序,通过集成npm包的方式,采集应用站点运行过程中的性能指标,追踪异常问题,帮助您提升自身应用站点的用户体验。
阿里云用户体验监控于2023年12月08日开启公测,公测期间您可以免费试用阿里云用户体验监控,如果您在使用中有任何问题,请联系用户体验监控答疑钉钉群(群号:67370002064)获取帮助。
操作步骤
- 登录ARMS控制台。
在左侧导航栏选择
,并在顶部菜单栏选择目标地域。在应用列表页面单击添加应用。
在创建应用面板单击小程序。
在小程序面板输入应用名称和描述,然后单击创建。
说明应用名称唯一,不能与已创建的应用名称重复。
创建成功后,当前应用将会自动生成对应的pid和endpoint地址。
获取探针SDK安装方式。
小程序探针目前仅支持通过npm包接入。
引入npm包。
npm install @arms/rum-miniapp
初始化。
说明请将以下代码中的
pid
和endpoint
替换为控制台获取的当前应用对应的pid和endpoint地址。import ArmsRum from '@arms/rum-miniapp'; ArmsRum.init({ pid: "your app id", endpoint: "your endpint" });
设置安全域名。
将当前应用对应的endpoint地址添加到服务器域名白名单中。
Endpoint地址示例:
https://aokcd*****-default-cn.rum.aliyuncs.com
SDK配置
参数 | 类型 | 描述 | 是否必填 | 默认值 |
pid | string | 应用ID | 是 | - |
endpoint | string | 上报地址 | 是 | - |
env | - | 应用环境:
| 否 | prod |
version | string | 应用版本 | 否 | - |
user | object | User配置 | 否 | user.id由SDK默认生成 |
collectors | object | 各Collector(采集器)配置 | 否 | - |
beforeReport | function | Repoter发送Rum事件之前 | 否 | noop |
User配置
参数 | 类型 | 描述 | 是否必填 | 默认值 |
id | string | 用户ID | 否 | 由SDK默认生成 |
tags | string | 标签 | 否 | - |
name | string | 名称 | 否 | - |
[key: string] | any | 用户自定义Key | 否 | - |
采集器配置
Collector采集器是RUM SDK用于收集页面监控数据的最小单元。目前RUM SDK内置了pv、api、jsError等采集器。
参数 | 类型 | 描述 | 是否必填 | 默认值 |
pv | boolean | object | 监听小程序View的生命周期 | 否 | true |
api | boolean | object | 监听API请求。 | 否 | true |
consoleError | boolean | object | 监听console.error抛出的错误。 | 否 | true |
jsError | boolean | object | 监听JS错误。 | 否 | true |
示例
Report上报数据之前拦截修改上报数据。
ArmsRum.init({ pid: "your app id", endpoint: "your endpint", // 拦截上报数据,返回 null,undefined,0, false 等,会取消本次上报 beforeReport(bundle) { bundle.events = bundle.events.filter(event => event.event_type === 'resource'); return bundle; }, });
使用业务自有账号体系,不建议覆盖SDK生成的user.id,这样可能会对UV的计算产生影响。
ArmsRum.init({ pid: "your app id", endpoint: "your endpint", user: { name: getYourUserId() } });
关闭监听Console错误。
ArmsRum.init({ pid: "your app id", endpoint: "your endpint", collectors: { consoleError: false, } });
SDK API
RUM SDK开放API,用于修改上报自定义数据,动态修改SDK配置等。
sendEvent
自定义上传数据。
ArmsRum.sendEvent({
event_type: RumEventType.VIEW,
type: 'pv',
url: 'https://armsnext.console.aliyun.com/b',
referrer: 'https://armsnext.console.aliyun.com/a',
loading_type: 'initial_load',
});
getConfig
获取SDK配置。
setConfig
修改SDK配置。
// 指定 key 设置
ArmsRum.setConfig('env', 'pre');
// 覆盖设置
const config = ArmsRum.getConfig();
ArmsRum.setConfig({
...config,
version: '1.0.0',
env: 'pre',
});
- 本页导读 (1)