我正在尝试在收到推送通知到我的iOS应用程序时播放自定义声音。我在我的服务器上使用GCM推送到Android和Apple设备。
默认情况下,我在推送通知有效负载中发送以下内容: "声音":"默认&#34 ;.这没有问题,100%。
我一改为:"声音":" sound.wav"我不再收到"声音"在调试器的有效负载中标记,当设备收到有效负载时,自然没有播放声音。
显然我已经将sound.wav添加到我的包中并在捆绑资源中进行了检查。
有人可以解释这个问题吗?
答案 0 :(得分:0)
可能导致这种情况的事情很少。
{ "title": "Some title", "data": [ { "version": "1.0" } ], "aps": { "badge": 1, "sound": "soundfilenameinbundle.wav", "alert": "Some Alert to Show" } }
请确保“声音”标签输入“aps”。
正如您所说,您已经添加了声音文件,您还可以检查它是否已添加到所需目标中。
有时大尺寸的有效载荷也会造成这种情况。尝试通过删除一些数据进行测试并减少有效负载大小并检查
正如你所说,你无法在有效载荷中看到“声音”标签。我怀疑有效载荷本身存在问题。您可以尝试更改文件名吗?
还可以尝试在iOS 7/8/9上检查问题是否与操作系统无关。
我希望这会有所帮助。
答案 1 :(得分:0)
感谢Suhail,
问题在于Google云消息传递。他们只支持"默认"声音标签的值。因此,每当我将其更改为任何内容时,GCM服务器根本不会发送声音标记。
希望他们能尽快解决这个问题......
详细信息: https://developers.google.com/cloud-messaging/http-server-ref