3

我正在开发一个使用 Google Cloud Messaging 使用推送通知来通知 android 应用程序的项目。我已经用 PHP 实现了应用程序服务器。当我运行 android 应用程序时,设备从 GCM 服务器获取注册 ID,并将注册 ID 发送到 PHP 服务器(应用程序服务器)。但我从服务器得到以下 httpresponse :

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

因此,由于成功标志为 1,因此消息正在传递,但是当我在 android 应用程序中显示消息时,它不显示任何内容(null)。我无法弄清楚该消息会发生什么。

4

2 回答 2

6

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

摘抄:

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

于 2012-08-03T19:08:05.473 回答
0

将此添加到您的 php 代码中

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

希望这会有所帮助。

于 2012-08-06T07:39:20.490 回答