差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
im:android:basics:message [2019/11/25 08:17]
huanxinfudh [根据关键字搜索会话消息]
im:android:basics:message [2020/03/13 09:48]
zhaoliang [发送透传消息]
行 88: 行 88:
 cmdMsg.addBody(cmdBody); ​ cmdMsg.addBody(cmdBody); ​
 EMClient.getInstance().chatManager().sendMessage(cmdMsg);​ EMClient.getInstance().chatManager().sendMessage(cmdMsg);​
 +</​code>​
 +
 +==== 发送自定义类型消息 ====
 +用户可以在以上几种消息之外,自己定义消息类型,方便用户的业务处理。
 +自定义消息类型支持用户自己设置一个消息的类型名称,这样用户可以添加多种自定义消息。
 +自定义消息的内容部分是key,value格式的,用户需要自己添加并解析该内容。
 +
 +<code java>
 +
 +EMCustomMessageBody body = new EMCustomMessageBody(EmCustomMsgType.CHATROOM_GIFT.getName());​
 +Map<​String,​ String> params = new HashMap<>​();​
 +        params.put(MsgConstant.CUSTOM_GIFT_KEY_ID,​ giftId);
 +        params.put(MsgConstant.CUSTOM_GIFT_KEY_NUM,​ String.valueOf(num));​
 +        body.setParams(params);​
 +        sendMessage.addBody(body);​
 +        sendMessage.setTo(chatRoomId);​
 +        sendMessage.setChatType(EMMessage.ChatType.ChatRoom);​
 +        EMClient.getInstance().chatManager().sendMessage(sendMessage);​
 +        ​
 </​code>​ </​code>​
  
行 240: 行 259:
  
 ===== 撤回消息功能 ===== ===== 撤回消息功能 =====
-消息撤回功能可以撤回一定时间内发送出去的消息,目前只能是两分钟,不能修改。+消息撤回功能可以撤回一定时间内发送出去的消息,消息撤回时限默认2分钟,可根据开发者需求以AppKey为单位进行单独设置,如需修改请联系环信商务
  
 消息撤回为增值功能,请联系环信商务开通。 消息撤回为增值功能,请联系环信商务开通。
行 286: 行 305:
  
 ===== 根据关键字搜索会话消息 ===== ===== 根据关键字搜索会话消息 =====
-<​code>​+<​code ​java>
 List<​EMMessage>​ messages = conversation.searchMsgFromDB(keywords,​ timeStamp, maxCount, from, EMConversation.EMSearchDirection.UP);​ List<​EMMessage>​ messages = conversation.searchMsgFromDB(keywords,​ timeStamp, maxCount, from, EMConversation.EMSearchDirection.UP);​
 </​code>​ </​code>​
-具体的api文档见[[http://​sdkdocs.easemob.com/​apidoc/​android/​chat3.0/​classcom_1_1hyphenate_1_1chat_1_1_e_m_conversation.html|com.hyphenate.chat.EMConversation类 参考]]+
 ===== 导入消息到数据库 ===== ===== 导入消息到数据库 =====
  
行 295: 行 314:
 EMClient.getInstance().chatManager().importMessages(msgs);​ EMClient.getInstance().chatManager().importMessages(msgs);​
 </​code>​ </​code>​
 +
 +===== 插入消息 =====
 +
 +<code java>
 +//​根据会话插入消息
 +EMConversation conversation = EMClient.getInstance().chatManager().getConversation(username);​
 +conversation.insertMessage(message);​
 +
 +//​直接插入消息
 +EMClient.getInstance().chatManager().saveMessage(message);​
 +</​code>​
 +
  
 ===== Demo 及 SDK 下载 ===== ===== Demo 及 SDK 下载 =====