差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
im:android:basics:message [2020/07/31 09:21]
zhaoliang [导入消息到数据库]
im:android:basics:message [2020/08/10 04:02]
zhaoliang [设置群消息是否需要已读回执(增值服务)]
行 163: 行 163:
         ​         ​
 </​code>​ </​code>​
 +
 +
 +==== 设置群消息是否需要已读回执(增值服务) ====
 +当消息为群消息时,消息发送方(目前为管理员和群主)可以设置此消息是否需要已读回执,如需要,则设置EMMessage的方法setIsNeedGroupAck()为YES,之后发送。
 +<​code>​
 +public EMMessage createDingMessage(String to, String content) {
 +        EMMessage message = EMMessage.createTxtSendMessage(content,​ to);
 +        message.setIsNeedGroupAck(true);​
 +        return message;
 +    }
 +    ​
 + </​code>​
 +
 +
 +==== 发送群消息已读回执 ====
 +<code objc>
 +public void sendAckMessage(EMMessage message) {
 +        if (!validateMessage(message)) {
 +            return;
 +        }
 +
 +        if (message.isAcked()) {
 +            return;
 +        }
 +
 +        // May a user login from multiple devices, so do not need to send the ack msg.
 +        if (EMClient.getInstance().getCurrentUser().equalsIgnoreCase(message.getFrom())) {
 +            return;
 +        }
 +
 +        try {
 +            if (message.isNeedGroupAck() && !message.isUnread()) {
 +                String to = message.conversationId();​ // do not user getFrom() here
 +                String msgId = message.getMsgId();​
 +                EMClient.getInstance().chatManager().ackGroupMessageRead(to,​ msgId, ((EMTextMessageBody)message.getBody()).getMessage());​
 +                message.setUnread(false);​
 +                EMLog.i(TAG,​ "Send the group ack cmd-type message."​);​
 +            }
 +        } catch (Exception e) {
 +            EMLog.d(TAG,​ e.getMessage());​
 +        }
 +    }
 +</​code>​
 +
 +当发送群已读回执后,消息发送方对应EMMessage的groupAckCount属性会有相应变化;
 +
 +
 +==== 群消息已读回调 ====
 +
 +<​code>​
 + /**
 + * \~chinese
 + * 接受到群组消息体的已读回执,​ 消息的接收方已经阅读此消息。
 + *
 + * \~english
 + * received message read ack by recipient as message had been read
 + *
 + */
 +         void onGroupMessageRead(List<​EMGroupReadAck>​ groupReadAcks) {
 +        }
 +
 +</​code>​
 +
 +
  
 ==== 发送扩展消息 ==== ==== 发送扩展消息 ====