自定义通知声音不再有效

时间:2017-07-27 12:45:10

标签: ios cordova audio apple-push-notifications

我有一项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构建的。

2 个答案:

答案 0 :(得分:0)

我很惊讶它曾经使用过mp3文件类型。

根据the docs

  

您可以将音频数据打包在 aiff wav caf 文件中。由于它们由系统声音设备播放,因此自定义声音必须采用以下音频数据格式之一:

     
      
  • 线性
  •   
  • PCM
  •   
  • MA4(IMA / ADPCM)
  •   
  • μLaw
  •   
  • ALAW
  •   

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

答案 1 :(得分:0)

iOS通知自定义声音有效(当应用程序在前台,背景和终止时)

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

  • 线性PCM
  • MA4(IMA / ADPCM)
  • µLaw
  • 法律

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

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


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

最终:-:在应用的任何阶段都会收到通知,然后播放自定义声音,而不是默认声音。