7

也许您已经听说过。它是在一个月前的 Google IO 上宣布的。Google Cloud Messaging 只是下游(服务器 --> 电话),但现在借助增强的 CCS(云连接服务器),您可以通过 XMPP 协议通过持久的 TCP 连接向上游发送消息。我已经设计了一个适用于 GCM 和 HTTP 的应用程序。它使用 gcm 库和包含在其中的类(如 GCMRegistrar)。此类现在已弃用,Google 建议改用 GoogleCloudMessaging API。

现在一切都有些不同了。您有 Google 文档,他们很好地解释了如何设计您的 Android 应用程序。但是我的服务器有问题,因为我以前从未使用过 XMPP。他们在这里给出了 Python 代码:http: //developer.android.com/google/gcm/gs.html 但我对 Python 一无所知。所以我进行了调查,然后我找到了 XMPPHP 库。然后,您可以使用 PHP 并使用该库连接 XMPP 并发送/接收消息。

我没有使用它的经验,它对我不起作用。如何打开与 Google XMPP 服务器的 XMPP 连接?

我找到了这种打开连接的方法(在这里你使用库):

$conn = new XMPPHP_XMPP($host, $port, $user, $password, $resource, $server, $printlog, $loglevel);

有谁知道我必须在这里传递哪些参数才能与 Google CCS 连接?

我也想知道:

如何通过 XMPP 向设备发送消息?如何接收来自设备的消息?

4

1 回答 1

2

我遇到了同样的问题,尝试使用 XMPPHP,但后来发现 JAXL 库并切换到它。请参阅无法连接到 Google Cloud 连接服务器。JAXL 允许您使用特殊的调试模式查看它发送的内容'log_level' => JAXL_DEBUG。然后我看到谷歌给我发了这个:

<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><temporary-auth-failure/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Project 1945693724760 not whitelisted.</text></failure>

这就是我无法发送任何通知的原因。您应该首先在此处注册 CCS:https ://services.google.com/fb/forms/gcm/ 。

于 2013-10-04T09:00:19.347 回答