Ciao stiamo lavorando su un'applicazione Android in cui GCM gioca un ruolo molto importante nella quale finalità di marketing, spingere alcune informazioni importanti per gli utenti, eccQuali sono le ragioni ID GCM non è disponibile in alcuni casi in Android
Funziona bene nel 60-70% dei casi, ma altri 30-40% non funziona. Quindi il resto degli utenti non riceve mai alcuna notifica utile solo a loro.
Questo è il motivo per cui perdiamo utenti ogni giorno. Di seguito è riportato il mio codice per ottenere l'ID di registrazione di GCM.
String msg = "";
int exceptionOccurRetry = 0;
while (exceptionOccurRetry < 5) {
try {
if (gcm == null) {
gcm = GoogleCloudMessaging.getInstance(context);
}
int retry = 0;
while (retry < 5 && regid.length() == 0) {
regid = gcm.register(SENDER_ID);
++retry;
}
msg = "Device registered, registration ID=" + regid;
if (!regid.equals("")) {
// You should send the registration ID to your
// server
// over HTTP, so it
// can use GCM/HTTP or CCS to send messages to your
// app.
sendRegistrationIdToBackend();
}
break;
} catch (IOException ex) {
msg = "Error :" + ex.getMessage();
exceptionOccurRetry++;
}
}
Cerchiamo quali sono i motivi per cui GCM id non è disponibile per alcuni utenti.
Sappiamo solo una ragione per cui se il dispositivo dell'utente non dispone di un Google Play Services installato sul telefono dell'utente, allora non funziona.
Stiamo cercando altri motivi per risolvere questo problema.
Ciao Williams, stai lavorando a Telegram il messaggero? –
Gli ID GCM dell'utente possono cambiare, se cambiano devi recuperare! –
Sì, abbiamo aggiornato GCM se di tutti gli utenti. Intendo dire che quando provo a chiamare il metodo di registrazione, a volte potrebbe non riuscire a ottenere l'ID. Voglio sapere perché lo è così –