7

我有远程通知设置并且工作正常。但是,我必须在收到通知时播放自定义声音(当应用程序不在前台时)。我在我的应用程序包中添加了一个名为 customSound.wav 的文件,并确保在将其拖放到我的项目中时选择了“添加到目标”(这是正确的方法吗?)。服务器端:同名文件已被指定为“sound”:“customSound.wav”。在我的 didReceiveRemoteNotification 中,我正在打印 userInfo 字典,它的出现是这样的:

aps =     
{
    alert = "Good Evening Sir";
    badge = 1;
    "custom_filed1" = 1;
    "custom_field2" = "AAA-BBB-CCC";
    name = "Sir Hubert";
    sound = default;
};

如您所见,声音仍然是“默认”的。我知道如果找不到指定的声音,则播放默认声音 - 字典中的声音值也将是“默认”还是应该是有效载荷 json 中指定的文件名。这些在有效载荷中指定的顺序是否重要。我已经尝试过其他线程的建议,但对我不起作用。我无法显示 json,因为我目前无法访问系统。关于我可能做错了什么的任何建议?

4

1 回答 1

11

不,您的声音键应该具有您要播放的声音文件名。

{
  aps =
  {
    alert = "message";
    sound = "sound file name.extension";
    badge = 1;
  };
}

例如:{ aps = { alert = "message"; 声音=“tone.caf”;}; }

我正在使用它并在我的通知中获得成功的自定义警报; 保持声音持续时间尽可能小。我使用了这种文件格式:aiff, caf

如果你想测试通知,那么你可以试试这个应用程序https://itunes.apple.com/us/app/easy-apns-provider-push-notification/id989622350?mt=12

我没有对这个应用程序做任何标记,但它有利于测试推送通知

于 2012-11-12T10:36:14.187 回答