Windows 会话重放¶
实验性功能
Windows SDK 的 Session Replay 默认关闭,可以显式开启和验证,但尚未进入稳定发布范围。接入前请自行评估目标应用的兼容性、隐私、性能和数据量;请勿将当前行为作为稳定兼容承诺。
支持范围¶
WPF、WinForms、WinUI 3、WebView2、Electron 和 Native C/C++ 应用均可显式开启验证。不同 UI 框架、跨域 Frame、Canvas、自定义渲染内容和媒体播放控件的回放效果需要在目标应用中单独验证。
启用会话重放¶
初始化 SDK 时显式将 SessionReplay.Enabled 设为 true。下面示例使用公网 DataWay;使用本地环境部署(DataKit)时,将 DatawayUrl 和 ClientToken 替换为 DatakitUrl。
using Guance.Windows;
GuanceSdk.Init(new GuanceConfig
{
DatawayUrl = "https://openway.<your-domain>",
ClientToken = "<client-token>",
RumAppId = "<rum-app-id>",
ServiceName = "desktop-client",
Env = "prod",
Version = "1.0.0",
SessionReplay = new RumSessionReplayConfig
{
Enabled = true,
SampleRate = 1.0,
OnErrorSampleRate = 0.0,
TextAndInputPrivacy = SessionReplayTextAndInputPrivacy.MaskAll,
TouchPrivacy = SessionReplayTouchPrivacy.Show,
ImagePrivacy = SessionReplayImagePrivacy.MaskAll
}
});
Native C/C++ 应用在初始化前设置对应字段:
#include "guance_sdk.h"
guance_sdk_config config;
guance_sdk_config_init(&config);
config.session_replay_enabled = 1;
config.session_replay_sample_rate = 1.0;
config.session_replay_on_error_sample_rate = 0.0;
同时填写 DataWay 或 DataKit、RUM 应用 ID、服务名、环境和应用版本等初始化必填项后,再调用 guance_sdk_init()。Native SDK 还需要按窗口生命周期注册回放窗口;WebView2 和 Electron 页面记录通过各自的 Native Bridge 写入同一会话。
隐私要求¶
会话重放可能采集界面中的文本、输入、点击和图像信息。启用前应至少确认以下事项:
- 默认使用文本和输入脱敏、图片脱敏等保守策略,并只在完成业务评估后放宽规则;
- 对含有账号、支付、身份凭证或其他敏感数据的元素设置更严格的元素级隐私规则,或将其隐藏;
- 在测试环境验证采集内容、数据量和上传行为后,再逐步扩大采样范围。
有关元素级隐私规则,请参阅 Windows 隐私与数据脱敏。