会话相关接口
开启新会话
调用接口后可以开启一个新的会话。
- 相关接口
NBSAppAgent.startNextSession();
- 代码示例
NBSAppAgent.startNextSession();// 开启一个新会话
获取会话 id
调用接口后获取到当前的会话 Id。
- 相关接口
/**
* @return 会话 id。
*/
NBSAppAgent.getSessionId();
- 代码示例
NBSAppAgent.getSessionId();// 返回会话 id
设置会话闲置时间
闲置超过 600 秒后,SDK 会重新生成会话 id。建议在 SDK 初始化前设置。
- 相关接口
/**
* @param sessionIdleTime 会话闲时时间,单位为秒。默认 600 秒。最小支持的时间为 60 秒。设置为 0 禁用闲时时间。
*/
NBSAppAgent.setSessionIdleTime(long sessionIdleTime);
- 代码示例
NBSAppAgent.setSessionIdleTime(700); // 空闲 700 秒后,生成新会话 id
自定义事件
可以通过 reportEvent() 接口上传自定义事件。
- 相关接口
/**
* @param name 事件名称。
* @param attributes 事件属性。
*/
NBSAppAgent.reportEvent(String name, Map attributes);
- 代码示例
Map map = new HashMap();
map.put("name","zhangsan")
NBSAppAgent.reportEvent("login", map);
屏幕录制
可通过调用接口来控制屏幕录制开启、暂停、恢复。
- 相关接口
/**
* 开启视频录制
*/
NBSAppAgent.startVideoReplay()
/**
* 暂停视频录制
*/
NBSAppAgent.pauseVideoReplay()
/**
* 恢复视频录制
*/
NBSAppAgent.resumeVideoReplay()
- 代码示例
以下示例为进入首页开启视频录制,在提交订单时暂停视频录制,离开订单页面时恢复视频录制。
//进入首页
public void initHomeViews(){
...
NBSAppAgent.startVideoReplay();
}
//提交订单
public void submitOrders(){
...
NBSAppAgent.pauseVideoReplay();
}
// 离开订单页
publice void dismissOrderPage(){
...
NBSAppAgent.resumeVideoReplay();
}
敏感信息遮罩
可以通过调用敏感信息遮罩接口从更细粒度「viewId、页面、类名、区域」来遮盖敏感信息。
- 相关接口
/**
* @param view 需要遮罩的 view。
*/
NBSAppAgent.maskSensitiveRegion(View view);
/**
* @param view 需要取消遮罩的 view。
*/
NBSAppAgent.unMaskSensitiveRegion(View view);
/**
* @param view 需要遮罩的区域。
*/
NBSAppAgent.maskSensitiveRegion(Rect rect);
/**
* @param view 需要取消遮罩的区域。
*/
NBSAppAgent.unMaskSensitiveRegion(Rect rect);
/**
* @param clazz 需要遮罩的 class 类。
*/
NBSAppAgent.maskClass(Class clazz)
/**
* @param pageName 需要遮罩的页面名,需传入遮罩页面 Activity 或 Fragment 的 NBSAppAgent.class.getName()。
*/
NBSAppAgent.maskScreens(String pageName)
/**
* @param viewId 需要遮罩的 View 的 id,即 R.id.xxx。
*/
NBSAppAgent.maskViewId(int viewId)
/**
* @param viewId 需要遮罩的 View 的 id,需通过 NBSAppAgent.setViewId(View view, String
viewId) 对 View 设置 id。
*/
NBSAppAgent.maskViewId(String viewId)
- 代码示例
Button bt_login = findViewById(R.id.login);
NBSAppAgent.maskSensitiveRegion(bt_login);// 对 bt_login 按钮进行遮罩
Rect rect = new Rect(100,100,800,800);
NBSAppAgent.maskSensitiveRegion(rect);// 对 rect 区域进行遮罩
... ...
NBSAppAgent.unMaskSensitiveRegion(bt_login);// 对 bt_login 按钮取消遮罩
NBSAppAgent.unMaskSensitiveRegion(rect);// 对 rect 区域取消遮罩
... ...
NBSAppAgent.maskClass(Button.class);// 对 Button 进行遮罩
NBSAppAgent.maskScreens(MainActivity.class.getName());// 对 MainActivity 进行遮罩
NBSAppAgent.maskViewId(R.id.tv);// 对 id 为 R.id.tv 的 View 进行遮罩
NBSAppAgent.maskViewId("tv_name");// 对 id 为 tv_name 的 View 进行遮罩