融云发送图片消息_发送消息

发送消息

注意

以下三个接口,1 秒钟最多可以调用 5 次,也就是 1 秒钟最多只允许发送 5 条消息,否则会导致后面的消息发送失败。

普通消息¶

提示

远程推送中包含两部分内容,一是 pushContent,用于显示;二是 pushData,用于携带不显示的数据。

自定义类型的消息,需要开发者自己设置 pushContent 和 pushData 来定义推送内容,否则将不会进行远程推送。

如果开发者使用此方法发送图片消息,需要开发者自己实现图片的上传,构建一个 RCImageMessage对象,并将 RCImageMessage 中的 imageUrl 字段设置为上传成功的URL地址,然后使用此方法发送。

如果开发者使用此方法发送文件消息,需要开发者自己实现文件的上传,构建一个 RCFileMessage 对象,并将 RCFileMessage 中的 fileUrl 字段设置为上传成功的 URL 地址,然后使用此方法发送。

如果开发者使用 IMKit,请使用 RCIM 中的同名方法发送消息,否则不会自动更新 UI。

参数

类型

说明

conversationType

RCConversationType

会话类型,不支持聊天室会话。

targetId

NSString

目标会话 Id

content

RCMessageContent

消息的内容

pushContent

NSString

接收方离线时需要显示的远程推送内容

pushData

NSString

接收方离线时需要在远程推送中携带的非显示数据

successBlock

void

消息发送成功的回调 [messageId: 消息的 Id]

errorBlock

void

消息发送失败的回调 [nErrorCode: 发送失败的错误码,messageId: 消息的 Id]

返回值

RCMessage

发送的消息实体

- (RCMessage *)sendMessage:(RCConversationType)conversationType

targetId:(NSString *)targetId

content:(RCMessageContent *)content

pushContent:(NSString *)pushContent

pushData:(NSString *)pushData

success:(void (^)(long messageId))successBlock

error:(void (^)(RCErrorCode nErrorCode, long messageId))errorBlock;

文本¶

参数

类型

说明

content

NSString

文本消息内容

txtMessage

RCTextMessage

文本消息对象

ConversationType_PRIVATE

RCConversationType

单聊会话

RCTextMessage *txtMessage = [RCTextMessage messageWithContent:content];

[[RCIMClient sharedRCIMClient]

sendMessage:ConversationType_PRIVATE

targetId:@"目标会话 Id"

content:txtMessage

pushContent:@"远程推送显示的内容"

pushData:@"远程推送的附加信息"

success:^(long messageId) {

}

error:^(RCErrorCode nErrorCode, long messageId) {

}];

位置¶

提示

发送方法参考文本消息发送方法。

参数

类型

说明

image

UIImage

地理位置的缩略图

location

CLLocationCoordinate2D

地理位置的二维坐标

locationName

NSString

地理位置的名称

locationMessage

RCLocationMessage

位置消息对象

RCLocationMessage *locationMessage = [RCLocationMessage messageWithLocationImage:image location:location locationName:locationName];

语音¶

提示

发送方法参考文本消息发送方法。

参数

类型

说明

audioData

NSData

wav 格式的音频数据。

duration

long

语音消息的时长。

voiceMessage

RCVoiceMessage

语音消息对象。

RCVoiceMessage *voiceMessage = [RCVoiceMessage messageWithAudio:audioData duration:duration];

注意

如果开发者不是使用IMKit中的录音功能,则在初始化语音消息的时候,需要确保以下几点。

1. audioData 必须是单声道的wav格式音频数据。

2. audioData 的采样率必须是8000Hz,采样位数(精度)必须为16位。

3. 具体录制参数代码可以参考 RCVoiceMessage.h 中的注释。

图文¶

提示

发送方法参考文本消息发送方法。

参数

类型

说明

title

NSString

图文消息的标题

digest

NSString

图文消息的内容摘要

imageURL

NSString

是图文消息的图片 URL。

url

NSString

图文消息中包含的需要跳转到的 URL

extra

NSString

图文消息的扩展信息

richMessage

RCRichContentMessage

图文消息对象

RCRichContentMessage *richMessage = [RCRichContentMessage messageWithTitle:title digest:digest imageURL:imageurl url:url extra:nil];

提示

媒体数据会上传到融云默认的图片服务器。

参数

类型

说明

conversationType

RCConversationType

会话类型,不支持聊天室会话。

targetId

NSString

目标会话 Id

content

RCMessageContent

消息的内容

pushContent

NSString

接收方离线时需要显示的远程推送内容

pushData

NSString

接收方离线时需要在远程推送中携带的非显示数据

progressBlock

void

消息发送进度更新的回调 [progress: 当前的发送进度, 0 <= progress <= 100, messageId: 消息的Id]

successBlock

void

消息发送成功的回调 [messageId: 消息的 Id]

errorBlock

void

消息发送失败的回调 [nErrorCode: 发送失败的错误码,messageId: 消息的 Id]

cancelBlock

void

用户取消了消息发送的回调 [messageId: 消息的 Id]

返回值

RCMessage

发送的消息实体

- (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;

图片¶

提示

会话类型以单聊为例。

可以使用 UIImage 对象来构造图片消息。

缩略图尺寸为:240 x 240 像素,以宽度和高度中较长的边不超过 240 像素等比压缩。

大图尺寸为:960 x 960 像素,以宽度和高度中较长的边不超过 960 像素等比压缩。

发送媒体消息会先上传媒体消息数据,上传成功后再发送消息。

参数

类型

说明

imageUrl

NSString

图片的本地路径

imgMessage

RCImageMessage

图片消息对象

ConversationType_PRIVATE

RCConversationType

单聊会话

RCImageMessage *imgMessage = [RCImageMessage messageWithImageURI:imageUrl];

[[RCIMClient sharedRCIMClient]

sendMediaMessage:ConversationType_PRIVATE

targetId:@"会话Id"

content:imgMessage

pushContent:@"远程推送显示的内容"

pushData:@"远程推送的附加信息"

progress:^(int progress, long messageId) {

}

success:^(long messageId) {

}

error:^(RCErrorCode errorCode, long messageId) {

}

cancel:^(long messageId) {

}];

文件¶

提示

发送方法参考图片消息发送方法。

参数

类型

说明

filePath

NSString

文件的本地路径。

fileMessage

RCImageMessage

文件消息对象。

RCFileMessage *fileMessage = [RCFileMessage messageWithFile:filePath];

定向消息¶

注意

此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。

参数

类型

说明

conversationType

RCConversationType

会话类型,不支持聊天室会话。

targetId

NSString

目标会话 Id

userIdList

NSArray

发送给的用户 Id 列表

content

RCMessageContent

消息的内容

pushContent

NSString

接收方离线时需要显示的远程推送内容

pushData

NSString

接收方离线时需要在远程推送中携带的非显示数据

successBlock

void

消息发送成功的回调 [messageId: 消息的 Id]

errorBlock

void

消息发送失败的回调 [nErrorCode: 发送失败的错误码,messageId: 消息的 Id]

返回值

RCMessage

发送的消息实体

- (RCMessage *)sendDirectionalMessage:(RCConversationType)conversationType

targetId:(NSString *)targetId

toUserIdList:(NSArray *)userIdList

content:(RCMessageContent *)content

pushContent:(NSString *)pushContent

pushData:(NSString *)pushData

success:(void (^)(long messageId))successBlock

error:(void (^)(RCErrorCode nErrorCode, long messageId))errorBlock;

定向文本¶

提示

会话类型仅支持群组和讨论组。

toUserIdList 是需要接收消息者 userId 的集合。

参数

类型

说明

content

NSString

文本消息内容

txtMessage

RCTextMessage

文本消息对象

ConversationType_PRIVATE

RCConversationType(枚举)

单聊会话

RCTextMessage *txtMessage = [RCTextMessage messageWithContent:content];

[[RCIMClient sharedRCIMClient]

sendDirectionalMessage:ConversationType_GROUP

targetId:@"会话Id"

toUserIdList:@[@"需要接收消息者的 userId"]

content:txtMessage

pushContent:@"远程推送显示的内容"

pushData:@"远程推送的附加信息"

success:^(long messageId) {

}

error:^(RCErrorCode nErrorCode, long messageId) {

}];

发送 VoIP 消息¶

通过 option 设置此消息是否发启 VoIP Push 通知,目前仅支持设置 isVoIPPush,设置 isVoIPPush 为 YES,则对端为 iOS 并且用户未在线时会发送 VoIP Push,默认为 NO,则不会发送 VoIP Push。如对端为 Android 设备则正常发送此消息。

/*!

发送消息

@param conversationType 发送消息的会话类型

@param targetId 发送消息的目标会话ID

@param content 消息的内容

@param pushContent 接收方离线时需要显示的远程推送内容

@param pushData 接收方离线时需要在远程推送中携带的非显示数据

@param option 消息的相关配置

@param successBlock 消息发送成功的回调 [messageId:消息的ID]

@param errorBlock 消息发送失败的回调 [nErrorCode:发送失败的错误码,

messageId:消息的ID]

@return 发送的消息实体

@discussion 当接收方离线并允许远程推送时,会收到远程推送。

远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。

SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。

自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。

如果您使用此方法发送图片消息,需要您自己实现图片的上传,构建一个RCImageMessage对象,

并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用此方法发送。

如果您使用此方法发送文件消息,需要您自己实现文件的上传,构建一个RCFileMessage对象,

并将RCFileMessage中的fileUrl字段设置为上传成功的URL地址,然后使用此方法发送。

@warning 如果您使用IMLib,可以使用此方法发送消息;

如果您使用IMKit,请使用RCIM中的同名方法发送消息,否则不会自动更新UI。

*/

- (RCMessage *)sendMessage:(RCConversationType)conversationType

targetId:(NSString *)targetId

content:(RCMessageContent *)content

pushContent:(NSString *)pushContent

pushData:(NSString *)pushData

option:(RCSendMessageOption *)option

success:(void (^)(long messageId))successBlock

error:(void (^)(RCErrorCode nErrorCode, long messageId))errorBlock;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值