OpenIM提供了客服场景足迹的功能,用来记录用户操作的轨迹,您可以在千牛端查看轨迹信息,更多详情请移步这里。
/** * 初始化用户访问信息,使用足迹功能必须先调用该方法,否则会导致其他足迹接口调用失败 * @param userId 当前用户id * @param appKey 当前用户appKey * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.init(String userId, String appKey, IWxCallback callback);
/** * 更新用户信息,调用该方法之前必须先调用Step1 的初始化方法,否则该方法会失败 * @param extra_ui ui信息 * @param extra_param 参数信息 * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.updateExtraInfo(String extra_ui, String extra_param, IWxCallback callback)
Activity需要继承TrackBaseActivity,Fragment需要继承TrackBaseFragment,然后在onCreate()方法中调用setYWTrackTitleAndUrl()即可,使用示例:
public class TestActivity extends TrackBaseActivity { private static final String TAG = "TestActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_1); /** * 设置当前页面的title和url,必须调用该方法,否则会导致用户足迹上传失败 * @param title 当前页面的唯一标识,不能为空,否则会导致用户足迹上传失败,建议使用当前页面的类名 * @param url 与当前页面关联的url,如果没有可以设置为null */ setYWTrackTitleAndUrl(TAG, null); } }
开发者可以在用户打开聊天窗口的时候发送一条宝贝焦点消息,以便客服可以看到用户的宝贝浏览信息
//创建一条宝贝焦点消息, 参数为宝贝id YWMessage message = YWMessageChannel.createGoodsFocusMessage("522211994009") IYWConversationService conversationService = mIMKit.getConversationService(); EServiceContact contact = new EServiceContact(userId, groupId); //获取会话对象 YWConversation conversation = conversationService.getConversation(contact); //发送宝贝焦点消息,其中TIMEOUT为超时时间,单位为秒 conversation.getMessageSender().sendMessage(message, TIMEOUT, new IWxCallback() { @Override public void onSuccess(Object... arg0) { // 发送成功 } @Override public void onProgress(int arg0) { } @Override public void onError(int arg0, String arg1) { // 发送失败 } });
开发者可以在用户打开聊天窗口的时候发送一条订单焦点消息,以便客服可以看到用户的订单信息
//创建一条订单焦点消息, 参数为宝贝id YWMessage message = YWMessageChannel.createOrderFocusMessage("522211994009") IYWConversationService conversationService = mIMKit.getConversationService(); EServiceContact contact = new EServiceContact(userId, groupId); //获取会话对象 YWConversation conversation = conversationService.getConversation(contact); //发送订单焦点消息,其中TIMEOUT为超时时间,单位为秒 conversation.getMessageSender().sendMessage(message, TIMEOUT, new IWxCallback() { @Override public void onSuccess(Object... arg0){ //发送成功 } @Override public void onProgress(int arg0) { } @Override public void onError(int arg0, String arg1){ //发送失败 } });
/** * 初始化用户访问信息,使用足迹功能必须先调用该方法,否则会导致其他足迹接口调用失败 * @param userId 当前用户id * @param appKey 当前用户appKey * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.init(String userId, String appKey, IWxCallback callback);
/** * 更新用户信息,调用该方法之前必须先调用Step1 的初始化方法, 否则该方法会失败 * @param extra_ui ui信息 * @param extra_param 参数信息 * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.updateExtraInfo(String extra_ui, String extra_param, IWxCallback callback)
/** * 添加一条用户足迹, 调用该方法前必须先调用Step1 的初始化方法, 否则该方法会失败 * 开发者必须在页面的onResume()方法中调用该方法,否则会导致轨迹统计数据不准确 * @param title 标题,当前访问页面的唯一标识,建议开发者使用当前页面的类名作为title * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.addTrack(String title, IWxCallback callback)
/** * 向服务器发送用户停留时长,调用该方法前必须先调用Step3 添加浏览轨迹,否则该方法会失败 * 开发者必须在页面的onPause()方法中调用该方法,否则会导致轨迹统计数据不准确 * @param duration 用户在页面停留时长,单位是毫秒 * 开发者应该使用以下方式计算该值:在onResume()方法中获取enterTime, 在onPause方法中获取leaveTime,duration = leaveTime - enterTime * @param callback 回调,初始化成功会回调callback.onSuccess()方法,初始化失败会回调callback.onError()方法 */ YWTrackUtil.reportTrackTime(long duration, IWxCallback callback)
开发者可以在用户打开聊天窗口的时候发送一条宝贝焦点消息,以便客服可以看到用户的宝贝浏览信息
//创建一条宝贝焦点消息, 参数为宝贝id YWMessage message = YWMessageChannel.createGoodsFocusMessage("522211994009") IYWConversationService conversationService = mIMKit.getConversationService(); EServiceContact contact = new EServiceContact(userId, groupId); //获取会话对象 YWConversation conversation = conversationService.getConversation(contact); //发送宝贝焦点消息,其中TIMEOUT为超时时间,单位为秒 conversation.getMessageSender().sendMessage(message, TIMEOUT, new IWxCallback() { @Override public void onSuccess(Object... arg0) { // 发送成功 } @Override public void onProgress(int arg0) { } @Override public void onError(int arg0, String arg1) { // 发送失败 } });
开发者可以在用户打开聊天窗口的时候发送一条订单焦点消息,以便客服可以看到用户的订单信息
//创建一条订单焦点消息, 参数为宝贝id YWMessage message = YWMessageChannel.createOrderFocusMessage("522211994009") IYWConversationService conversationService = mIMKit.getConversationService(); EServiceContact contact = new EServiceContact(userId, groupId); //获取会话对象 YWConversation conversation = conversationService.getConversation(contact); //发送订单焦点消息,其中TIMEOUT为超时时间,单位为秒 conversation.getMessageSender().sendMessage(message, TIMEOUT, new IWxCallback() { @Override public void onSuccess(Object... arg0){ //发送成功 } @Override public void onProgress(int arg0) { } @Override public void onError(int arg0, String arg1){ //发送失败 } });