iOS

群成员特别关注

更新时间: 2024/03/14 17:08:39

在群组中,用户为了减少消息提醒的打扰,会对群设置免打扰,开启后,对于群组中的消息不会有提醒。

为了使用户在群组免打扰状态下,仍能收到特定成员的消息提醒。云信 IM 支持设置群成员特别关注。

该功能需要单独联系技术支持开通后才能使用。

技术原理

当前支持配置的群消息提醒方式如下:

  • NIMTeamNotifyStateAll :全部提醒(默认),即不开启免打扰
  • NIMTeamNotifyStateOnlyManager:仅群主/管理员消息提醒
  • NIMTeamNotifyStateNone:全部不提醒

当不开启群消息免打扰时,如果特别关注列表不为空,则忽略特别关注成员。

当开启群消息免打扰时:

  • 设置为“仅群主/管理员消息提醒”,且设置了特别关注成员,则当群主、管理员、特别关注成员发送消息,会收到消息提醒。
  • 设置为“全部不提醒”,且设置了特别关注成员,则只有特别关注成员发送消息,才会收到消息提醒。

如果特别关注成员离开群组, 则特别关注列表移除该成员,如果关注成员离开后又加入,不会再添加进特别关注列表。

添加特别关注的群成员列表

调用 addTeamMembersFollow 方法在群组中添加需要特别关注的群成员。添加成功后,会触发群成员更新回调 onTeamMemberUpdated

默认最多添加 5 个特别关注成员,如需要扩展,请联系技术支持扩展至 10 个。

  • 原型
- (void)addTeamMembersFollow:(NSString *)teamId
                   accoutIds:(NSArray <NSString*>*)accoutIds
                  completion:(nullable NIMTeamHandler)completion;
  • 参数说明:
参数名称 类型 必填 描述
teamId NSString * 群组 ID
accoutIds NSArray <NSString*>* 需要添加的特别关注成员列表,默认最多添加 5 个特别关注成员
  • 示例代码:
[NIMSDK.sharedSDK.teamManager addTeamMembersFollow:@"teamId" accoutIds:@[@"accId1",@"accId2"] completion:^(NSError * _Nullable error) {
            // 回调
    }];

移除特别关注的群成员列表

调用 removeTeamMembersFollow 方法在群组中移除特别关注的群成员。移除成功后,会触发群成员更新回调 onTeamMemberUpdated

  • 原型
- (void)removeTeamMembersFollow:(NSString *)teamId
                      accoutIds:(NSArray <NSString*>*)accoutIds
                     completion:(nullable NIMTeamHandler)completion;
  • 参数说明:
参数名称 类型 必填 描述
teamId NSString * 群组 ID
accoutIds NSArray <NSString*>* 需要移除的特别关注成员列表。
  • 示例代码:
[NIMSDK.sharedSDK.teamManager removeTeamMembersFollow:@"teamId" accoutIds:@[@"accId1",@"accId2"] completion:^(NSError * _Nullable error) {
        //回调
    }];
此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 添加特别关注的群成员列表
  • 移除特别关注的群成员列表