In Evidenza
Il Network
Ultime Notizie

Push Notifications Fixer: la soluzione ai ritardi delle notifiche push

Share

pfnCapita sovente al vostro smartphone Android, di vedere notifiche Gtalk, Gmail, Whatsapp, Facebook, Twitter ecc. arrivare con ritardo e non in tempo reale come ci si aspetterebbe. Ve ne accorgete per esempio se siete al PC e vedere arrivare una notifica di nuova posta GMail o di essere contattati via GTalk con notevole anticipo rispetto allo smartphone.

Perchè accade questo ? Applicazioni come Gtalk, Gmail, Whatsapp, Facebook, ecc, utilizzano il servizio push di Google Questo servizio push ha bisogno di una connessione aperta e stabile (una connessione TCP sulla porta 5228) tra il telefono e il server di Google.

Questa connessione è condivisa tra tutte le applicazioni che utilizzano il servizio push  e poichè per funzionare deve essere sempre attiva, il sistema manda un pacchetto di HeartBeat periodico (un piccolo pacchetto di dati) che viene utilizzato per mantenere viva la connessione tra il telefono e il server di Google.

Questo HeartBeat avviene di default ogni 15 minuti su WiFi e ogni 28 minuti sulle connessioni 3G. La cosa che può accadere per la maggior parte degli utenti è che il router wifi o il gestore di telefonia cellulare può automaticamente chiudere / terminare questa connessione dopo qualche breve periodo di inattività, ad esempio quando i terminali non inviano / ricevono le notifiche push.

Per come funziona il push, il telefono non è consapevole del fatto che tale connessione può essere stata chiusa dall’esterno, quindi questo è il motivo per cui non avrete le notifiche push finchè Android non se ne accorge dopo il lasso dei 15 o 28 minuti, quando, cioè,  l’heartbeat successivo viene inviato.

Questa applicazione risolve il problema, riducendo questo intervallo di heartbeat (memorizzato in un database all’interno di Android) a qualsiasi valore che si desidera, al fine di mantenere la connessione push service viva per ogni app che ne fa uso.

Per aggiornare l’intervallo di heartbeat, questa applicazione richiede il ROOT. Il valore consigliato è di 5 minuti, questo tempo dovrebbe essere sufficientemente breve per tutti.

Inoltre questa applicazione non scarica la batteria in background, poichè viene eseguita solo una volta ogni tanto per impostare l’intervallo di heartbeat in caso avvenga la necessità di essere nuovamente impostato (a seguito di aggiornamenti di Android il valore di heratbeat può tornare al valore di default).

Accorciare quindi l’intervallo di heartbeat a 5 minuti non dovrebbe avere un grande impatto sulla vita della batteria e si è sicuri di avere le notifiche sicuramente con molta più prontezza.

Potete seguire il  thread originale su XDA e per scaricare l’app, ecco di seguito il link al Play Store.

Enjoy ! :D

conversione applicazioni iphone android


Push Notifications Fixer
andQlimax
Free
10,000 - 50,000
Link Google Play Store

FONTE

About the author

Michele aka PhenoMik Michele aka PhenoMik: Sono appassionato da sempre di tecnologia, lavoro come sistemista informatico dal 1989 in ambiente Unix/Linux/Microsoft. Prediligendo comunque molto l'aspetto umano oltre a quello tecnologico, collaborare con Batista70Phone è stato un passo molto naturale ... Mi piace approfondire e mi piace divertirmi con tutto quello che può essere collegato ad una spina ..

1.970 views

17 Commenti

  1. Questo problema ce l’ha anche iphone?

    • Michele aka PhenoMik

      non saprei visto che usa i server Apple, ma non escludo che potrebbe accadere anche con iphone.

      • Credevo fosse un problema solo dei Windows Phone, comunque no, le notifiche con iPhone sono immediate

  2. Pure qui è finita la mia app? :-D
    Grandissimi! Stamattina l’articolo di XDA e ora il vostro, che giornata!
    Grazie

    • Michele aka PhenoMik

      Complimenti a te ! :D

    • la sto provando da qualche giorno e per ora sembra funzionare, ma domanda e se si aprissero le porte del router? la connessione sarebbe sempre aperta? sempre sia possibile e che io abbia capito che il problema sta anche nel router stesso oltre a google

      • La porta è già aperta sul router altrimenti non ricevevi proprio le notifiche

        Su alcuni router seri, se sei fortunato, ci sono dei parametri per incrementare la durata del timeout per le connessione TCP inattive, quello risolve

  3. Ottima app la sto già usando !! Complimentoni allo sviluppatore.

  4. La provo immediatamente..

  5. Ma crea conflitto con l’app battery 2x ?

    • In conflitto no, ma mi sembra che quell’app disattivi la connessione mentre lo schermo è acceso o qualcosa del genere, quindi non ricevi notifiche, apparte quello non ci sono problemi

      • Michele aka PhenoMik

        Confermo. Battery 2x di proposito butta giù la connessione per farti risparmiare batteria, quindi i pacchetti di heartbeat non possono essere inviati. Ma a parte questo quando il terminale è attivo mantiene i 5 minuti settati dall’applicazione e quindi funziona regolarmente.

  6. La sto provando, avrei una domanda..quando si usa il telefono (quindi con schermo acceso) le notifiche mi è sempre parso arrivassero in tempo reale.
    A questo punto, si potrebbe modificare l’app in modo tale che non riattivi la connessione quando il display è acceso?Si diminuirebbero gli interventi dell’app e ne gioverebbe la batteria.

    Inoltre..è possibile rendere invisibile la scritta ogni qual volta l’app entra in funzione?Magari con un’opzione selezionabile. Mi distrae mentre gioco a Ruzzle..ahahah!;-)

    Sono molto ignorante in fatto di connessioni, protocolli ecc..erano solo supposizioni.
    Comunque sia ottimo lavoro..

  7. Eppure battery 2x settato a 30 secondi nn mi stacca la connessione come di consueto. Come mai. È colpa di quest app ?

    • La scritta dei permessi super user? Quello dipende dall’app super user appunto..avrai settato di vedere le notifiche quando un app richiede i permessi di root, puoi disabilitarle

Scrivi un commento

Ricevi un avviso se ci sono nuovi commenti. Oppure iscriviti senza commentare.