JavaScript SDK - 'start' 方法

关于 OpenReplay SDK 中 'start' 方法的详细信息

JavaScript SDK ⁠-⁠ 'start' 方法

此方法用于启动 tracker。启动 tracker 后,会话录制随即开始。

start(startOpts?: Partial<StartOptions>): Promise<StartPromiseReturn>

start 方法接受一个可选参数,你可以通过它自定义录制的各个方面:

  • userID: string:用于手动设置用户 ID,以便跨会话追踪该用户。这是一个字符串值,可以是你想要的任何内容。
  • metadata: Record<string, string>:手动设置元数据值。请查看元数据章节以了解有关此功能的更多信息。
  • forceNew: boolean:用于在页面刷新后强制创建新会话。默认值为 false,因此刷新后会话会被保留。
  • sessionToken: string:在某些集成中使用。
  • assistOnly: boolean:以仅协助(assist-only)模式启动 tracker,该模式将跳过向后端发送会话数据(EE 版本功能)
  • startCallback?: (result: StartPromiseReturn) => void:当 tracker 启动或启动失败时触发的回调。返回成功或失败信息。

启动后,该方法将返回一个 promise,其中包含一个会话信息对象,内容包括:

  • sessionID: string:表示所启动会话 ID 的字符串值。
  • sessionToken: string:会话的令牌。
  • userUUID: string:用户的唯一标识符。

StartPromiseReturn 可以是以下两者之一:

// Successful start
interface OnStartInfo {
  sessionID: string;
  sessionToken: string;
  userUUID: string;
}

const SuccessfulStart = (body: OnStartInfo): SuccessfulStart => ({
  ...body,
  success: true,
});

// Unsuccessful start
const UnsuccessfulStart = (reason: string): UnsuccessfulStart => ({
  reason,
  success: false,
});

// Type for start promise return
export type StartPromiseReturn = SuccessfulStart | UnsuccessfulStart;
  • 成功的情况:如果成功,promise 将返回 sessionID、sessionToken 和 userUUID。
  • 失败的情况:如果失败,它将返回 reason 和 success: false。