2016-02-12 171 views
0

我试图从服务器向我的iOS设备发送推送消息。GCM推送通知不适用于iOS

该应用程序(仅在前景)当我发送以下JSON消息接收消息 -

{ 
    "to": "<my_reg_id>", 
    "data": 
    { 
     "body": "Hello world", 
     "title": "Title" 
    } 
} 

然而,当我在上Setting up a GCM Client App on iOS给出的格式发送消息(以下给出),我越来越"error": "InternalServerError"在服务器响应 -

{ 
    "to": "<my_reg_id>", 
    "content_available": true, 
    "priority": "high", 
    "notification": 
    { 
     "body": "Hello world", 
     "title": "Title" 
    } 
} 

谁能告诉我该怎么办呢?我真的需要接收我的应用的后台通知。

(附注: - 我已经启用远程通知和推送通知功能在Xcode我的应用程序。)

+1

从我的经验来看,在JSON里面,顶部键应该是有效载荷的“aps”。只是检查苹果文档... –

+0

[iOS应用程序处于后台模式时未收到GCM通知]的重复(http://stackoverflow.com/questions/34704736/gcm-notifications-not-receiving-when-app- is-in-background-mode-in-ios) –

回答

0

所以我用领域的“APS”的JSON有效载荷,同时也更新了我的谷歌开发者控制台证书.....瞧! 我现在在我的设备上收到推送通知。 :D 感谢您的帮助所有人:)

0

“内部服务器错误”,是服务器端的问题。请重新启动服务器并再次尝试。

你的JSON格式是正确的

{ 
    "content_available":true, 
    "to":"gcm_registration_token", 
    "priority":"high", 
    "notification": 
    { 
    "body":"anything", 
    "title":"any title" 
    } 
} 
+0

没有服务器。我正在使用邮递员将消息发送到设备。这是使用“aps”的问题,也可能是我用于GCM的证书存在一些问题。 –

0

从您的json中删除true,@"content_available"。这对我有效。