我有远程通知设置并且正常工作。但是,当收到通知时(当应用程序不在前台时),我必须播放自定义声音。我已将一个名为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,因为此刻我无法访问系统。关于我可能做错什么的任何建议?
答案 0 :(得分:10)
没有你的声音键应该有你想要播放的声音文件名。
{
aps =
{
alert = "message";
sound = "sound file name.extension";
badge = 1;
};
}
例如: { aps = { alert =“message”; sound =“tone.caf”; }; }
我正在使用此功能并在通知中获得成功的自定义提醒功能; 保持声音持续时间尽可能小。我用这种文件格式:aiff,caf
如果你想测试通知,那么你可以尝试这个应用程序https://itunes.apple.com/us/app/easy-apns-provider-push-notification/id989622350?mt=12
我没有对此应用进行任何标记,但它有助于测试推送通知