iOS 使用 GCM 自定义推送通知声音
iOS custom push notification sounds using GCM
我正在尝试在接收到我的 iOS 应用程序的推送通知时播放自定义声音。我在我的服务器上使用 GCM 推送到 Android 和 Apple 设备。
默认情况下,我在推送通知负载中发送以下内容:
"sound":"default"。这工作没问题,100%。
一旦我将其更改为:"sound":"sound.wav" 我就不再在调试器的有效载荷中收到 "sound" 标记,并且当设备收到负载。
显然我已经将 sound.wav 添加到我的包中并在包资源中检查了它。
任何人都可以阐明这个问题吗?
很少有事情会导致这种情况。
- 声音文件 "sound.wav" 的长度应为秒,大小以 KB 为单位。
- 确保你的负载是这样的:
{
"title": "Some title",
"data": [
{
"version": "1.0"
}
],
"aps": {
"badge": 1,
"sound": "soundfilenameinbundle.wav",
"alert": "Some Alert to Show"
}
}
请确保 "sound" 标签进入 "aps"。
你说的已经添加了声音文件,请问是否也添加到required target.
有时大尺寸的有效载荷也会导致这种情况。尝试通过删除一些数据进行测试和检查
来减少负载大小
如您所说,您在有效负载中看不到 "sound" 标记。我怀疑有效载荷本身的问题。你能试试改个文件名吗
也尝试在 iOS 7/8/9 上检查问题是否不是 OS 特有的。
希望对您有所帮助。
谢谢 Suhail,
问题出在 Google 云消息传递上。它们只支持声音标签的 "default" 值。因此,每当我将其更改为 GCM 服务器根本不发送声音标签时。
希望他们尽快修复...
详情在这里:
https://developers.google.com/cloud-messaging/http-server-ref
我正在尝试在接收到我的 iOS 应用程序的推送通知时播放自定义声音。我在我的服务器上使用 GCM 推送到 Android 和 Apple 设备。
默认情况下,我在推送通知负载中发送以下内容: "sound":"default"。这工作没问题,100%。
一旦我将其更改为:"sound":"sound.wav" 我就不再在调试器的有效载荷中收到 "sound" 标记,并且当设备收到负载。
显然我已经将 sound.wav 添加到我的包中并在包资源中检查了它。
任何人都可以阐明这个问题吗?
很少有事情会导致这种情况。
- 声音文件 "sound.wav" 的长度应为秒,大小以 KB 为单位。
- 确保你的负载是这样的:
{ "title": "Some title", "data": [ { "version": "1.0" } ], "aps": { "badge": 1, "sound": "soundfilenameinbundle.wav", "alert": "Some Alert to Show" } }
请确保 "sound" 标签进入 "aps"。
你说的已经添加了声音文件,请问是否也添加到required target.
有时大尺寸的有效载荷也会导致这种情况。尝试通过删除一些数据进行测试和检查
来减少负载大小
如您所说,您在有效负载中看不到 "sound" 标记。我怀疑有效载荷本身的问题。你能试试改个文件名吗
也尝试在 iOS 7/8/9 上检查问题是否不是 OS 特有的。
希望对您有所帮助。
谢谢 Suhail,
问题出在 Google 云消息传递上。它们只支持声音标签的 "default" 值。因此,每当我将其更改为 GCM 服务器根本不发送声音标签时。
希望他们尽快修复...
详情在这里: https://developers.google.com/cloud-messaging/http-server-ref