跳到主要内容

配置推送铃声

远程推送铃声是指收到来自推送通道的通知时播放的铃声。App 仅会在关闭状态下收到离线推送通知。默认使用手机系统设置的声音与振动提示状态。

提示

在 App 退到后台且并未被系统回收的情况下不会触发远程推送。如果您集成 IMKit,仅会触发 IMKit 的本地通知,此时播放本地通知的铃声。如果您集成 IMLib,则没有本地通知。

融云目前支持为指定的消息类型配置自定义铃声,已适配小米推送华为推送(仅支持海外)FCM 推送

选择消息类型

首先,请确认需要自定义铃声的消息内容类型唯一标识(Object Name)。如需查询,参见消息类型概述

准备铃声资源文件

您需要将自定义声音资源的文件名已打包到应用程序中,用户接收该类型的推送消息时,自动读取设置的文件进行声音提醒。以下是各厂商对文件的路径要求:

  • 小米推送android.resource://<package-name>/raw/<filename>,其中 <package-name> 需要替换为您的应用包名。<filename> 需要替换为不带后缀名的铃声文件名(存储的声音文件需要有扩展名,但是不要把扩展名写在 uri 中)。
  • 华为推送/res/raw/
  • FCM 推送/res/raw/

创建 Channel ID

创建自定义通知渠道。在控制台配置自定义推送铃声时需要配置该 Channel ID。

小米推送

提示

Android 8.0 以上小米手机需要设置 Channel 后,才能自定义推送铃声。详见小米推送开发文档。Channel 一旦创建并发送了带有 Channel 的消息,设备上即会生成这个 Channel,不能删除也不能修改,所以请谨慎创建 Channel。

请参照小米文档创建 Channel ID:

华为推送

提示

受华为平台限制,在华为平台设置数据处理位置为中国时,不支持自定义渠道,无法使用自定义铃声。其他地区注册 Channel ID 后支持设置自定义铃声。

App 端调用 Android SDK 接口,创建应用专有的推送通知渠道。可在 MainActivity 进行初始化,或者 Application 进行初始化,具体代码示例如下:

private void initNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//增加铃声渠道,可选择资源文件里面的音频文件
String channelIdKanong = "NotificationKanong";
String channelNameKanong = "铃声Kanong";
createNotificationChannel(channelIdKanong, channelNameKanong, importance, R.raw.kanong);
}

//创建通知渠道
@RequiresApi(api = Build.VERSION_CODES.O)
private void createNotificationChannel(String channelId, String channelName, int importance, int rawSource) {
NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
if (rawSource != 0) {
// 存储的声音文件需要有扩展名,但是不要把扩展名写在 uri 中
String uriStr = "android.resource://" + this.getPackageName() + "/" + rawSource;
Uri uri = Uri.parse(uriStr);
channel.setSound(uri, Notification.AUDIO_ATTRIBUTES_DEFAULT);
}
NotificationManager notificationManager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(channel);
}
}

FCM 推送

详见 Android 官方文档通知渠道FCM 推送开发文档

配置消息类型对应的铃声

确认应用中已打包铃声资源文件后,您需要在融云控制台按消息类型、Channel ID 配置对应的自定义推送铃声。目前控制台已支持设置小米推送、华为推送、FCM 推送。每个推送厂商下最多设置 5 个自定义铃声,设置 30 分钟后生效。

  1. 访问融云控制台 自定义推送铃声 页面,在 小米华为FCM 标签下点击添加

    (width=600)

  2. 选择 ApplicationID,输入 Channel ID、消息类型名称、以及自定义铃声文件资源地址。以配置小米自定义推送铃声为例:

    (height=300)

    设置成功后,所有小米手机用户离线状态下接收的该类型消息,都会使用设置的 Channel ID 进行推送,提醒铃声为注册 Channel 时设置的自定义铃声。