离线消息
离线消息总数
- 用户登录以后,应该首先获取自己的云通讯服务端的离线条数,具体代码如下:
- /**
- @该通知回调接口在代理类里面
- @brief 离线消息数
- @param count 消息数
- */
- -(void) onOfflineMessageCount:(NSUInteger)count{
- NSLog(@"onOfflineMessageCount =%lu",count);
- }
设置离线消息数
- 根据总的离线条数,决定获取多少条离线消息,具体代码如下:
- /**
- @该通知回调接口在代理类里面
- @brief 需要获取的消息数
- @return 消息数 -1:全部获取 0:不获取
- */
- -(NSInteger) onGetOfflineMessage{
- return -1;
- }
接收离线消息
- 离线消息的接收,具体代码如下:
- /**
- @该通知回调接口在代理类里面
- @brief 接收离线消息代理函数
- @param message 接收的消息
- */
- -(void)onReceiveOfflineMessage:(ECMessage*)message {NSLog:(@"收到%@的消息,属于%@会话", message.from, message.sessionId);switch(message.messageBody.messageBodyType){
- case MessageBodyType_Text:{
- ECTextMessageBody *msgBody = (ECTextMessageBody *)message.messageBody;
- NSLog(@"收到的是文本消息------%@,msgBody.text");
- break;
- }
- case MessageBodyType_Voice:{
- ECVoiceMessageBody *msgBody = (ECVoiceMessageBody *)message.messageBody;
- NSLog(@"音频文件remote路径------%@",msgBody. remotePath);
- break;
- }
- case MessageBodyType_Video:{
- ECVideoMessageBody *msgBody = (ECVideoMessageBody *)message.messageBody;
- NSLog(@"视频文件remote路径------%@",msgBody. remotePath);
- break;
- }
- case MessageBodyType_Image:{
- ECImageMessageBody *msgBody = (ECImageMessageBody *)message.messageBody;
- NSLog(@"图片文件remote路径------%@",msgBody. remotePath);
- NSLog(@"缩略图片文件remote路径------%@",msgBody. thumbnailRemotePath);
- break;
- }
- case MessageBodyType_File:{
- ECFileMessageBody *msgBody = (ECFileMessageBody *)message.messageBody;
- NSLog(@"文件remote路径------%@",msgBody. remotePath);
- break;
- }
- default:
- break;
- }
- }
离线消息接收结果
- /**
- @该通知回调接口在代理类里面
- @brief 离线消息接收是否完成
- @param isCompletion YES:拉取完成 NO:拉取未完成(拉取消息失败)
- */
- -(void)onReceiveOfflineCompletion:(BOOL)isCompletion {
- //离线消息接收完成
- }
离线消息角标数显示
- /**
- @brief 设置角标数
- @param badgeNumber 角标数字
- @param completion 执行结果回调block
- */
- -(void)setAppleBadgeNumber:(NSInteger)badgeNumber completion:(void(^)(ECError* error)) completion;