差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
im:ios:basics:message [2020/05/26 02:39] zhaoliang |
im:ios:basics:message [2020/07/27 04:42] huanxinfudh [获取单个会话未读消息数] |
||
---|---|---|---|
行 76: | 行 76: | ||
//message.chatType = EMChatTypeChatRoom;// 设置为聊天室消息 | //message.chatType = EMChatTypeChatRoom;// 设置为聊天室消息 | ||
</code> | </code> | ||
+ | |||
+ | ==== 构造表情消息 ==== | ||
+ | |||
+ | 发表情消息实质上是发文本消息。接收方收到文本消息后,首先查询文本消息是否是表情消息,如果是,则显示该文本消息为对应的表情图片。可以使用[[https://unicode.org/emoji/charts/full-emoji-list.html |emoji标准]]来做表情图片和对应的文本字符串的映射。也可以自行维护表情图片和文本字符串的映射。 | ||
+ | |||
+ | <code objc> | ||
+ | /*! | ||
+ | * 初始化表情消息体 | ||
+ | * | ||
+ | * @param aText 表情消息文本串 | ||
+ | * | ||
+ | * @result 表情消息体实例 | ||
+ | */ | ||
+ | - (instancetype)initWithText:(NSString *)aText; | ||
+ | |||
+ | // 调用: | ||
+ | EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:@"要发送的表情消息文本串"]; | ||
+ | // 获取当前登录的环信id | ||
+ | NSString *from = [[EMClient sharedClient] currentUsername]; | ||
+ | |||
+ | //生成Message | ||
+ | EMMessage *message = [[EMMessage alloc] initWithConversationID:@"6001" from:from to:@"6001" body:body ext:nil]; | ||
+ | message.chatType = EMChatTypeChat;// 设置为单聊消息 | ||
+ | //message.chatType = EMChatTypeGroupChat;// 设置为群聊消息 | ||
+ | //message.chatType = EMChatTypeChatRoom;// 设置为聊天室消息 | ||
+ | </code> | ||
+ | |||
==== 构造图片消息 ==== | ==== 构造图片消息 ==== | ||
行 455: | 行 482: | ||
==== 获取单个会话未读消息数 ==== | ==== 获取单个会话未读消息数 ==== | ||
<code objc> | <code objc> | ||
+ | /*! | ||
+ | * \~chinese | ||
+ | * 获取一个会话 | ||
+ | * | ||
+ | * @param aConversationId 会话ID | ||
+ | * @param aType 会话类型 | ||
+ | * @param aIfCreate 如果不存在是否创建 | ||
+ | * | ||
+ | * @result 会话对象 | ||
+ | */ | ||
+ | - (EMConversation *)getConversation:(NSString *)aConversationId | ||
+ | type:(EMConversationType)aType | ||
+ | createIfNotExist:(BOOL)aIfCreate; | ||
+ | |||
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:@"8001" type:EMConversationTypeChat createIfNotExist:YES]; | EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:@"8001" type:EMConversationTypeChat createIfNotExist:YES]; | ||
[conversation unreadMessagesCount]; | [conversation unreadMessagesCount]; |