我有下面的代碼在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中識別設備。
請建議, 先謝謝了。