未接收到来自GCM服务器的消息


Not receiving message from GCM server

我正在做一个项目,该项目使用谷歌云消息通过推送通知通知android应用程序。我已经用PHP实现了应用程序服务器。当我运行android应用程序时,设备从GCM服务器获取注册id,并将注册id发送到PHP服务器(应用程序服务器)。但我从服务器上得到了以下http响应:

{
    "multicast_id": 7015234441922271670,
    "success": 1,
    "failure": 0,
    "canonical_ids": 0,
    "results": [{
        "message_id": "0:1344007383866721%2adac3a0ad8b3148"
    }]
}

因此,由于成功标志为1,消息正在传递,但当我在android应用程序中显示消息时,它什么都不显示(null)。我不知道这条消息会发生什么。

我有完全相同的问题。。。这就是我这个周末要做的:http://developer.android.com/guide/google/gcm/gcm.html

摘录:

注意:如果您的组织有一个防火墙来限制进出Internet的流量,则需要将其配置为允许与GCM连接。要打开的端口有:5228、5229和5230。GCM通常只使用5228,但有时使用5229和5230。GCM不提供特定IP。它经常更改IP。我们建议不要使用ACL,但如果必须使用它们,请采取广泛的方法,如此支持链接中建议的方法。

将其添加到您的php代码中

$data = array(
'registration_ids' => array($reg),
'data' => array(
'type' => 'New',
'title' => 'App Name',
'flag' => '1',
'msg' => 'New Message')

希望这会有所帮助。