跳转至

@ 消息

注意

  1. 该功能仅支持群组
  2. App 需要实现群成员数据源 groupMemberDataSource

开启 @ 功能

可以满足开发者 @ 指定用户或 @ 所有人的需求,在 RCIM.h 中通过设置 enableMessageMentioned 开启 @ 消息功能,默认为关闭状态。

@property(nonatomic, assign) BOOL enableMessageMentioned;

选择成员列表

RCIM.h 中定义了提供 @ 选择用户展示的群组成员数据的代理,需要实现如下代理,提供数据给选择用户的列表。

参数 类型 说明
groupId NSString 群ID
resultBlock void 获取成功之后需要执行的Block

resultBlock:

参数 说明
userIdList 群成员ID列表
/*!
 群组成员列表提供者
 */
@protocol RCIMGroupMemberDataSource <NSObject>
@optional

/*!
 获取当前群组成员列表(需要实现用户信息提供者 RCIMUserInfoDataSource)
 
 @discussion SDK通过此方法群组中的成员列表,请在resultBlock中返回该群组ID对应的群成员ID列表。
 在开发者设置了群组成员列表提供者之后,SDK在需要获取群组成员列表的时候,会调用此方法,向开发者请求群组成员用于显示。
 */
- (void)getAllMembersOfGroup:(NSString *)groupId result:(void (^)(NSArray<NSString *> *userIdList))resultBlock;
@end

@ 所有人

通过设置 RCMentionedInfo 中的 RCMentionedType 实现 @ 所有人的功能,RCMentionedInfo 定义如下:(注 sendmessage )

/*!
 消息中的@提醒信息
 */
@interface RCMentionedInfo : NSObject

/*!
 @提醒的类型
 */
@property(nonatomic, assign) RCMentionedType type;

/*!
 @的用户ID列表

 @discussion 如果type是@所有人,则可以传nil
 */
@property(nonatomic, strong) NSArray<NSString *> *userIdList;

/*!
 包含@提醒的消息,本地通知和远程推送显示的内容
 */
@property(nonatomic, copy) NSString *mentionedContent;

/*!
 是否@了我
 */
@property(nonatomic, readonly) BOOL isMentionedMe;

@end
参数 类型 说明
type RCMentionedType (枚举) @提醒的类型
userIdList NSArray @的用户ID列表
mentionedContent NSString @ Push 内容
返回值 本类对象 @提醒信息的对象
- (instancetype)initWithMentionedType:(RCMentionedType)type
                           userIdList:(NSArray *)userIdList
                     mentionedContent:(NSString *)mentionedContent;

RCMentionedType 定义如下:

/*!
 @提醒的类型
 */
typedef NS_ENUM(NSUInteger, RCMentionedType) {
    /*!
     @所有人
     */
    RC_Mentioned_All = 1,

    /*!
     @部分指定用户
     */
    RC_Mentioned_Users = 2,
};