文档导航
Android
SDK 版本:  5.X
公告:融云新文档中心已上线,欢迎到新文档中心阅读 Android IMLibAndroid IMKit 的文档。

配置推送铃声

更新时间:2024-02-23 PDF

配置推送铃声

远程推送铃声是指收到来自推送通道的通知时播放的铃声。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);
}
}
              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

FCM 推送

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

配置消息类型对应的铃声

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

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

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

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

文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈