跳到主要内容

发送超级群定向消息

可发送普通消息与媒体消息给超级群频道中的指定的一个或多个成员,其他成员不会收到该消息。

局限

  • 5.6.9 版本开始支持该能力。
  • 定向目标用户上限 300 个用户 ID。
  • 如果为 @ 消息,不支持 @所有人。

发送定向普通消息

使用 sendDirectionalMessage:toUserIdList:pushContent:pushData:attached:successBlock:errorBlock: 在超级群中发送普通消息给指定频道中的指定用户。不在接收列表的用户不会收到这条消息。

请在消息对象中设置超级群会话类型、超级群 ID 和 频道 ID。频道 ID 为空时默认向 RCDefault 频道发送消息。注意,RCMessage 中不会保存接收用户 ID 列表。

RCTextMessage *text = [RCTextMessage messageWithContent:@"你好"];
RCMessage *message = [[RCMessage alloc] initWithType:ConversationType_ULTRAGROUP targetId:@"Group1" direction:MessageDirection_SEND messageId:-1 content:text];

[[RCCoreClient sharedCoreClient] sendDirectionalMessage:message
toUserIdList:@[@"user1",@"user2"]
pushContent:nil
pushData:nil
successBlock:^(RCMessage *successMessage) {

} errorBlock:^(RCErrorCode nErrorCode, RCMessage *errorMessage) {

}];
参数类型说明
messageRCMessage要发送的消息体。必填属性包括会话类型(conversationType),频道 ID(channelId),会话 ID(targetId),消息内容(content)。
userIdListNSArray将要发送的用户列表
pushContentNSString修改或指定远程消息推送通知栏显示的内容。您也可以在 RCMessage 的推送属性(RCMessagePushConfig)中配置,会覆盖此处配置,详见配置消息的推送属性
  • 如果希望使用融云默认推送通知内容,可以填 nil。注意自定义消息类型无默认值。
  • 如果要为该条消息指定个性化的离线推送通知,必须在以上任一处向融云提供 pushContent 字段内容。
  • 如果您自定义的消息类型需要离线推送服务,必须在以上任一处向融云提供 pushContent 字段内容,否则用户无法收到离线推送通知。
pushDataString远程推送附加信息。您也可以在 RCMessage 的推送属性(RCMessagePushConfig)中配置,会覆盖此处配置,详见配置消息的推送属性
successBlockBlock发送消息成功的回调
errorBlockBlock发送消息失败的回调,其中包含错误码 RCErrorCode 和发送失败的消息。

发送定向媒体消息

使用 sendDirectionalMediaMessage:toUserIdList:pushContent:pushData:attached:progress:successBlock:errorBlock:cancel: 在超级群中发送多媒体消息给指定的频道中的单个或多个用户。

请在消息对象中设置超级群会话类型、超级群 ID 和 频道 ID。频道 ID 为空时默认向 RCDefault 频道发送消息。注意,RCMessage 中不会保存接收用户 ID 列表。

RCImageMessage *imageMessage = [RCImageMessage messageWithImageURI:@"https://test.png"];
RCMessage *message = [[RCMessage alloc] initWithType:ConversationType_ULTRAGROUP targetId:@"Group1" direction:MessageDirection_SEND messageId:-1 content:imageMessage];

[[RCCoreClient sharedCoreClient] sendDirectionalMediaMessage:message toUserIdList:@[@"user1",@"user2"] pushContent:nil pushData:nil progress:^(int progress, RCMessage * _Nonnull progressMessage) {
// 多媒体上传进度回调
} successBlock:^(RCMessage * _Nonnull successMessage) {
// 发送成功
} errorBlock:^(RCErrorCode nErrorCode, RCMessage * _Nonnull errorMessage) {
// 发送失败
} cancel:^(RCMessage * _Nonnull cancelMessage) {
// 用户取消发送
}];
参数类型说明
messageRCMessage要发送的消息体。必填属性包括会话类型(conversationType),频道 ID(channelId),会话 ID(targetId),消息内容(content)。
userIdListNSArray将要发送的用户列表
pushContentNSString修改或指定远程消息推送通知栏显示的内容。您也可以在 RCMessage 的推送属性(RCMessagePushConfig)中配置,会覆盖此处配置,详见配置消息的推送属性
  • 如果希望使用融云默认推送通知内容,可以填 nil。注意自定义消息类型无默认值。
  • 如果要为该条消息指定个性化的离线推送通知,必须在以上任一处向融云提供 pushContent 字段内容。
  • 如果您自定义的消息类型需要离线推送服务,必须在以上任一处向融云提供 pushContent 字段内容,否则用户无法收到离线推送通知。
pushDataString远程推送附加信息。您也可以在 RCMessage 的推送属性(RCMessagePushConfig)中配置,会覆盖此处配置,详见配置消息的推送属性
progressBlock发送消息进度更新的回调
successBlockBlock发送消息成功的回调
errorBlockBlock发送消息失败的回调,其中包含错误码 RCErrorCode 和发送失败的消息。
cancelBlock用户取消消息发送的回调