我有下面的代码在Java中使用GCM API到Android设备上发送通知实施的Android设备上。如何获得的故障推送通知注册ID使用Java GCM API
Sender sender = new Sender(GCM_API_KEY);
Message.Builder builder = new Message.Builder();
builder.collapseKey(collpaseKey);
builder.timeToLive(TTL_HOURS * 3600);
if (data != null) {
for (PushData messageData : data) {
builder.addData(messageData.getKey(), messageData.getValue());
}
}
if (StreamType.CALL == type) {
for (PushData pushData : message) {
builder.addData(pushData.getKey(), pushData.getValue());
}
}
Message msg = builder.build();
try {
System.out.println(msg.toString());
MulticastResult result = sender.send(msg, pushId, MAX_RETRY);
log.infof("result %s", result.toString());
return true;
}
这里pushId是List的类型,其中包含所有设备的推送ID,在该ID处发送通知。
问题是,结果不包含故障推Id或任何设备标识,这样我可以识别哪个设备没有收到通知。 注: - 我不想一个
响应发送通知一个 - 导致
MulticastResult(multicast_id = 7588781423174816193,总= 5,成功= 1,失败= 4,canonical_ids = 0,结果: [[错误码= NotRegistered],[ MESSAGEID = 0:1505731620878025%f02bfbe47eeff668],[ 的errorCode = NotRegistered],[错误码= NotRegistered],[ 的errorCode = NotRegistered]]
其并不合作ntain任何注册ID或东西,以便我可以在db中识别设备。
请建议, 先谢谢了。