我已配置客户端Android谷歌云消息传递(GCM)来接收推送通知,但我不能配置一个服务器在Java中发送通知到设备。我怎么能?发送推送通知GCM由java
6
A
回答
15
您可以使用gcm-server.jar其中包含用于GCM消息传递的辅助方法。 要获得此罐子,您可以安装“[已弃用] Google云消息传递Android库”通过Android SDK Manager。不要让这个不赞成的名字让你感到困惑。只有客户端部分被弃用,而不是服务器端。
安装完成后,您可以在"ADT_SDKROOT\sdk\extras\google\gcm"
找到它。示例文件夹包含一个非常容易理解的演示服务器。
发送GCM消息只涉及几行代码:
final String GCM_API_KEY = "yourKey";
final int retries = 3;
final String notificationToken = "deviceNotificationToken";
Sender sender = new Sender(GCM_API_KEY);
Message msg = new Message.Builder().build();
try {
Result result = sender.send(msg, notificationToken, retries);
if (StringUtils.isEmpty(result.getErrorCodeName())) {
logger.debug("GCM Notification is sent successfully");
return true;
}
logger.error("Error occurred while sending push notification :" + result.getErrorCodeName());
} catch (InvalidRequestException e) {
logger.error("Invalid Request", e);
} catch (IOException e) {
logger.error("IO Exception", e);
}
return false;
1
对于“”“test”“”创建java控制台应用程序,添加gcm jar文件。
try{
Sender sender = new Sender("<senderId>");
ArrayList<String> devicesList = new ArrayList<String>();
devicesList.add(<deviceId>);
String data = "<data>";
Message message = new Message.Builder()
.collapseKey("1")
.timeToLive(3)
.delayWhileIdle(true)
.addData("message",
data)
.build();
MulticastResult result = sender.send(message, devicesList, 1);
sender.send(message, devicesList, 1);
System.out.println(result.toString());
if (result.getResults() != null) {
int canonicalRegId = result.getCanonicalIds();
if (canonicalRegId != 0) {
}
} else {
int error = result.getFailure();
System.out.println(error);
}
}
相关问题
- 1. 使用Google GCM发送推送通知
- 2. 发送GCM推送通知到设备
- 3. 推送通知通过GCM
- 4. 这是java发送GCM推送通知的库吗?
- 5. 推送通知图标GCM
- 6. GCM推送通知与Asp.Net
- 7. GCM推送通知的NodeJS
- 8. android GCM推送通知
- 9. Android推送通知GCM
- 10. 使用GCM推送通知
- 11. 使用GCM推送通知
- 12. GCM推送通知与钛
- 13. GCM Android推送通知:发送确定但未发送
- 14. 使用GCM发送声音文件或图像作为推送通知使用GCM推送通知
- 15. 离线时是否可以通过gcm发送推送通知?
- 16. 通过代理发送推送通知(APN和GCM)
- 17. 如何在C#.Net上通过GCM发送Android推送通知
- 18. Java推送通知
- 19. Android GCM推送通知 - 将消息发送到一组设备
- 20. 如何使用GCM向特定用户发送推送通知
- 21. 最大数量的设备可以GCM发送推送通知
- 22. GCM可以向VoIP iOS发送推送通知消息吗?
- 23. GCM推送通知,不能发送同样的消息
- 24. 在PHP中使用GCM发送推送通知
- 25. 发送到GCM的大规模推送通知
- 26. 在C#发送推送通知与GCM - 401未授权
- 27. 为什么GCM不在android设备中发送推送通知?
- 28. 使用GCM将推送通知发送给Ionic应用程序
- 29. 如何使用GCM向多个用户发送推送通知
- 30. 使用新的GCM发送推送通知的简单方法
你需要在互联网的某个地方土地配置的服务器,如使用谷歌应用程序引擎,做服务器端的工作。 – wattostudios
是的,我有一台服务器使用套接字连接到设备,但我无法从其他服务器向GCM服务器发送通知。 – user3302527
如果您已经有服务器,请发布无法使用的代码,我们会尽力为您解决。你的问题太广泛了 - 我们需要先看看你试图去做什么。 – wattostudios