2

像推送通知(下游消息)一样,我想在 php 中实现从我的 android 设备到我的应用服务器的上游消息传递。我正在使用Github 中的这个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 [信息]:连接到 tls://gcm-preprod.googleapis.com:5236 1455354106 [错误]:无法连接。超时前无法连接。

4

1 回答 1

1

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

我认为您错过了文档中的部分内容:

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

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

您需要指定 SENDER_ID 才能知道要发送到哪个服务器。Sender ID 是从 API 控制台获取的项目号

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

这个线程可能会帮助你。阅读已接受答案中的评论。

它说要使用 PHP,您需要寻找支持 XMPP 协议的库。

于 2016-02-08T12:27:26.303 回答