Flutter

定制通知栏显示信息

更新时间: 2024/03/07 13:23:29

云信 NIM SDK 支持定制通知栏显示的头像、发送者名称、以及消息 Title。

初始化 NIM SDK 时, 通过在 AndroidSDKOptions 中配置以下三个方法实现。

  • 通过调用 displayNameForMessageNotifierProvider 方法获取消息发送者显示名称。

    例如:如果是群聊天,可以设置自定义群名称等;如果圈组,可以显示圈组频道名称等。如果返回 null,SDK 群和超大群会显示群名称,其他类型将会使用当前 app 名称展示。

  • 通过调用 avatarForMessageNotifierProvider 方法获取用户头像或群头像。

    一般从本地图片缓存中获取,若未下载或本地不存在,则返回默认本地头像(可以返回默认头像资源路径),目前仅支持 jpg 和 png 格式。请尽量从内存缓存中取头像,如果读取本地头像可能导致 UI 进程阻塞,从而导致通知栏提醒延时弹出。

  • 通过调用 displayTitleForMessageNotifierProvider 获取消息的 Title。

    为通知栏提供消息 title 显示名称(例如:如果是群聊天,可以设置自定义群名称等;如果圈组,可以显示圈组频道名称等)如果返回 null,SDK 群和超大群会显示群名称,其他类型将会使用当前 APP 名称展示,不可以做耗时操作。

示例代码如下:

NIMAndroidSDKOptions(
        appKey: appKey,
          displayNameForMessageNotifierProvider:(String? account, String? sessionId, NIMSessionType? sessionType) async {
            return 'your custom Name';
          },
          avatarForMessageNotifierProvider:(NIMSessionType? sessionType, String? sessionId) async {
            return UserInfoProviderAvatarInfo(AvatarPathType.file,'avatar path',inSampleSize:2);
          },
          displayTitleForMessageNotifierProvider:(
              NIMMessage? message) async {
             return 'your custom title';
          }
      );

此文档是否对你有帮助?
有帮助
去反馈