这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | 后一修订版 两侧同时换到之后的修订记录 | ||
im_ios_sdk指南 [2016/03/17 04:37] tangbing [3.4、消息操作] |
im_ios_sdk指南 [2016/03/17 04:40] tangbing [3.4、消息操作] |
||
---|---|---|---|
行 672: | 行 672: | ||
}]; | }]; | ||
</code> | </code> | ||
- | 5) 获取最近的聊天消息 | + | |
+ | 5) 发送自定义消息 | ||
+ | |||
+ | **云之讯IMDEMO参考代码:** | ||
+ | <code java> | ||
+ | // base64加密这段文字,GTMBase64是一个开源加密库,开发者可以选择任意加密方式。 | ||
+ | NSString *text = @"开发者可以根据自己的需求,将图片、语音、文本等数据加密成NSData类型的数据,构建自定义消息。云之讯SDK只负责传输这条消息,加密、解密的过程完全由开发者完成。" | ||
+ | NSString * base64Str = [GTMBase64 encodeBase64String:text]; | ||
+ | NSData * data = [base64Str dataUsingEncoding:NSUTF8StringEncoding]; | ||
+ | |||
+ | //构建自定义消息 | ||
+ | UCSCustomMsg * customMsg = [[UCSCustomMsg alloc] initWithData:data]; | ||
+ | [[UCSIMClient sharedIM] sendMessage:<#(UCS_IM_ConversationType)#> receiveId:<#(NSString *)#> msgType:UCS_IM_Custom content:customMsg success:^(long long messageId) { | ||
+ | //succe, do somethings | ||
+ | } failure:^(UCSError *error, long long messageId) { | ||
+ | //failed, do somethings | ||
+ | }] | ||
+ | </code> | ||
+ | |||
+ | 6) 获取最近的聊天消息 | ||
使用场景:当我们进入一个会话的时候,我们希望将最近的聊天记录展示出来,方便用户查看。如果这个会话的聊天信息很多,该接口的最后一个参数可以控制获取最近消息的数量。 | 使用场景:当我们进入一个会话的时候,我们希望将最近的聊天记录展示出来,方便用户查看。如果这个会话的聊天信息很多,该接口的最后一个参数可以控制获取最近消息的数量。 | ||
行 692: | 行 711: | ||
NSArray * messages = [[UCSIMClient sharedIM] getLatestMessages:_chatType targetId:_chatter count:10]; | NSArray * messages = [[UCSIMClient sharedIM] getLatestMessages:_chatType targetId:_chatter count:10]; | ||
</code> | </code> | ||
- | 6) 获取更多的聊天信息 | + | 7) 获取更多的聊天信息 |
当一个会话的聊天信息很多,我们需要看更早的信息时,可以调用下面这个方法拉取更多的聊天消息。即获取历史消息。数组内的第一个元素为时间最早的聊天消息。 | 当一个会话的聊天信息很多,我们需要看更早的信息时,可以调用下面这个方法拉取更多的聊天消息。即获取历史消息。数组内的第一个元素为时间最早的聊天消息。 | ||
行 716: | 行 735: | ||
NSArray * oldMessages = [[UCSIMClient sharedIM] getHistoryMessages:_chatType targetId:_chatter oldestMessageId:oldestMessageId count:10]; | NSArray * oldMessages = [[UCSIMClient sharedIM] getHistoryMessages:_chatType targetId:_chatter oldestMessageId:oldestMessageId count:10]; | ||
</code> | </code> | ||
- | 7) 删除一个会话的所有聊天记录 | + | 8) 删除一个会话的所有聊天记录 |
<code java> | <code java> | ||
/*! | /*! | ||
行 734: | 行 753: | ||
[[UCSIMClient sharedIM] deleteMessages:_chatType targetId:_chatter messageId:model.messageId]; | [[UCSIMClient sharedIM] deleteMessages:_chatType targetId:_chatter messageId:model.messageId]; | ||
</code> | </code> | ||
- | 8) 设置接收到的某条消息在本地的接收状态(用于判断语音消息是否已读) | + | 9) 设置接收到的某条消息在本地的接收状态(用于判断语音消息是否已读) |
用于判断语音消息是否已读。当收到语音消息时,你可能需要提醒用户点击收听语音。用户听完后,需要在UI上告诉用户这条语音已经听过了,不需要重复收听。UCSMessage提供了receivedStatus属性来标识消息的接收状态。receivedStatus的类型是一个枚举类型。 | 用于判断语音消息是否已读。当收到语音消息时,你可能需要提醒用户点击收听语音。用户听完后,需要在UI上告诉用户这条语音已经听过了,不需要重复收听。UCSMessage提供了receivedStatus属性来标识消息的接收状态。receivedStatus的类型是一个枚举类型。 |