设置
创建声音文件
按照以下平台要求创建声音文件。如果设备找不到指定文件或文件格式不受支持,将回退到默认系统通知声音。保持声音文件名小写,因为某些平台忽略声音文件的大写字母。使用
awesomesound.wav 或 awesome_sound.wav 而不是 AwesomeSound.wav。| 平台 | 扩展名 | 注释 |
|---|---|---|
| iOS | .wav .aiff .caf | 声音必须编码为 Linear PCM、MA4 (IMA/ADPCM)、µLaw 或 aLaw。必须少于 30 秒。 |
| Android | .wav .mp3 .ogg | 建议长度少于 30 秒。保持文件大小较小,大文件可能在某些设备上无法播放。 |
| Huawei | .wav .mp3 .wma | 建议长度少于 30 秒。保持文件大小较小,大文件可能在某些设备上无法播放。 |
| Amazon | .wav .mp3 .ogg | 建议长度少于 30 秒。保持文件大小较小,大文件可能在某些设备上无法播放。 |
将声音文件添加到您的应用
声音文件必须作为资源包含在应用程序中。不支持外部 URL。- iOS
- Android、Huawei 和 Amazon
根据您的 SDK,将声音文件添加到 Xcode 项目中的适当位置。
| SDK | Folder |
|---|---|
| iOS Native | 将文件添加到 Xcode 项目根目录。添加文件时请确保选择 Add to targets,以便它们自动添加到包资源中。 |
| Cordova, Ionic | 将文件添加到 Xcode 项目中的 Resources 目录,位于 <project-root>/platforms/ios/project-name.xcodeproj。 |
| Unity | 在 Unity 项目中的任何位置添加声音文件,构建项目,然后将这些声音文件移动到 Xcode 项目根目录。 |
发送通知
- iOS
- Android、Huawei 和 Amazon
- REST API
引用声音资源时请包含文件扩展名(例如 
explode_sound.wav)。在发送推送消息时在仪表板中设置声音,或使用创建通知 API 的 ios_sound 属性。如需无声音,请在 声音 字段中传入 nil。
常见问题
我可以设置默认声音吗?
使用引用声音和/或 Android 通知渠道的模板。使用该模板发送的每条通知都会自动使用已配置的声音。我可以向不同用户发送不同的通知声音吗?
ios_sound 和 android_channel_id 参数是请求级别的——它们适用于该 API 调用的所有接收者。您无法在单个请求中为不同用户指定不同的声音。
要向不同用户发送不同声音,请使用扇出模式:为每个声音变体单独发出 API 调用,通过标签或分段定向用户。例如,将每个用户的首选声音存储在 preferred_sound 等标签中,然后每个声音值发送一个请求。
preferred_sound 标签匹配的用户,因此每组用户听到各自的声音。根据需要添加任意数量的变体——每种声音一个 API 调用。
为什么我的通知没有播放自定义声音文件?
常见原因如下:- 声音文件扩展名不正确
- 声音文件未以支持的格式编码
- 声音文件在项目中的位置错误
- 声音文件超过 30 秒
res/raw/ 中来验证其是否已包含在 APK 中。
如果启用了资源压缩,请在 res/raw/ 中创建 keep.xml 来保护声音文件不被删除:
为什么我的通知播放的是默认声音文件?
请确保您遵循了设置说明,并且声音文件位于 SDK 的正确位置。仔细检查文件名大小写——某些平台忽略大写字母。为什么播放的是错误的声音?
在 Android 上,当收到一定数量的通知未打开时,通知会被分组在一起。分组通知播放默认声音。您可以使用分组键为所有通知设置声音。相关页面
通知类别
设置 Android 通知渠道以控制声音、振动和重要性。
模板
创建带有预定义声音的可重用通知模板。
创建通知 API
ios_sound、android_channel_id 和 adm_sound 参数的 API 参考。
通知图标
为您的移动应用自定义通知图标。


