普通消息:
RongIM入口:
可用的方法(2个)
/**
* <p>发送消息。
* 通过 {@link io.rong.imlib.IRongCallback.ISendMessageCallback}
* 中的方法回调发送的消息状态及消息体。</p>
*
* @param message 将要发送的消息体。
* @param pushContent 当下发 push 消息时,在通知栏里会显示这个字段。
* 如果发送的是自定义消息,该字段必须填写,否则无法收到 push 消息。
* 如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。
* @param pushData push 附加信息。如果设置该字段,用户在收到 push 消息时,能通过 {@link io.rong.push.notification.PushNotificationMessage#getPushData()} 方法获取。
* @ 另一个方法多了个参数 option: @param option 发送消息附加选项,目前仅支持设置 isVoIPPush,如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push.
* @param callback 发送消息的回调,参考 {@link io.rong.imlib.IRongCallback.ISendMessageCallback}。
*/
public void sendMessage(Message message, String pushContent, final String pushData, final IRongCallback.ISendMessageCallback callback)
废弃的方法 (4个)
@Deprecated
public Message sendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, final RongIMClient.SendMessageCallback callback){}
@Deprecated
public void sendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, final String pushData, final RongIMClient.SendMessageCallback callback, final RongIMClient.ResultCallback<Message> resultCallback){}
@Deprecated
public void sendMessage(Message message, String pushContent, final String pushData, final RongIMClient.SendMessageCallback callback, final RongIMClient.ResultCallback<Message> resultCallback){}
@Deprecated
public Message sendMessage(Message message, String pushContent, final String pushData, final RongIMClient.SendMessageCallback callback) {}
现可用的RongIM --> sendMessage标准逻辑:
- filterSendMessage过滤 (setOnSendMessageListener)
- 为消息附上用户信息
- 调用RongIM.sendMessage()
-- onAttach() : 若tag == isPersisted, 触发一次eventbus事件展示消息, callback
-- onSuccess() : filterSentMessage --> 还要判断消息发送的状态, 在里边触发eventbus, callback
-- onError() : filterSentMessage --> 同上, callback
网友评论