【问题标题】:Connect my exist server to GCM将我现有的服务器连接到 GCM
【发布时间】:2014-09-15 03:08:22
【问题描述】:

我在安卓应用和服务器上开发了一个客户端,但现在我发现了 GMC-“Google Cloud Messaging for Android”

有什么方法可以将 GCM 连接到我的服务器,而无需更改所有内容?

客户端通过socket向服务器发送数据,我需要的是服务器将数据发送给GCM,GCM将数据发送给所有客户端。

我不需要客户端向 GCM 发送数据,我只需要:

客户端 -(socket)--> 服务器 ---> GCM ---> 客户端

有人知道怎么做吗?

提前致谢!

【问题讨论】:

    标签: java android sockets client-server google-cloud-messaging


    【解决方案1】:

    您可以从 Java 服务器发送 GCM 消息。最简单的方法是使用 Google 提供的服务器库 (gcm-server.jar)。

    发送消息的代码很简单:

    Sender sender = new Sender(apiKey);
    Message message = new Message.Builder()
        .delayWhileIdle(true)
        .addData("key1", "value1")
        .addData("key2", "value2")
        .build();
    Result result = sender.send(message, registrationId, numOfRetries);
    

    此外,您还必须检查结果,看看您的消息是被 GCM 服务器接受还是拒绝。

    此示例显示如何向单个设备发送消息。有一种类似的方式可以将相同的消息发送到多个设备。

    最后,您必须实现一些网络服务,该服务接受来自您的应用的注册 ID,并将其保存在您的数据库中。

    【讨论】:

    • 哇。这无疑更友好!谢谢!!有没有办法将消息发送到所有设备?有没有像这样简单的方法来接收来自设备的消息?
    • @Itay 向所有设备发送消息需要指定所有设备的注册 ID。您不能只告诉 GCM 向所有已注册的设备发送消息。消息的接收在official demo app中演示。
    • 那么我如何获得所有设备的注册ID?
    • @Itay 该演示向您展示了如何将应用程序注册到 GCM 并获取注册 ID。获得注册 ID 后,将其发送到服务器(您需要实现一些接受注册 ID 并将其存储在数据库中的服务)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多