请选择 进入手机版 | 继续访问电脑版
查看: 572|回复: 0

IM SDK怎么接收消息

[复制链接]

21

主题

59

帖子

212

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
212
发表于 2018-3-14 10:37:11 | 显示全部楼层 |阅读模式
  • Windows (C)
    • 点对点消息和群聊消息
      通过 nim_talk_reg_receive_cb注册接收消息全局回调,或者通过 nim_talk_reg_receive_msgs_cb注册接收批量消息回调(一个会话为单位),指定接收消息的回调函数 nim_talk_receive_cb_func,收到的 content中包含消息内容 kNIMMsgKeyLocalReceiveMsgContent。
      如果是图片、语音消息,SDK会自动下载,然后通过注册的 nim_nos_reg_download_cb下载全局回调中指定的回调函数 nim_nos_download_cb_func进行通知。
      [注意] Windows接收群聊消息和点对点消息方法一致,在消息类型 kNIMMsgKeyToType上区分。
    • 聊天室消息
      通过 nim_chatroom_reg_receive_msg_cb注册接收聊天室消息的全局回调,指定接收聊天室消息的回调函数 nim_chatroom_receive_msg_cb_func,其中包含聊天室ID和消息内容。
  • Android
    • 点对点消息和群聊消息
      通过 NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(incomingMessageObserver, true)注册消息接收观察者,新消息到达时会收到通知,其中包含 IMMessage的List。
      [注意] Android接收群聊消息和点对点消息方法一致,在消息类型 SessionTypeEnum上区分。
    • 聊天室消息
      通过 NIMClient.getService(ChatRoomServiceObserver.class).observeReceiveMessage(Observer<java.util.list> observer, true)</java.util.list注册聊天室消息接收观察者,新消息到达时会收到通知,其中包含 ChatRoomMessage的List。
  • iOS
    收到消息会通过 NIMChatManagerDelegate的 -onRecvMessages:回调通知,其中包含 NIMMessage消息的NSArray。
    [注意] iOS接收点对点消息、群聊消息、聊天室消息的接口一致。通过 NIMMessage的 NIMSessionType区分。
  • Web
    • 点对点消息和群聊消息
      收到消息会通过初始化SDK时 NIM.getInstance中 onmsg注册的回调函数进行通知,其中包含消息对象。
      [注意] Web接收接收群聊消息和点对点消息方法一致,在 scene参数上区分。
    • 聊天室消息
      收到聊天室消息会通过初始化聊天室时 Chatroom.getInstance中 onmsgs注册的回调函数 onChatroomMsgs进行通知,其中包含聊天室消息数组。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表