我正在开发一个项目,该项目使用Google云消息传递使用推送通知来通知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)。我无法弄清楚该消息会发生什么。
答案 0 :(得分:6)
我有完全相同的问题......这就是我本周末的尝试: http://developer.android.com/guide/google/gcm/gcm.html
摘录:
注意:如果您的组织有防火墙限制进出Internet的流量,则需要将其配置为允许与GCM连接。要打开的端口是:5228,5229和5230. GCM通常仅使用5228,但有时使用5229和5230. GCM不提供特定的IP。它经常更改IP。我们建议不要使用ACL,但如果必须使用它们,请采用广泛的方法,例如此支持链接中建议的方法。
答案 1 :(得分:0)
在您的PHP代码中添加此内容
$data = array(
'registration_ids' => array($reg),
'data' => array(
'type' => 'New',
'title' => 'App Name',
'flag' => '1',
'msg' => 'New Message')
希望这会有所帮助。