Flutter

设置群消息强制推送

更新时间: 2024/03/07 13:19:00

云信 NIM SDK 支持对于群消息的强制推送功能。

当发送方设置了群消息的强制推送,群消息接收者即使屏蔽了当前会话(如设置免打扰),仍能接收到该条推送。

通过消息体的指定成员推送选项字段 memberPushOption 来实现。

NIMMemberPushOption 接口说明:

参数 类型 说明
isForcePush Boolean 是否强制推送(仅针对 forcePushList 中的账户),true 为强制推送(默认),false 为不强制推送
forcePushList List 需要强推的成员列表
如果填 null,表示强制推送给该会话的所有成员,不为 null 时,最多可传入 100 个用户账号
forcePushContent String 强制推送的文案,最大长度 500 字符,如果设置为 nil,则使用消息本身的推送文案(pushContent
  • 对于 forcePushList 中的用户,推送文案使用 NIMMessage#forcePushContent.pushContent;对于不在 forcePushList 中的用户,推送文案使用 NIMMessage#pushContent
  • forcePushList 中的账户的推送文案显示形式又分两种情况:
    • isForcePush 为 YES 时,推送文案中不会包含发送者前缀(nick),直接为 forcePushContent
    • isForcePush 为 NO 时,推送文案中目前包含了发送者的前缀(nick),即为 fromNick:forcePushContent

示例代码如下:

void sendForcePushMessage() async {
    NIMMessage message = (await MessageBuilder.createTextMessage(
      sessionId: 'your teamId',
      sessionType: NIMSessionType.team,
      text: '指定推送消息',
    )).data!;
    final memberPushOption = NIMMemberPushOption(
        isForcePush: true,
        forcePushContent: message.content,
        forcePushList: ['account1', 'account2']
    );
    message.memberPushOption = memberPushOption;
    NimCore.instance.messageService.sendMessage(
        message: message
    );
  }
此文档是否对你有帮助?
有帮助
去反馈