//RCIM class
/*!
发送媒体文件消息,会自动更新UI
@param conversationType 发送消息的会话类型
@param targetId 发送消息的目标会话ID
@param content 消息的内容
@param pushContent 接收方离线时需要显示的远程推送内容
@param pushData 接收方离线时需要在远程推送中携带的非显示数据
@param progressBlock 消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID]
@param successBlock 消息发送成功的回调 [messageId:消息的ID]
@param errorBlock 消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID]
@param cancelBlock 用户取消了消息发送的回调 [messageId:消息的ID]
@return 发送的消息实体
@discussion 当接收方离线并允许远程推送时,会收到远程推送。
远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。
自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
@warning 如果您使用IMKit,使用此方法发送媒体文件消息SDK会自动更新UI;
如果您使用IMLib,请使用RCIMClient中的同名方法发送媒体文件消息,不会自动更新UI。
*/
- (RCMessage *)sendMediaMessage:(RCConversationType)conversationType
targetId:(NSString *)targetId
content:(RCMessageContent *)content
pushContent:(NSString *)pushContent
pushData:(NSString *)pushData
progress:(void (^)(int progress, long messageId))progressBlock
success:(void (^)(long messageId))successBlock
error:(void (^)(RCErrorCode errorCode, long messageId))errorBlock
cancel:(void (^)(long messageId))cancelBlock
截图缩略图机制:
缩略图型号为:240x240像素,以长度和高度中较长的边不少于240像素等比压缩。
大图尺寸为:960x960像素,以长度和高度中较长的边不少于960像素等比压缩。
发送该消息的接口(上传到选定的服务器):
参考:如何将照片、文件发送到指定服务器
融云SDK中默认上传文件传输有效期为6个月,不支持文件迁移。
/*!
初始化文件消息
@param localPath 文件的本地路径
@return 文件消息对象
*/
+ (instancetype)messageWithFile:(NSString *)localPath
RCFileMessage *fileMessage = [RCFileMessage messageWithFile:filePath]
发送该消息体的接口,参照照片消息发送方式。
即使您使用IMKit,请使用RCIM中的消息,而不要修改RCIMClient的,否则将屏蔽IMKit中的UI刷新(例如那些界面收发消息不能自动刷新)。
// RCIM Class
/*!
IMKit消息接收的器
@warning 如果您使用IMKit,可以设置并实现此Delegate消息接收;
如果您使用IMLib,请使用RCIMClient中的RCIMClientReceiveMessageDelegate消息接收,而不要使用此方法。
*/
@property(nonatomic, weak) id<RCIMReceiveMessageDelegate> receiveMessageDelegate;
说明:
该代理建议修改给AppDelegate,这样确保App的生命周期内SDK可以正常的调用上面的代理方式。
IMKit消息接收的代理主要有三个接口:
–onRCIMReceiveMessage:left:在前台和后台活动状况时收到任何消息就会执行。
即使必须在收到这些特殊消息进行相应处理(比如自定义消息有特殊的处理逻辑),可以在此方式中处理,但是这个过后消息终于被存入了SDK内置中,在这里对消息体内容进行设置是不会储存到中的。

您可以借助RCIMClient的下面接口关闭某个会话的消息提醒。
// RCIMClient Class
/*!
设置会话的消息提醒状态
@param conversationType 会话类型
@param targetId 目标会话ID
@param isBlocked 是否屏蔽消息提醒
@param successBlock 设置成功的回调 [nStatus:会话设置的消息提醒状态]
@param errorBlock 设置失败的回调 [status:设置失败的错误码]
@discussion 如果您使用IMLib,此方法会屏蔽该会话的远程推送;如果您使用IMKit,此方法会屏蔽该会话的所有提醒(远程推送、本地通知、前台提示音)。
*/
- (void)setConversationNotificationStatus:(RCConversationType)conversationType
targetId:(NSString *)targetId
isBlocked:(BOOL)isBlocked
success:(void (^)(RCConversationNotificationStatus nStatus))successBlock
error:(void (^)(RCErrorCode status))errorBlock;
/*!
查询会话的消息提醒状态
@param conversationType 会话类型
@param targetId 目标会话ID
@param successBlock 查询成功的回调 [nStatus:会话设置的消息提醒状态]
@param errorBlock 查询失败的回调 [status:设置失败的错误码]
*/
- (void)getConversationNotificationStatus:(RCConversationType)conversationType
targetId:(NSString *)targetId
success:(void (^)(RCConversationNotificationStatus nStatus))successBlock
error:(void (^)(RCErrorCode status))errorBlock;
您可以借助RCIMClient的下面接口关闭某个时间段内的消息提示。
// RCIMClient Class
/*!
屏蔽某个时间段的消息提醒
@param startTime 开始屏蔽消息提醒的时间,格式为HH:MM:SS s
@param spanMins 需要屏蔽消息提醒的分钟数,0 < spanMins < 1440
@param successBlock 屏蔽成功的回调
@param errorBlock 屏蔽失败的回调 [status:屏蔽失败的错误码]
@discussion 此方法设置的屏蔽时间会在每天该时间段时生效。
如果您使用IMLib,此方法会屏蔽该时间段的远程推送;如果您使用IMKit,此方法会屏蔽该时间段的所有提醒(远程推送、本地通知、前台提示音)。
*/
- (void)setConversationNotificationQuietHours:(NSString *)startTime
spanMins:(int)spanMins
success:(void (^)())successBlock
error:(void (^)(RCErrorCode status))errorBlock;
/*!
删除消息提醒的全局屏蔽设置
@param successBlock 删除屏蔽成功的回调
@param errorBlock 删除屏蔽失败的回调 [status:失败的错误码]
*/
- (void)removeConversationNotificationQuietHours:(void (^)())successBlock
error:(void (^)(RCErrorCode status))errorBlock;
/*!
查询会话消息提醒的屏蔽时间段设置
@param successBlock 屏蔽成功的回调 [startTime:已设置的屏蔽开始时间, spansMin:已设置的屏蔽时间分钟数,0 < spansMin < 1440]
@param errorBlock 查询失败的回调 [status:查询失败的错误码]
*/
- (void)getNotificationQuietHours:(void (^)(NSString *startTime, int spansMin))successBlock
error:(void (^)(RCErrorCode status))errorBlock;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-121563-2.html
难道真的就这样被践踏吗