Come configurare smartphone e PC. Portale informativo
  • casa
  • OS
  • Le notifiche push non arrivano Android 5.1. Cosa sono le notifiche push? Come abilitare e come disabilitare le notifiche push

Le notifiche push non arrivano Android 5.1. Cosa sono le notifiche push? Come abilitare e come disabilitare le notifiche push

Apple è responsabile del corretto funzionamento delle notifiche Push in iOS. Qualsiasi applicazione di terze parti che desideri inviare notifiche all'utente deve utilizzare il server Apple per questo. Lo schema si presenta così: lo sviluppatore configurerà il proprio server, che contatta il servizio di notifica push (APNS) di Apple, che a sua volta invia già notifiche agli utenti sui propri dispositivi.

Pertanto, se una determinata applicazione non ti invia notifiche, il problema è nelle mani storte dello sviluppatore, che normalmente non può configurare l'interazione del suo server con APNS. Se hai smesso di ricevere assolutamente tutte le notifiche, prova le seguenti istruzioni.

Esci dal tuo account ID Apple

Apple usa il tuo ID Apple per identificare i dispositivi. È così che l'azienda capisce dove inviare le notifiche. La prima cosa da fare se hai problemi a ricevere le notifiche push è uscire e accedere di nuovo con il tuo ID Apple. Puoi farlo in Impostazioni> iTunes e App Store.

Riconnetti il ​​dispositivo a iCloud

Un passaggio simile dovrebbe essere ripetuto con il servizio cloud iCloud, che si occupa della sincronizzazione dei dati tra dispositivi e con i server Apple. Puoi farlo in Impostazioni> iCloud.

Riavvia il dispositivo

Non ci sono molti strumenti per la risoluzione dei problemi in iOS, il riavvio è il principale. Come promemoria, un riavvio è diverso da un normale spegnimento/spegnimento. Puoi riavviare il dispositivo tenendo premuti a lungo il pulsante di accensione e il tasto Home sui dispositivi meno recenti e tenendo premuti a lungo il pulsante di accensione e riduzione del volume su iPhone 7 e iPhone 7 Plus.

Controlla la modalità Non disturbare

Se il sistema è impostato su Non disturbare, non sentirai le notifiche all'ora specificata. Assicurati di non accenderlo in modo permanente. Ciò è comprensibile se l'icona della mezzaluna è presente nella barra di stato del dispositivo.

Controlla le impostazioni dell'app

IOS ha un sistema di notifica molto flessibile che ti consente di personalizzare ogni app nel modo desiderato. Può inviare notifiche Push, può mostrare notifiche solo sull'icona dell'applicazione, banner nella parte superiore dello schermo, può mostrare o non mostrare notifiche a schermo chiuso. Insomma, le opzioni sono tante, tutte visualizzabili in Impostazioni > Notifiche. Se al primo avvio dell'applicazione è stato accidentalmente vietato inviare notifiche, puoi sempre modificare questa impostazione in questo menu.

Controlla il pulsante muto

Assurdi, ma, come dimostra la pratica, consigli estremamente utili. Un piccolo interruttore sul lato dell'iPhone non influisce in alcun modo sulle notifiche push, ma disattiva i suoni di notifica del sistema. Pertanto, se lo cambi accidentalmente, potresti non sentire le notifiche importanti.

I fan del social network Vkontakte affrontano spesso il problema della mancanza di notifiche push. Le finestre con finestre di dialogo rapide non vengono visualizzate, il che introduce alcuni inconvenienti. I problemi possono essere diversi, cercheremo di parlarne e capire le modalità di soluzione.

Momenti problematici con notifiche in VK

In effetti, affrontare ogni problema non è difficile. Tra questi ci sono i seguenti:

  1. Aggiornamenti del sito di social network, congestione del server e altri problemi tecnici. Spesso puoi incontrarlo quando ci sono cambiamenti globali nel social network. Molte funzioni non sono disponibili, incluse le notifiche push;
  2. Impostazioni account globali non riuscite. Forse tu stesso o i tuoi parenti potreste accidentalmente o intenzionalmente battere alcuni parametri in VK. La soluzione al problema è contattare la verifica dei singoli parametri e riportare i valori desiderati nella posizione originale;
  3. Modifica delle impostazioni in finestre di dialogo chiuse con più persone. L'aspetto dei messaggi è abbastanza spesso fastidioso con invadenza, quindi alcuni utenti disattivano determinati elementi e si lamentano dell'assenza di finestre pop-up;
  4. Il browser non supporta gli script java. Certo, questo è raro oggi, ma sorgono momenti problematici. Solo un rimedio aiuterà qui! Che cosa esattamente, leggi più avanti nell'articolo.

Punti tecnici: attesa e aggiornamento

In questa sezione cercheremo di risolvere i problemi con i punti 1 e 4. Per quanto riguarda il primo, qui tutto è abbastanza semplice. Gli aggiornamenti e i sovraccarichi di sistema sono temporanei e richiederanno pazienza e attesa. Quanto durerà tale inconveniente? Tutto dipende dalla situazione specifica:

  1. Se viene eseguita un'ampia revisione dei singoli elementi del sito, il processo richiederà fino a 8 ore. Durante questo periodo, i singoli moduli verranno riavviati, le connessioni verranno regolate e le prestazioni verificate. Per tenere traccia degli aggiornamenti, ti consigliamo di iscriverti al gruppo di sviluppatori ufficiale su VK;
  2. Anche il sovraccarico del server può essere un momento problematico per lavorare con le notifiche. Ora gli sviluppatori hanno ridotto il carico sul sito, ma a volte è possibile imbattersi in un fenomeno, soprattutto in estate. C'è solo una soluzione, l'aspettativa e la speranza per l'autocorrezione della situazione. In caso di "errori rossi", si consiglia di svuotare la cache del browser.

C'è un'altra storia sulle applicazioni per lavorare nell'ambiente web. Alcuni programmi non supportano gli script java o sono semplicemente bloccati nelle impostazioni globali. Utilizzare un software diverso, ripristinare tutto ai valori originali o reinstallare il software più recente. L'abbiamo capito, ora passiamo ai parametri per Vkontakte.

Impostazioni errate o fuori luogo


Spesso il problema si presenta a causa di parametri errati o fuori servizio. È possibile risolvere il problema attraverso una serie delle seguenti azioni:

  1. È necessario andare nella sezione appropriata. Questo viene fatto facendo clic sull'icona del nome nell'angolo in alto a destra;
  2. Nella nuova finestra "Impostazioni", dovrai trovare la sezione "Notifiche", dopo di che appariranno gli slider nella schermata centrale. Dovrebbero essere nella posizione giusta. In caso contrario, correggere;
  3. Nel caso di dialoghi di massa, è necessario verificare l'inclusione della funzione corrispondente direttamente nel dialogo. Per fare ciò, vai alla chat desiderata, trova tre punti in alto e seleziona "Disabilita/abilita notifiche".

Il problema è risolto, in alcuni casi sarà necessario disconnettersi e accedere, svuotare la cache. Speriamo che i consigli ti abbiano aiutato e che tu abbia eliminato l'inconveniente. È inoltre necessario prestare attenzione al fatto che VK utilizza le notifiche via e-mail e via SMS, ne parleremo in articoli futuri.

Mi è stato chiesto di scrivere questo articolo dal compito che mi è stato assegnato in uno dei miei progetti di lavoro: implementare le notifiche Push nell'applicazione. Sembrava che tutto fosse semplice: studi la documentazione, gli esempi e vai avanti. Inoltre, ho già avuto esperienza con le notifiche. Ma non c'era...

Il servizio, all'interno del quale è implementata l'applicazione per Android, impone requisiti piuttosto severi per il funzionamento delle notifiche Push. È necessario informare l'utente di alcune azioni entro 30-60 secondi. Se la notifica ha esito positivo, viene inviata una richiesta dal dispositivo dell'utente al server con lo stato corrispondente. È noto dalla documentazione che il servizio GCM (Google Cloud Messaging) non garantisce l'invio di notifiche PUSH ai dispositivi, pertanto, come opzione backdoor, se tale lasso di tempo viene violato, il nostro servizio avvisa l'utente tramite un messaggio SMS. Poiché il costo dei messaggi SMS è notevolmente superiore alle notifiche PUSH, è necessario ridurre al minimo il flusso di messaggi SMS verso i dispositivi client.

Dopo aver studiato la documentazione e le notifiche push allegate, abbiamo inviato la prima build dell'applicazione per il test a diversi clienti e abbiamo iniziato ad aspettare. I risultati sono stati più o meno i seguenti:

  • con una connessione Wifi attiva, tutto funziona alla perfezione: le notifiche vengono recapitate, i clienti sono contenti.
  • con un Internet mobile attivo, è iniziato il divertimento.
Alcuni clienti hanno scritto di aver riscontrato ritardi nelle notifiche push o di aver ricevuto contemporaneamente sia PUSH che SMS, il che non è abbastanza pratico. Altri hanno scritto di non aver ricevuto affatto notifiche, ma solo SMS. Altri ancora, come il nostro sui dispositivi di prova, avevano tutto ok. Dopo aver raccolto quante più informazioni possibili dai clienti insoddisfatti, hanno iniziato a capire il problema e hanno tirato fuori il seguente elenco di restrizioni (questo elenco in seguito si è trasformato in una FAQ completa):
  • la modalità di risparmio energetico abilitata (ad esempio, Stamina sui dispositivi Sony) influisce sul funzionamento delle notifiche Push;
  • l'utente deve avere almeno 1 account Google attivo sul dispositivo;
  • è necessario assicurarsi che sul dispositivo sia installata la versione corrente dell'applicazione "Google Play Services";
  • controlla se le notifiche sono disabilitate per l'applicazione (segno di spunta nella pagina dell'applicazione nelle impostazioni del telefono);
  • controlla se il lavoro della modalità in background per l'applicazione non è limitato (l'impostazione si trova nel menu "Utilizzo dati");
  • la documentazione per GCM indica che le notifiche vengono inviate solo a determinate porte, quindi dovrebbero essere prese in considerazione anche le impostazioni del router, del firewall e dell'antivirus.
Dopo aver inviato questo promemoria a tutti i clienti, abbiamo ricominciato ad aspettare i risultati. E si sono rivelati di nuovo "non molto". Cominciarono a scavare ulteriormente.

In questa fase, è stato molto utile, scritto dai ragazzi di Mail.ru. Descrive in modo molto dettagliato le sottigliezze dell'implementazione di GCM sul lato client, nonché i momenti in relazione ai quali le notifiche push si rifiutano di funzionare nelle reti mobili. Alla fine, è stata presa la decisione di mantenere la connessione al mio server in tandem con GCM.

Prima di procedere con la soluzione, vale la pena evidenziare alcuni punti molto importanti che consentono di restringere la cerchia dei dispositivi potenzialmente "non funzionanti":

  • il problema si verifica solo durante la connessione a Internet mobile;
  • secondo i clienti, il problema si verifica su Android versione 4 e successive.
E così, passiamo alla realizzazione.

Uno sviluppatore Android esperto dirà subito che ci sono almeno 2 soluzioni al problema: usa Service o AlarmManager. Abbiamo provato entrambe le opzioni. Consideriamo il primo.

Per creare un servizio che non viene ucciso dal sistema, che rimarrà costantemente in background e svolgerà il nostro compito, abbiamo utilizzato il metodo:

StartForeground (int NotificationID, Notification Notification);
dove

  • NotificationId - un identificatore di notifica univoco che verrà visualizzato nella barra di stato e nella tendina;
  • notifica - la notifica stessa.
In questo caso, un prerequisito è la visualizzazione della notifica nella barra di stato. Questo approccio garantisce che al servizio venga assegnata una priorità maggiore (poiché interagisce con la parte UI del sistema) al momento della memoria insufficiente sul dispositivo e il sistema lo scaricherà uno degli ultimi. Non abbiamo bisogno di questa notifica, quindi abbiamo utilizzato la seguente bici: è sufficiente lanciare la seconda contemporaneamente al primo servizio e per entrambi i servizi come IDnotifica usa lo stesso valore Quindi uccidi il secondo servizio. In questo caso la notifica scomparirà dalla barra di stato, ma rimarranno le capacità funzionali e prioritarie del primo servizio.

Dopo aver implementato questo approccio, abbiamo inviato l'assembly per il test. In base ai risultati, si è scoperto che il sistema scarica ancora il servizio e dai registri abbiamo visto come si sono verificati intervalli di tempo significativi durante la richiesta di dati in background dal nostro server. Pertanto, abbiamo iniziato a implementare la seconda opzione: AlarmManager.

AlarmManager è una classe che fornisce lavoro, grosso modo, "sveglia". Ti consente di specificare il tempo dopo il quale il sistema invierà una notifica di trasmissione, che riattiverà la nostra applicazione e le consentirà di eseguire le azioni necessarie. Ci sono alcune limitazioni nel funzionamento di questo metodo e devono essere gestite:

  • i dati sugli "allarmi" verranno cancellati dopo il riavvio del dispositivo;
  • i dati sugli "allarmi" verranno cancellati dopo l'aggiornamento dell'applicazione.
Il primo rastrello su cui abbiamo calpestato è stato il metodo

Imposta ripetizione ()
che permette di impostare una ripetizione con qualche intervallo di "allarme". Avendo avvitato questo metodo, hanno iniziato a testare e i test hanno mostrato il contrario: la "sveglia" non si è ripetuta. Cominciarono a capire quale fosse il problema, guardarono la documentazione. Ed è stato lì che hanno trovato la risposta alla domanda: a partire da API 19 lvl (Kitkat), assolutamente tutte le "sveglie" nel sistema sono diventate una tantum. Conclusione: leggi sempre la documentazione.

Questo rake non era motivo di frustrazione, perché la soluzione al problema è abbastanza semplice: avviare una "sveglia" una tantum e ripristinarla dopo che è stata attivata. Durante l'implementazione di questo approccio, ci siamo imbattuti nel seguente rake: si è scoperto che per diversi livelli di API è necessario impostare allarmi in modi diversi, mentre la documentazione non dice nulla. Ma questo problema è stato risolto in modo abbastanza semplice: "digitando" e "cercando su Google". Di seguito un esempio di codice che permette di impostare correttamente gli "allarmi":

Private static void setUpAlarm (final Context context, final Intent intent, final int timeInterval) (final AlarmManager am = (AlarmManager) context.getSystemService (Context.ALARM_SERVICE); final PendingIntent pi = PendingIntent.getBroadcast (context, timeInterval, intent, 0) ; am.cancel (pi); if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) (final AlarmManager.AlarmClockInfo alarmClockInfo = new AlarmManager.AlarmClockInfo (System.currentTimeMillis () + timeInterlock, pi); amClock alarmClockInfo, pi );) else if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.KITKAT) am.setExact (AlarmManager.RTC_WAKEUP, System.currentTimeMillis () + timeInterval, pi); else am.set (AlarmManager.RTC_WAKEUP System.currentTimeMillis ( ) + timeInterval, pi);)
Voglio attirare la vostra attenzione sulla bandiera AlarmManager.RTC_WAKEUP- è con l'aiuto di esso che il sistema consentirà alla nostra applicazione di "svegliarsi" con uno schermo inattivo, quando il dispositivo è in uno stato bloccato.

Questo approccio con "allarmi" ci ha dato il risultato desiderato: l'applicazione in background interroga correttamente il server per nuovi dati. Ora stiamo finalizzando l'algoritmo. Al momento, stiamo implementando e testando la seguente ottimizzazione, che ci consentirà di restringere la gamma di dispositivi e quindi ridurre il carico sul server:

  • il messaggio inviato da GCM al dispositivo contiene un ID univoco;
  • ricevuti i dati con una richiesta GET in background, controlliamo se esiste già un record con questo ID sul dispositivo;
  • se non ci sono tali dati localmente sul dispositivo, ricordiamo questo ID e l'ora in cui è stato ricevuto T1;
  • attendiamo PUSH con lo stesso ID, al ricevimento ricordiamo l'ora T2 e controlliamo la differenza tra T2 e T1;
  • se la differenza è superiore ad un certo criterio temporale (valore), allora il dispositivo ha un problema con l'invio delle notifiche e affinché il servizio funzioni correttamente è necessario richiedere costantemente dati in background dal server (vi consiglio per scegliere il criterio in base al problema da risolvere (nel nostro caso il criterio è stato scelto 5 minuti);
  • questa differenza dovrebbe essere calcolata più volte, ad esempio 5-10 volte, solo dopo di ciò per concludere che il dispositivo contiene davvero un problema con la ricezione delle notifiche Push (questo elimina la situazione di una banale disconnessione, timeout, ecc.);
  • è necessario eseguire questo algoritmo periodicamente (ad esempio, una volta alla settimana o dopo aver aggiornato il sistema operativo sul dispositivo).
Tutto bene. E meno di queste stampelle.

P.S.
Durante il processo di test, ha aiutato molto

Il problema con le notifiche è uno dei problemi comuni di iOS che potresti incontrare sul tuo iPhone o iPad. Hai scoperto che i suoni di notifica e le vibrazioni non funzionano sul tuo iPhone. Devi risolvere questo problema in modo da poter scoprire gli ultimi post o le notizie dalle tue app.

Non preoccuparti se riscontri questo problema durante l'aggiornamento a iOS 10 o al più recente iOS 11 / 11.1. Puoi provare i nostri suggerimenti di seguito per risolvere questo problema. Si applica a iPhone 7/6s/6/5s/4s e nuovo iPhone X/iPhone 8.

1. Riavvia il tuo iPhone

Non c'è modo migliore per risolvere i problemi di iOS che riavviare il dispositivo. Non credo? Provalo.

Per risolvere il problema quando le notifiche non vengono ricevute sull'iPhone, premere il pulsante di accensione/spegnimento per 2-3 secondi. Quando viene visualizzato un dispositivo di scorrimento nella parte superiore dello schermo, rilascia il pulsante di accensione/spegnimento e scorri verso destra per spegnere iPhone.

La disconnessione del tuo iPhone interrompe tutte le operazioni in background. Molti di questi sono avviati dal software stesso e possono causare il malfunzionamento del dispositivo.

Quando spegni il tuo iPhone e lo accendi, o quando ripristini il tuo iPhone, si avvia normalmente e si riavvia.

2. Controlla se il tuo iPhone è in modalità silenziosa

Se il tuo iPhone è in modalità "Silenzioso", molto probabilmente a causa di ciò, le notifiche non vengono ricevute sull'iPhone. Attiva o disattiva il pulsante Muto sulla barra laterale del tuo iPhone e verifica se viene visualizzata una barra arancione come mostrato di seguito.

Se la barra arancione è visibile, significa che il tuo iPhone è in modalità silenziosa, il che impedisce il funzionamento delle notifiche. Basta attivare il pulsante nell'altro modo per mettere il tuo iPhone in modalità generale e tornerai con tutte le notifiche push.

Molte volte, gli utenti mettono il loro iPhone in modalità silenziosa e se ne dimenticano. Per tutti gli utenti dei nuovi iPhone, questo consiglio sarà utile, verifica prima di passare ad altre soluzioni.

Non disturbare, meglio noto come DND, è una grande funzionalità offerta da iOS. Con questa funzione, puoi disattivare le notifiche e gli squilli se lo desideri, ad eccezione della ricezione delle chiamate dai contatti selezionati (preferiti).

Tuttavia, se questa funzione è stata attivata inconsapevolmente o per errore, può causare la mancata ricezione delle notifiche sull'iPhone. Quando vedi l'icona della luna nella parte superiore della schermata principale, significa che questa funzione è attivata.

Puoi disattivare la modalità Non disturbare visitando Impostazioni> Non disturbare> Disattiva

Una volta disabilitato DND, le notifiche push inizieranno a funzionare sul tuo iPhone.

Assicurati inoltre che l'opzione Non disturbare sia attivata per eventuali contatti specifici. Per testarlo, avvia l'app Messaggi, dove puoi vedere i tuoi messaggi. Qualche messaggio ha il segno della luna? Se è così, significa che hai attivato Non disturbare per questo contatto:

Disabilita questo, la scheda Dettagli e disattiva Non disturbare. Molti utenti non sono a conoscenza di questa fantastica funzionalità. Se sei uno di loro, ora puoi usarlo.

4. Controlla le notifiche dell'app

Un altro consiglio semplice ma efficace è controllare le notifiche in-app. A volte le notifiche per alcune applicazioni sono disabilitate, a causa delle quali le notifiche non vengono ricevute su iPhone. Puoi verificare se le notifiche sono abilitate nelle app andando su Impostazioni> Seleziona notifiche come mostrato nello screenshot qui sotto.

Ora vedrai tutte le app che inviano regolarmente notifiche sul tuo iPhone. Fare clic sull'applicazione che non riceve notifiche su iPhone e attivare "Consenti notifiche", come mostrato di seguito.

Non è così facile? Segui questi passaggi e attiva le notifiche in tutte le app importanti come Posta, Calendario, Messaggi, ecc. Per consentire le notifiche push.

5. Connettiti a una rete stabile

Hai bisogno di una connessione Internet stabile per supportare tutte le tue app e le relative notifiche push. Fino a quando il tuo iPhone non sarà connesso a una rete Wi-Fi forte oa dati cellulari, non riceverai notifiche istantanee.

Per connetterti al Wi-Fi, vai su Impostazioni> tocca Wi-Fi> Accendilo e infine seleziona la tua rete preferita e connettiti inserendo la sua password.

Per attivare i dati del cellulare (se disponi di un piano dati attivo), tocca Impostazioni> tocca Dati cellulare> attivalo.

Nota. Se scopri che la tua connessione Internet non è abbastanza forte a causa di un problema di rete durante il viaggio, sii paziente fino a quando non ottieni una buona rete e poi riprova a connetterti.

6. Accedi al tuo account ID Apple

Il tuo ID Apple è l'indirizzo email che utilizzi per accedere all'App Store e ad altri servizi Apple. Se tutto funziona come previsto, inserisci il tuo ID Apple in anticipo (molto probabilmente durante la configurazione iniziale).

Devi accedere al tuo account ID Apple. Questo è uno dei metodi spesso utili quando hai un problema con le notifiche sul tuo iPhone. Per uscire dal tuo account ID Apple, vai su Impostazioni> ID Apple, iCloud, iTunes Store e App Store.

7. Esci da iCloud e poi accedi di nuovo

iCloud è un ottimo modo per sincronizzare i tuoi dispositivi, dalle foto ai file e alla cronologia web. Ma quando incontri dei problemi, a volte devi uscire da iCloud. Segui questa guida per imparare a farlo su iPhone.

La disconnessione da iCloud in iOS 10.3 è leggermente diversa rispetto al passato e include un nuovo banner ID Apple.

Apri Impostazioni, quindi tocca il banner dell'ID Apple nella parte superiore dello schermo (ID Apple, iCloud, iTunes, App Store). Scorri verso il basso e tocca " Disconnettersi" > « Esci da iCloud ".

Il secondo metodo è per le versioni iOS 10.2.1 e precedenti. Apri le impostazioni sul tuo iPhone, fai clic su " iCloud"> Scorri verso il basso e tocca " Disconnettersi" > « Disconnettersi" > « Eliminareda iPhone».

Ora torna dentro. Questo è tutto, le notifiche dovrebbero funzionare, se non ha funzionato per te, guarda i suggerimenti di seguito!

8. Aggiornare iOS su iPhone

Sappiamo tutti che Apple sta rilasciando aggiornamenti iOS per portare funzionalità nuove e migliorate sui tuoi dispositivi e correggere bug che possono causare problemi che impediscono l'invio di notifiche al tuo telefono.

9. Ripristina iPhone

Ripristina il tuo iPhone per correggere l'errore che le notifiche non arrivano su iPhone, questa correzione dovrebbe essere la tua ultima opzione. Questo metodo ripristina il tuo iPhone, rendendolo veloce come se lo avessi appena acquistato.

Alla fine perderai tutti i dati e le impostazioni salvati, quindi è importante salvarli prima di utilizzare questo metodo. Segui i passaggi seguenti per ripristinare iPhone tramite iTunes.

1. Collega l'iPhone al computer. Fare clic su Sfoglia> Crea copia ora come mostrato nello screenshot qui sotto.

2. Quindi "Fai clic su" Ripristina iPhone ", iTunes visualizzerà un messaggio di conferma. Infine clicca su "Ripristina" e attendi il completamento del processo.

3. Fatto ciò, riavvia il tuo iPhone e configuralo di nuovo per verificare se le notifiche push funzionano.

Nota importante. Sebbene questo sia un modo noioso per correggere le notifiche non funzionanti su un iPhone, è noto che questo metodo risolve il problema 9 volte su 10. Ancora una volta, ti consigliamo di scegliere questo metodo solo se nessuna delle altre soluzioni funzionerà.

Principali articoli correlati