跳转至

全局上下文(Global Context)

Global Context 会附加到设置之后产生的 RUM 事件,适合记录租户、版本渠道、实验分组等稳定业务维度。

选择 API

API 作用 返回值
setGlobalContextProperty(key, value) 添加或覆盖单个字段 无
setGlobalContext(context) 替换整个 Global Context 无
getGlobalContext() 获取当前 Global Context 的副本 Object
removeGlobalContextProperty(key) 移除单个字段 无
clearGlobalContext() 清空全部 Global Context 无
setGlobalContext() 会替换整个 Context

如果只需要更新一个字段,请使用 setGlobalContextProperty(),避免覆盖其他模块已经设置的字段。

NPM 示例

import { datafluxRum } from "@cloudcare/browser-rum"

datafluxRum.setGlobalContextProperty("tenant_id", "tenant-42")
datafluxRum.setGlobalContext({
  tenant_id: "tenant-42",
  release_channel: "stable"
})

const context = datafluxRum.getGlobalContext()
console.log(context)

datafluxRum.removeGlobalContextProperty("release_channel")
datafluxRum.clearGlobalContext()

CDN 示例

if (window.DATAFLUX_RUM) {
  window.DATAFLUX_RUM.setGlobalContextProperty("tenant_id", "tenant-42")
  const context = window.DATAFLUX_RUM.getGlobalContext()
  console.log(context)
}
window.DATAFLUX_RUM.onReady(function () {
  window.DATAFLUX_RUM.setGlobalContextProperty("tenant_id", "tenant-42")
  const context = window.DATAFLUX_RUM.getGlobalContext()
  console.log(context)
})

字段设计建议

  1. 使用稳定、含义明确的 key,例如 tenant_id、release_channel。
  2. 不要把时间戳、随机数等高基数值作为通用分析维度。
  3. 不要写入密码、Token、身份证号等敏感信息。
  4. Context 只影响设置之后产生的事件,不会修改已经上报的数据。

验证

设置字段后触发一次 View、Action 或 API 请求,在对应查看器中确认事件包含 tenant_id。如果旧事件没有该字段,请检查 Context 是否在事件发生前设置。

文档评价

文档内容是否对您有帮助?