文档

接入小程序

更新时间:

ARMS用户体验监控支持监控支付宝、微信、钉钉、QQ、抖音、百度、京东等常见小程序,并支持Taro、Uniapp等跨端框架编译目标为小程序,通过集成npm包的方式,采集应用站点运行过程中的性能指标,追踪异常问题,帮助您提升自身应用站点的用户体验。

重要

阿里云用户体验监控于2023年12月08日开启公测,公测期间您可以免费试用阿里云用户体验监控,如果您在使用中有任何问题,请联系用户体验监控答疑钉钉群(群号:67370002064)获取帮助。

操作步骤

  1. 登录ARMS控制台
  2. 在左侧导航栏选择用户体验监控 > 应用列表,并在顶部菜单栏选择目标地域。

  3. 应用列表页面单击添加应用

  4. 创建应用面板单击小程序

  5. 小程序面板输入应用名称和描述,然后单击创建

    说明

    应用名称唯一,不能与已创建的应用名称重复。

    创建成功后,当前应用将会自动生成对应的pid和endpoint地址。

  6. 获取探针SDK安装方式。

    小程序探针目前仅支持通过npm包接入。

    1. 引入npm包。

      npm install @arms/rum-miniapp
    2. 初始化。

      说明

      请将以下代码中的pidendpoint替换为控制台获取的当前应用对应的pid和endpoint地址。

      import ArmsRum from '@arms/rum-miniapp';
      ArmsRum.init({
        pid: "your app id",
        endpoint: "your endpint"
      });
  7. 设置安全域名。

    将当前应用对应的endpoint地址添加到服务器域名白名单中。

    Endpoint地址示例:https://aokcd*****-default-cn.rum.aliyuncs.com

SDK配置

参数

类型

描述

是否必填

默认值

pid

string

应用ID

-

endpoint

string

上报地址

-

env

-

应用环境:

  • prod:线上环境

  • gray:灰度环境

  • pre:预发环境

  • daily:日常环境

  • local:本地环境

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)
文档反馈