自定义通知声音不再起作用



我有一个Windows服务,它将使用Apple的推送通知服务将通知发送到我们的iOS应用程序。 我们使用自定义通知声音,当通知出现在设备上时正在播放。 上周iOS 10.3.3更新发布后,我们发现自定义声音不再播放。 这是我们发送给 APS 的消息:

{
{
"aps": {
{
"alert": "Alert message",
"badge": 5,
"sound": "mysound.mp3"
}
},
"acme1": "bar",
"acme2": 42
}
}

我们的应用程序没有改变,即使在尚未更新到 iOS 10.3.3 的设备上,自定义声音也不再播放,包括无法更新到 iOS 9 以上的设备。

我不确定是否应该开始诊断问题;移动应用程序是使用Cordova构建的。

我很惊讶它曾经适用于 mp3 文件类型。

根据文档:

您可以将音频数据打包到aiffwavcaf文件中。由于自定义声音由系统声音设施播放,因此必须采用以下音频数据格式之一:

  • 线性
  • 相控处理器
  • MA4 (IMA/ADPCM(
  • 微法
  • 阿罗

尝试将其转换为支持的格式和包之一,它应该会再次开始工作。 有关如何执行此操作的详细信息,请参阅文档。

iOS 通知自定义声音有效(当应用程序处于前台、后台和终止时(

本地和远程通知可以指定在传递通知时要播放的自定义警报声音。您可以将音频数据打包到 aiff、wav 或 caf 文件中。由于自定义声音由系统声音设施播放,因此必须采用以下音频数据格式之一:

  • 线性相变材料
  • MA4 (IMA/ADPCM(
  • 微法
  • 阿罗

注意:-播放时自定义声音必须在30 秒以内。如果自定义声音超过该限制,则改为播放默认系统声音

  • 将文件添加到 Xcode 项目根目录。 将文件添加到 Xcode
  • 确保在添加文件时选择了"添加到目标",以便它们自动添加到捆绑资源 将文件添加到复制捆绑包资源

之后,您需要在应用程序有效负载中设置自定义声音名称:-


payload
{
aps =     {
alert = "Hello World";
badge = 1;
sound = "iosTune.aiff"; // default;
};
}

最终:-当在应用程序的任何阶段收到通知时,将播放自定义声音而不是默认声音。

最新更新