GCM java服务器示例

时间:2014-03-07 21:29:18

标签: android google-cloud-messaging

有没有人有GCM java第三方服务器示例的链接?我无法理解如何实现它。在http://developer.android.com/google/gcm/server.html中,我找不到完整的示例。

2 个答案:

答案 0 :(得分:35)

最简单的方法是使用gcm-server.jar(您可以从here获取)。

然后,您需要发送GCM消息的代码如下所示:

Sender sender = new Sender(apiKey);
Message message = new Message.Builder()
    .addData("message", "this is the message")
    .addData("other-parameter", "some value")
    .build();
Result result = sender.send(message, registrationId, numOfRetries);

答案 1 :(得分:-1)

我想分享一种更好的方法,确认消息是否成功传递。我们可以使用<property name="hibernate.hbm2ddl.auto">create</property> RestTemplate来完成此操作。

我将使用HTTPPost

展示我们如何做到这一点
gcm.jar

您将看到的输出如下:

public class GCMJarGCM {
    public static final String GCM_API_KEY = "Get this API key from Google Developer Console";
    public static final String MESSAGE_VALUE = "Hello, Sending Notifications using GCM";    
    public static final String MESSAGE_KEY = "message";
    public static final String REG_ID = "This you'll get once you register on GCM";

    public static void main(String[] args) throws IOException {
        Sender sender = new Sender(GCM_API_KEY);

        ArrayList<String> devicesList = new ArrayList<String>();
        devicesList.add(REG_ID);

        Message message = new Message.Builder().timeToLive(30)
                .delayWhileIdle(true).addData(MESSAGE_KEY, MESSAGE_VALUE).build();

        MulticastResult result = sender.send(message, devicesList, 1);
        sender.send(message, devicesList, 1);
        System.out.println(result.toString());
    }
}

如果您想使用HTTPPost或RestTemplate,则需要使用EndPoint:https://android.googleapis.com/gcm/send