无法使用XMPPHP将我的应用服务器连接到GCM的CCS

时间:2016-02-08 06:27:14

标签: php android performance google-cloud-messaging xmpphp

就像推送通知(下游消息)一样,我想在我的Android设备上实现上传消息传递到我的app服务器。我正在使用Github的this XMPPHP库将我的应用服务器连接到GCM的CCS。 但是当我尝试执行下面的代码来连接GCM的CCS时:

include 'XMPPHP/XMPP.php';
$conn = new XMPPHP_XMPP('gcm-preprod.googleapis.com', 5236, '<myProjectId>@gcm.googleapis.com', '<myApiKey>', 'xmpphp', 'http://myserverdomain', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe();
$vcard_request = array();
try {
  $conn->connect();
...

我收到了以下错误。

1455354076 [INFO]:正在连接至tls://gcm-preprod.googleapis.com:5236 1455354106 [错误]:无法连接。在超时之前无法连接。

1 个答案:

答案 0 :(得分:1)

CCM如何知道发送上游消息的位置(哪个应用服务器)?由于提供的文档中没有解释。

我认为你错过了文档中的部分:

  

要发起上游消息,客户端应用程序会发送包含以下内容的请求:

     
      
  • 接收应用服务器的地址,格式为SENDER_ID@gcm.googleapis.com。
  •   
  • 每个发件人ID应唯一的邮件ID。
  •   
  • 消息数据,包括消息的有效负载的键/值对。
  •   

您需要指定SENDER_ID以了解要发送到的服务器。发件人ID是从API控制台获取的项目编号

如何在PHP中处理上游消息?因为我在后端使用PHP。

thread可能会对您有所帮助。阅读接受的答案中的评论。

它说,为了使用PHP,你需要寻找一个支持XMPP协议的库。