J'ai implémenté le code ci-dessous dans Java en utilisant l'API GCM pour envoyer une notification sur l'appareil Android.Comment obtenir l'ID d'enregistrement de l'échec notification push sur le périphérique Android en utilisant 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;
}
Ici, pushId est un type de liste, qui contient l'identifiant push de tous les appareils, auquel, une notification doit être envoyée.
Le problème est que le résultat ne contient pas d'ID push push ou d'identification de périphérique de sorte que je puisse identifier quel périphérique n'a pas reçu de notification. Note: - Je ne veux pas envoyer une notification, un par un
Réponse - résultat
MulticastResult (multicast_id = 7588781423174816193, total = 5, le succès = 1, échec = 4, canonical_ids = 0, résultats: [[errorCode = NotRegistered], [ messageId = 0: 1505731620878025% f02bfbe47eeff668], [ errorCode = NotRegistered], [errorCode = NotRegistered], [ errorCode = NotRegistered]]
qui ne co Ntain ID d'enregistrement ou quelque chose pour que je puisse identifier l'appareil en DB.
Veuillez nous suggérer, Merci à l'avance.