跳转到主要内容

接入方式

我们提供三种接入方式,您可以根据项目需求选择最适合的方案:
接入方式推荐场景特点
NPM现代 Web 应用与前端代码打包,对页面加载无影响
CDN 异步有性能目标的应用异步加载,不影响页面性能
CDN 同步需要完整数据采集同步加载,可捕获所有事件
NPM 和 CDN 异步方式可能会错过在 SDK 初始化之前触发的错误、资源和用户操作。如需完整采集,请使用 CDN 同步方式。
@flashcatcloud/browser-rum 添加到您的 package.json 文件中:
npm install @flashcatcloud/browser-rum
然后在应用入口文件中初始化:
import { flashcatRum } from "@flashcatcloud/browser-rum";

flashcatRum.init({
  applicationId: "<YOUR_APPLICATION_ID>",
  clientToken: "<YOUR_CLIENT_TOKEN>",
  service: "<SERVICE_NAME>",
  env: "<ENV_NAME>",
  version: "1.0.0",
  sessionSampleRate: 100
});

初始化参数

必填参数

applicationId
string
必填
应用 ID,在应用管理页面获取
clientToken
string
必填
客户端 Token,在应用管理页面获取
service
string
必填
服务名称,用于区分不同的服务

可选参数

env
string
环境标识,如 productionstaging
version
string
应用版本号
sessionSampleRate
number
默认值:"100"
要跟踪的会话百分比:100 为全部,0 为不采集
sessionReplaySampleRate
number
默认值:"0"
启用会话重放功能的会话百分比
初始用户跟踪同意状态,详见用户跟踪同意
trackViewsManually
boolean
默认值:"false"
是否手动控制视图创建,详见覆盖默认视图名称
trackUserInteractions
boolean
默认值:"true"
是否自动收集用户操作
trackResources
boolean
默认值:"true"
是否启用资源事件收集
trackLongTasks
boolean
默认值:"true"
是否启用长任务事件收集
trackAnonymousUser
boolean
默认值:"true"
是否启用跨会话的匿名用户 ID 收集
sessionReplayPrivacyLevel
'allow' | 'mask-user-input' | 'mask-all'
默认值:"mask-user-input"
会话重放隐私策略:allow 采集除密码外所有数据,mask-user-input 隐藏用户输入框内容,mask-all 隐藏所有文本
allowedTracingUrls
array
用于注入跟踪 Headers 的请求 URL 列表,详见集成分布式追踪
traceSampleRate
number
默认值:"100"
要跟踪的请求百分比
proxy
string
可选代理 URL,例如:https://www.proxy.com/path
compressIntakeRequests
boolean
默认值:"false"
是否压缩发送到 Flashduty 的请求,在 Worker 线程中完成
storeContextsAcrossPages
boolean
默认值:"false"
是否将上下文存储在 localStorage 中以跨页面保留

应用场景

自定义用户标识

使用 flashcatRum.setUser() 为当前用户添加标识属性:
flashcatRum.setUser({
  id: '1234',
  name: 'John Doe',
  email: 'john@doe.com',
  plan: 'premium'
});

添加自定义 TAG

初始化 RUM 后,使用 setGlobalContextProperty API 为所有 RUM 事件添加额外的 TAG:
import { flashcatRum } from "@flashcatcloud/browser-rum";

flashcatRum.setGlobalContextProperty('activity', {
  hasPaid: true,
  amount: 23.42
});

发送自定义操作

使用 addAction API 创建 RUM 操作并附加上下文属性:
import { flashcatRum } from "@flashcatcloud/browser-rum";

function onCheckoutButtonClick(cart) {
  flashcatRum.addAction("checkout", {
    value: cart.value,
    items: cart.items
  });
}

自定义添加 Error

您可以通过 dd_context 属性为错误对象附加本地上下文:
const error = new Error("Something went wrong");
error.dd_context = { component: "Menu", param: 123 };
throw error;

验证接入

1

检查网络请求

打开浏览器开发者工具,查看 Network 面板中是否有 https://browser.flashcat.cloud/api/v2/rum 的数据上报请求。
2

查看控制台数据

访问 Flashduty 控制台,查看 RUM 应用数据是否正常显示。
3

触发用户交互

在页面上触发一些用户交互(点击、滚动等),验证数据采集是否正常。
数据通常在 2-5 分钟内显示在控制台中。

下一步