logo
当前页

自定义通知铃声

功能简介

ZIM 消息推送默认使用在手机系统设置的铃声与震动提示状态,但也支持自定义通知铃声。

说明

本文档仅适用于配置了 APNs 或接入了 Google FCM 离线推送通道的项目。

前提条件

在自定义通知铃声之前,请确保:

  • 已集成 ZPNs SDK,详情请参考 实现离线推送
  • 已在控制台配置离线推送证书。

实现流程

如需自定义铃声,您必须将铃声文件打包到应用程序中,同时需要在 ZEGO 控制台配置自定义铃声文件的地址,随后在发送离线推送时传入已配置的 resourceID。

准备声音资源

在 ZEGO 控制台添加声音资源

1
进入项目详情页

登录 ZEGO 控制台,在 “项目管理” 页签中单击对应的项目,进入项目详情页。

2
点击添加资源按钮

选择“服务配置 > 即时通讯” 页签。找到 “自定义推送策略(resourceID)配置”,单击 “添加 reourcesID”。

3
填写必要信息

在弹窗中输入声音资源的相关信息并单击 “确定”。

说明

请根据您的项目实际情况,按需配置适用于 APNs 和 FCM 的 Sound 文件地址(可二选一)。

相关信息的说明如下:

信息说明
resourceID 名称需要推送的资源的 ID。您可以自定义此 ID。
APNs
推送类型必须为 “alert”。
Sound声音资源文件在您的应用中的地址。例如,如果您是通过 Xcode 打开项目并在 Build Phrases > Copy Bundle Resources 将声音资源引入项目,此时,该声音资源已位于根目录中,地址为“声音资源名称 + 后缀”,如 callSound.caf)。如何将声音资源加入到 iOS 项目工程,详情请参考 准备声音资源
FCM
推送类型仅支持为 “Notification Message” 自定义铃声。
Chanel ID如果您的项目支持 Android 8.0 (API 26) 及以上版本,需要创建 channel 以自定义铃声。如何创建 channel,详情请参考 准备声音资源
Sound声音资源文件的名称,无需后缀,如 call_sound。如何将声音资源加入到 Android 项目工程,详情请参考 准备声音资源
4
拷贝 Resource ID

完成输入后,“自定义推送策略(resourceID)配置” 下会出现该声音资源的具体信息,请拷贝对应的 Resource ID。

发送离线推送时使用自定义铃声

在 ZIMPushConfig 中填入之前拷贝的 Push Resource ID。

iOS - objective-C
Android - Java
Flutter - Dart
React Native - JavaScript
  ZIMPushConfig *pushConfig = [[ZIMPushConfig alloc] init];
  pushConfig.resourcesID = @"push_resources_soundlimit";    // 从 ZEGO 控制台拷贝的 Push Resource ID
  pushConfig.title = @"your title";
  pushConfig.content = @"your content";

  // 调用包含 pushConfig 参数的 API
1
Copied!
  ZIMPushConfig pushConfig = new ZIMPushConfig();
  pushConfig.title = "your title";
  pushConfig.content = "your content";
  pushConfig.resourcesID = "push_resources_soundlimit";    // 从 ZEGO 控制台拷贝的 Push Resource ID

  // 调用包含 pushConfig 参数的 API
1
Copied!
  ZIMPushConfig pushConfig = ZIMPushConfig();
  pushConfig.resourcesID = "push_resources_soundlimit";    // 从 ZEGO 控制台拷贝的 Push Resource ID
  pushConfig.title = "your title";
  pushConfig.content = "your content";

  // 调用包含 pushConfig 参数的 API
1
Copied!
  var pushConfig = {
      resourcesID: "push_resources_soundlimit",    // 从 ZEGO 控制台拷贝的 Push Resource ID
      title: "your title",
      content: "your content"
  };
  var sendConfig = {
      priority: 2,
      pushConfig: pushConfig
  };

  // 调用包含 pushConfig 参数的 API
1
Copied!

Previous

resourcesID 说明

Next

自定义推送规则