Ho letto molti post relativi a un problema GCM che riguarda alcune persone. Sembra che in alcuni dispositivi/router/gestori le notifiche subiscano ritardi. Ho riscontrato questo problema con il mio router: i messaggi sono arrivati con molto ritardo sul WIFI, ma sono arrivati istantaneamente quando ho disattivato il Wi-Fi e connesso alla rete mobile.Come evitare ritardi nei messaggi GCM Android/modifica heartbeat
Sembra che ci sia una soluzione alternativa che può essere eseguita dall'app Android. Qualcosa come aumentare il battito cardiaco che mantiene in vita la connessione GCM, o così.
Qualcuno può dirci cosa dovremmo fare per evitare il ritardo? Come possiamo mantenere la connessione con GCM da un'app per Android? Un esempio di codice (e dove e come usarlo) sarebbe davvero utile.
This post spiega il problema. Dice che "potremmo mantenere in vita la connessione con un ping ogni due minuti dal server GCM (che è gratuito)". Come possiamo farlo?
Grazie mille
Le seguenti applicazioni sembrano fare il trucco. Sorprendentemente, il primo non ha bisogno di alcun permesso, la seconda connessione a Internet e il terzo è solo per i telefoni radicate:
https://play.google.com/store/apps/details?id=at.pansy.droid.gcmWifiFix
https://play.google.com/store/apps/details?id=com.elotro.pushheartbeat
https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer
Grazie Eran. Non possiamo farlo perché dovremmo inviare troppe notifiche - abbiamo milioni di dispositivi registrati. Possiamo fare il "ping" dal dispositivo (dall'app per Android)? –
@FerranMaylinch Questo potrebbe essere possibile. Non ho mai provato a inviare una notifica da un dispositivo a se stessa, ma non c'è motivo per cui non dovrebbe funzionare (dopo tutto il dispositivo ha il proprio ID di registrazione e tutto ciò che deve fare è postare una richiesta HTTP al server GCM) . L'unico problema è che funzionerà solo quando l'app è in esecuzione. – Eran