【发布时间】:2014-09-03 21:31:59
【问题描述】:
我第一次做一个使用 gcm 的 android 应用程序。我无法通过多播向用户推送消息通知。我已经为个人用户实施了!请建议一种在 JSON 中实现 HTTP POST 请求的方法,将我视为初学者。 提前致谢
【问题讨论】:
标签: android json notifications push google-cloud-messaging
我第一次做一个使用 gcm 的 android 应用程序。我无法通过多播向用户推送消息通知。我已经为个人用户实施了!请建议一种在 JSON 中实现 HTTP POST 请求的方法,将我视为初学者。 提前致谢
【问题讨论】:
标签: android json notifications push google-cloud-messaging
问题只是发送 HTTP POST 请求吗?如果是这样,Google Volley 是一个很好的 API 来实现这一点,看看
【讨论】:
在GCM Architecture 中,您的“后端”(第 3 方服务器)将消息发送到 GCM 服务器,然后它们最终会到达设备。
“后端”上的典型代码类似于 (java):
Sender sender = new Sender(API_KEY);
Message msg = new Message.Builder().addData("message", message).build();
List<RegistrationRecord> records = getTheListOfDeviceIdsYouWantToReceiveTheMessage();
for(RegistrationRecord record : records) {
Result result = sender.send(msg, record.getRegId(), 5);
if (result.getMessageId() != null) {
log.info("Message sent to " + record.getRegId());
} else {
String error = result.getErrorCodeName();
if (error.equals(Constants.ERROR_NOT_REGISTERED)) {
log.warning("Registration Id " + record.getRegId() + " no longer registered with GCM, removing from datastore");
// if the device is no longer registered with Gcm, remove it from the datastore
}
else {
log.warning("Error when sending message : " + error);
}
}
}
如果没有看到您的代码,目前很难为您提供帮助。
【讨论】: