iOS 使用 GCM 自定义推送通知声音

iOS custom push notification sounds using GCM

我正在尝试在接收到我的 iOS 应用程序的推送通知时播放自定义声音。我在我的服务器上使用 GCM 推送到 Android 和 Apple 设备。

默认情况下,我在推送通知负载中发送以下内容: "sound":"default"。这工作没问题,100%。

一旦我将其更改为:"sound":"sound.wav" 我就不再在调试器的有效载荷中收到 "sound" 标记,并且当设备收到负载。

显然我已经将 sound.wav 添加到我的包中并在包资源中检查了它。

任何人都可以阐明这个问题吗?

很少有事情会导致这种情况。

  1. 声音文件 "sound.wav" 的长度应为秒,大小以 KB 为单位。
  2. 确保你的负载是这样的:
{
  "title": "Some title",
  "data": [
    {
      "version": "1.0"
    }
  ],
  "aps": {
    "badge": 1,
    "sound": "soundfilenameinbundle.wav",
    "alert": "Some Alert to Show"
  }
}

请确保 "sound" 标签进入 "aps"。

  1. 你说的已经添加了声音文件,请问是否也添加到required target.

  2. 有时大尺寸的有效载荷也会导致这种情况。尝试通过删除一些数据进行测试和检查

  3. 来减少负载大小
  4. 如您所说,您在有效负载中看不到 "sound" 标记。我怀疑有效载荷本身的问题。你能试试改个文件名吗

也尝试在 iOS 7/8/9 上检查问题是否不是 OS 特有的。

希望对您有所帮助。

谢谢 Suhail,

问题出在 Google 云消息传递上。它们只支持声音标签的 "default" 值。因此,每当我将其更改为 GCM 服务器根本不发送声音标签时。

希望他们尽快修复...

详情在这里: https://developers.google.com/cloud-messaging/http-server-ref