基本的事件监听

优质
小牛编辑
135浏览
2023-12-01

说明:需要监听的页面中遵守聊天页面代理“NtalkerChatDelegate”,打开聊窗时设置NtalkerChatParams的代理属性,如

NtalkerChatParams *chatParems = [[NtalkerChatParams alloc] init];
chatParems.delegate = self;//聊天页面代理

1.未读消息的监听

用途:用于监听访客不在聊窗页面时客服给访客发送的消息,提示访客有未读消息;

未读回调前提:App处于前台时点击聊窗页面的返回/关闭按钮,2分钟内客服给访客发送的消息;

场景: 1、APP被杀死:此时客服回复消息,会进入推送进行通知提示,不会进入该方法的消息监听通知,也不会计入未读消息数统计;

2、APP未被杀死:此时客服回复消息,会进入该方法的消息监听通知,也会计入未读消息数;

实现:在需要显示未读消息提醒的页面添加未读消息提醒通知监听(通知名:NtalkerUnReadMessageNotification),目的是获取未读消息信息,可参考以下代码示例;简单的提示方式可参照集成包中Demo工程

//注册未读消息通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(unReadMessage:) name:NtalkerUnReadMessageNotification object:nil];

实现通知回调方法

//监听回调事件
- (void)unReadMessage:(NSNotification *)not
{
    //此处自行添加获取未读消息信息后你们的APP需要执行的方法, 比如添加未读提示标签等
    NSLog(@"有新的未读消息== \n %@",not.userInfo);
}

回调方法中的消息格式为:

{
    userName : 售后客服,//客服外部名称
    keFuIcon : http:/filestorage.ntalker.com/file/?key=Y2xpZW50LzE1Mjc4MzA5ODM2NDAtMjAzMjk5MzY3N19NVFV5Tnpnek1EazRNell6T1E9PS5wbmc=,// 客服头像
    unreadCount : 4,//未读消息数
    settingId : kf_6000_template_5,//接待组id
    msgTime : 1536896781457,//消息事件
    msgContent : 客服文本消息//消息内容 ,若是图片消息,则显示为[图片]
}

2.url点击事件的监听

用途:监听聊窗内点击客服或者是访客发送的消息链接,跳转到自定义的webView页面

/**
 聊天消息中的链接点击事件的监听

 @param urlString 消息内容中的url
 */
- (void)ntalker_messageOpenURL:(NSString *)urlString{
    if (urlString) {
        //跳转到自己的webView页面
    }
}

3.自定义实现 点击超媒体消息链接跳转的操作

用途:监听聊窗内点击的超媒体消息中的链接,web页面

/**
自定义实现 点击超媒体消息链接跳转的操作

@param URLString 链接字符串 为点击的链接
*/
- (void)ntalker_hypermediaMessageOpenURL:(NSString *)URLString{

}

用途:监听聊窗内点击的超媒体消息中的其他链接,通常用于根据监听到的值跳转到指定的某个原生页面

/**
自定义实现 点击超媒体消息其他跳转操作

@param parameter 参数  超媒体中回调的值
*/
- (void)ntalker_hypermediaMessageOpenPageWithParameter:(id)parameter{

}

4.聊天窗口导航栏按钮点击监听

/**
聊天窗口关闭按钮点击监听
*/
- (void)ntalker_closeChatButtonDidSelect{

}
/**
聊天窗口返回按钮点击监听
*/
- (void)ntalker_goBackButtonDidSelect{

}