基本的事件监听
优质
小牛编辑
139浏览
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{
}