tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们

自定义铃音

PDF
聚焦模式
字号
最后更新时间: 2025-04-16 10:32:18
注意:
1. 离线推送消息铃音不设置,默认跟随设备的系统通知设置,以华为为例详见:“手机设置 > 通知 > 应用的通知管理 > 通知铃声”。
2. 自定义铃声需要按照厂商平台逐一设置支持,详见如下方法总结:不同厂商不同平台自定义铃音方式有区别,Android 8.0 支持厂商还需要通过 channel 来设置,响铃时长和铃音资源时长有关。
Android
iOS
Flutter

Android 8.0 以下系统

1. 定制的铃音资源文件,Android 添加到工程 raw 目录下,iOS 链接进 Xcode 工程。
2. 发送消息指定生效自定义铃音。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"AndroidInfo": {
"Sound": "shake", // 不带后缀
},
"ApnsInfo": {
"Sound": "apns.mp3",
}
}
}
若集成了 Chat 相关产品,请您发送消息调用接口 setAndroidSound()setIOSSound()
V2TIMOfflinePushInfo v2TIMOfflinePushInfo = new V2TIMOfflinePushInfo();
v2TIMOfflinePushInfo.setAndroidSound("铃音名称");
v2TIMOfflinePushInfo.setIOSSound("铃音名称.mp3");

String msgID = V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, isGroup ? null : userID, isGroup ? groupID : null,
V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, v2TIMOfflinePushInfo, new V2TIMSendCallback<V2TIMMessage>() {
@Override
public void onProgress(int progress) {

}

@Override
public void onError(int code, String desc) {

}

@Override
public void onSuccess(V2TIMMessage v2TIMMessage) {

}
});
注意:
ChatSDK 6.1.2155 及以上版本支持。
接口支持华为、小米、FCM 和 APNS。

Android 8.0 及以上系统

华为 和 ANPS

华为、APNS 可调用上面接口来设置离线推送铃音提示。

OPPO

1.将定制的铃音资源文件放在工程资源的 raw 目录下,然后通过以下方式创建通知 channel。
// 自定义创建示例
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel notificationChannel =
new NotificationChannel("channelId", "channelName", NotificationManager.IMPORTANCE_HIGH);
notificationChannel.enableLights(true);
notificationChannel.enableVibration(true);
notificationChannel.setShowBadge(true);
notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
// "android.resource://包名/raw/private_ring"
notificationChannel.setSound(Uri.parse("sound"), null);
nm.createNotificationChannel(notificationChannel);
}
2.使用创建的 channel。
发送消息指定 channelID 生效自定义铃音,接口设置参考如下,控制台设置见证书的 channelID 字段,两者设置一个即可。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"AndroidInfo": {
"OPPOChannelID": "test_OPPO_channel_id",
}
}
}
若集成了 Chat相关产品,请您发送消息调用接口 setAndroidOPPOChannelID

小米

1.登录厂商控制台 创建 channel 和配置,其中铃音文件需要添加到您本地 Android Studio 工程的 raw 目录下。

2.发送消息指定 channelID 生效自定义铃音,接口设置参考如下,控制台设置见证书的 channelID 字段,两者设置一个即可。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"AndroidInfo": {
"XiaoMiChannelID": "test_XiaoMi_channel_id",
}
}
}
若集成了 Chat产品,详情请参见 setAndroidXiaoMiChannelID
V2TIMOfflinePushInfo v2TIMOfflinePushInfo = new V2TIMOfflinePushInfo();
v2TIMOfflinePushInfo.setAndroidXiaoMiChannelID("厂商申请的 channel ID");

String msgID = V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, isGroup ? null : userID, isGroup ? groupID : null,
V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, v2TIMOfflinePushInfo, new V2TIMSendCallback<V2TIMMessage>() {
@Override
public void onProgress(int progress) {
TUIChatUtils.callbackOnProgress(callBack, progress);
}

@Override
public void onError(int code, String desc) {
TUIChatUtils.callbackOnError(callBack, TAG, code, desc);
}

@Override
public void onSuccess(V2TIMMessage v2TIMMessage) {

}
});

FCM

1.将定制的铃音资源文件放在工程资源的 raw 目录下,然后通过以下方式创建通知 channel。
// 自定义创建示例
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager nm = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
NotificationChannel notificationChannel =
new NotificationChannel("channelId", "channelName", NotificationManager.IMPORTANCE_HIGH);
notificationChannel.enableLights(true);
notificationChannel.enableVibration(true);
notificationChannel.setShowBadge(true);
notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
// "android.resource://包名/raw/private_ring"
notificationChannel.setSound(Uri.parse("sound"), null);
nm.createNotificationChannel(notificationChannel);
}
2.发送消息指定自定义铃音的 channelID,
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"AndroidInfo": {
"GoogleChannelID": "test_Google_channel_id",
}
}
}
若集成了 Chat相关产品,详情请参见 setAndroidFCMChannelID
V2TIMOfflinePushInfo v2TIMOfflinePushInfo = new V2TIMOfflinePushInfo();
v2TIMOfflinePushInfo.setAndroidFCMChannelID(PrivateConstants.fcmPushChannelId);

String msgID = V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, isGroup ? null : userID, isGroup ? groupID : null,
V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, v2TIMOfflinePushInfo, new V2TIMSendCallback<V2TIMMessage>() {
@Override
public void onProgress(int progress) {
TUIChatUtils.callbackOnProgress(callBack, progress);
}

@Override
public void onError(int code, String desc) {
TUIChatUtils.callbackOnError(callBack, TAG, code, desc);
}

@Override
public void onSuccess(V2TIMMessage v2TIMMessage) {

}
});
注意:
ChatSDK 7.0.3754 及以上版本支持。
FCM 自定义铃声或者设置 ChannnelID 仅支持证书模
1. 请在发送消息的时候设置 OfflinePushInfo 的 iOSSound 字段, iOSSound 传语音文件名。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"ApnsInfo": {
"Sound": "apns.mp3",
}
}
}
若集成了 Chat相关产品,请您发送消息参考:
V2TIMOfflinePushInfo *pushInfo = [[V2TIMOfflinePushInfo alloc] init];
pushInfo.title = @"push title";
pushInfo.iOSSound = @"phone_ringing.mp3"; // your voice file's name
[[V2TIMManager sharedInstance] sendMessage:msg receiver:receiver groupID:groupID priority:V2TIM_PRIORITY_DEFAULT onlineUserOnly:NO offlinePushInfo:pushInfo progress:nil succ:^{

} fail:^(int code, NSString *msg) {

}];
说明:
离线推送声音设置(仅对 iOS 生效), 当 iOSSound = kIOSOfflinePushNoSound,表示接收时不会播放声音。
当 iOSSound = kIOSOfflinePushDefaultSound,表示接收时播放系统声音。
如果要自定义 iOSSound,需要先把语音文件链接进 Xcode 工程,然后把语音文件名(带后缀名)设置给 iOSSound。
iOS 自定义铃音长度不能超过 30s。
2. 请在发送消息的时候设置 OfflinePushInfo 的 AndroidSound 字段, AndroidSound 传语音文件名。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
"OfflinePushInfo": {
"AndroidInfo": {
"Sound": "shake", // 不带后缀
"OPPOChannelID": "test_OPPO_channel_id",
"XiaoMiChannelID": "test_XiaoMi_channel_id",
"OPPOChannelID": "test_OPPO_channel_id",
"GoogleChannelID": "test_Google_channel_id"
},
"ApnsInfo": {
"Sound": "apns.mp3"
}
}
}
若集成了 Chat相关产品,请您发送消息参考:
V2TIMOfflinePushInfo *pushInfo = [[V2TIMOfflinePushInfo alloc] init];
pushInfo.title = @"push title";
pushInfo.AndroidSound = @"phone_ringing"; // your voice file's name
[[V2TIMManager sharedInstance] sendMessage:msg receiver:receiver groupID:groupID priority:V2TIM_PRIORITY_DEFAULT onlineUserOnly:NO offlinePushInfo:pushInfo progress:nil succ:^{

} fail:^(int code, NSString *msg) {

}];
说明:
离线推送声音设置(仅对 Android 生效, 仅 imsdk 6.1 及以上版本支持) 只有华为和谷歌手机支持设置铃音提示。
小米铃音设置请您参见:服务端 Java SDK 文档
如果要自定义 AndroidSound,需要先把语音文件放到 Android 工程的 raw 目录中,然后把语音文件名(不需要后缀名)设置给 AndroidSound。
注意:
接口支持华为、小米、FCM 和 APNS。
定制的铃音资源文件,Android 添加到工程 raw 目录下,iOS 链接进 Xcode 工程。
请在发送消息的时候设置 offlinePushInfo 的 iOSSoundandroidSound 字段。
restAPI
SDK API
请参考 restAPI 接口,比如 单发推送接口,字段示例如下:
{
// ...
"OfflinePushInfo": {
"AndroidInfo": {
"Sound": "shake", // 不带后缀
"OPPOChannelID": "test_OPPO_channel_id",
"XiaoMiChannelID": "test_XiaoMi_channel_id",
"OPPOChannelID": "test_OPPO_channel_id",
"GoogleChannelID": "test_Google_channel_id"
},
"ApnsInfo": {
"Sound": "apns.mp3"
}
}
}
若集成了 Chat相关产品,请在调用 sendMessage 发送消息的时候设置 offlinePushInfoiOSSoundandroidSound 字段。
具体各厂商配置,请参阅 Android 及 iOS 模块的内容。调用的方法均在 Flutter 版本的 Chat SDK 中有同名方法。









帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈