有没有什么链接提供GCM Java第三方服务器示例?我不知道如何实现它。在http://developer.android.com/google/gcm/server.html中,我找不到完整的示例。
有没有什么链接提供GCM Java第三方服务器示例?我不知道如何实现它。在http://developer.android.com/google/gcm/server.html中,我找不到完整的示例。
最简单的方法是使用 gcm-server.jar
(您可以从这里获取)。
然后,发送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);
我想分享一种更好的方法来确认消息是否已成功发送。我们可以使用 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());
}
}
MulticastResult(multicast_id=4951949299732552396,total=1,success=1,failure=0,canonical_ids=0,results: [[ messageId=0:1445408305351488%2a748ce7f9fd7ecd ]]
如果你想使用HTTPPost或RestTemplate,那么你需要使用EndPoint:https://android.googleapis.com/gcm/send