SDK会话分析模块提供了视频回放功能,您可以根据需求开启使用视频回放功能,具体步骤如下:
1. 引入视频插件库及SDK
若在「SDK部署」时已引入,则可以跳过该步骤
- iOS
您可以通过在项目工程的 Podfile 文件中添加pod 'NBSReplayKit'
,然后执行pod install
命令来引入插件库和 SDK。
- Android
您可以通过 maven 仓库的方式来引入 2.17.4 及以上版本的 Android SDK,引入步骤见部署文档。
2. 开启视频回放
您可以在平台「用户旅程」- 「设置」中开启「旅程回溯」开关并根据需要配置相应屏幕录制 config 信息,同时在项目工程中调用startVideoReplay
接口来开启屏幕录制。
3. 配置隐私策略
视频回放功能是对设备屏幕进行截图,所以会涉及到敏感信息问题;您可以通过调用 SDK 接口来对敏感信息进行遮罩处理「SDK 默认对密码输入框进行遮罩」。SDK提供「暂停录制」和「敏感信息遮罩」两种处理敏感信息方式。
- 暂停录制
若您不想对包含敏感信息的页面进行屏幕录制时,可以在进入到相应页面前调用pauseVideoReplay
接口暂停屏幕录制,待离开敏感信息页面后在调用resumeVideoReplay
接口来恢复屏幕录制。
- 敏感信息遮罩
SDK 支持对控件、输入框、文本、图像、区域、页面、类进行定制化遮罩。
1. 遮罩所有输入框、文本、图像
若您想对所有输入框、文本、图像进行遮罩时,可以在平台「用户旅程」-「设置」-「UI遮罩」中将「遮罩输入框」、「遮罩文本」、「遮罩图像」开关开启,SDK 获取到该配置后会对其进行遮罩。
2. 遮罩指定区域
若您想对某页面的某个敏感区域进行遮罩,可以调用 maskSensitiveRegion
接口,传入敏感区域进行遮罩;由于遮罩区域接口整个会话内都会生效,所以为了避免遮罩其他页面相应区域,您可以在离开需要遮罩敏感区域的页面时调用 unmaskSensitiveRegion
来取消遮罩区域。
3. 遮罩指定页面
若您想要对指定页面进行遮罩时,可以在平台「用户旅程」-「设置」-「UI遮罩」-「遮罩指定页面」中配置对应页面名称,SDK 获取到配置后会对其进行遮罩;亦或者您可以通过调用 maskScreens
接口,传入页面名称进行遮罩。若平台和接口同时配置遮罩 viewId ,那么该配置为追加处理。
页面名称:iOS 填入 ViewController 名称;Android 填入 Activity 名称。
4. 遮罩指定控件
若您想要对指定控件进行遮罩时,可以在平台「用户旅程」-「设置」-「UI遮罩」-「遮罩指定控件ID」中配置对应控件ID,SDK 获取到配置后会对其进行遮罩;亦或者您可以通过调用 maskViewId
接口,传入 viewId 进行遮罩。若平台和接口同时配置遮罩 viewId ,那么该配置为追加处理。
viewId:iOS 填入控件 accessibilityIdentifier 属性的值;Android 填入 NBSAppAgent.setViewId 设置的 viewId。
5. 遮罩指定类
若您想要对指定的类进行遮罩时,可以通过调用 maskClasses
接口,传入对应类名进行遮罩;传入父类时,父类和子类都会进行遮罩。
指定类可以为包含敏感信息的自定义view。
性能消耗
开启屏幕录制后,性能消耗如下:
性能指标 | 性能消耗 |
---|---|
CPU | CPU增加约 5% |
内存 | 内存增加约 10MB |
流量 | 20张图片流量增加约 132KB「极低质量」、208KB「低质量」、386 KB「高质量」 |