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

时间:2015-11-16 08:32:50

标签: ios google-cloud-messaging apple-push-notifications

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

默认情况下,我在推送通知有效负载中发送以下内容: "声音":"默认&#34 ;.这没有问题,100%。

我一改为:"声音":" sound.wav"我不再收到"声音"在调试器的有效负载中标记,当设备收到有效负载时,自然没有播放声音。

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

有人可以解释这个问题吗?

2 个答案:

答案 0 :(得分:0)

可能导致这种情况的事情很少。

  1. 声音文件“sound.wav”应该是第二个长且有限的大小,以KB为单位。
  2. 确保您的有效负载如下:
  3. {
      "title": "Some title",
      "data": [
        {
          "version": "1.0"
        }
      ],
      "aps": {
        "badge": 1,
        "sound": "soundfilenameinbundle.wav",
        "alert": "Some Alert to Show"
      }
    }
    

    请确保“声音”标签输入“aps”。

    1. 正如您所说,您已经添加了声音文件,您还可以检查它是否已添加到所需目标中。

    2. 有时大尺寸的有效载荷也会造成这种情况。尝试通过删除一些数据进行测试并减少有效负载大小并检查

    3. 正如你所说,你无法在有效载荷中看到“声音”标签。我怀疑有效载荷本身存在问题。您可以尝试更改文件名吗?

    4. 还可以尝试在iOS 7/8/9上检查问题是否与操作系统无关。

      我希望这会有所帮助。

答案 1 :(得分:0)

感谢Suhail,

问题在于Google云消息传递。他们只支持"默认"声音标签的值。因此,每当我将其更改为任何内容时,GCM服务器根本不会发送声音标记。

希望他们能尽快解决这个问题......

详细信息: https://developers.google.com/cloud-messaging/http-server-ref