24

Nel mio impostazioni TabBar:Le notifiche remote silenziose sono possibili se l'utente ha disattivato push per l'app?

  1. Ho un interruttore specifica caratteristica che può essere attivato o disattivato in base alla risposta API.
  2. Dal sito Web solo l'amministratore è autorizzato a accendere/spegnere.
  3. Posso fare/chiamare l'API utente ogni volta sulle impostazioni toccare per verificare le impostazioni correnti per l'utente ma ci sono un paio di svantaggi come se l'utente è già su impostazione quindi non aggiornerà l'interfaccia utente e chiamerà api ogni volta sulle impostazioni tocca doesn sembra una soluzione perfetta.

Penso che la soluzione migliore sia inviare una notifica push silenziosa che posso utilizzare per effettuare la chiamata API per aggiornare l'interfaccia utente delle impostazioni ogni volta che è necessario.

Ma se l'utente ha disabilitato la notifica push riceverò ancora push silenzioso? Qual è l'approccio raccomandato per gestire tali situazioni?

risposta

40

Risposta breve,

L'emozionante nuova opportunità per gli sviluppatori di app in iOS 8 è che Apple ora offrire “silenziosa” spinge anche se l'utente ha scelto di notifiche. Inoltre, "push silenzioso" non è più solo per le app di Edicola. Ogni app può trarre vantaggio da questa capacità di aggiornare i contenuti in background, creando l'esperienza reattiva più aggiornata possibile, nel momento in cui l'utente apre l'app.

Anche se ...

Gli utenti hanno ancora la capacità di disattivare la capacità del vostro app per elaborare una “spinta silenziosa” per mezzo del controllo “Aggiornamento app in background”. Anche se il servizio Apple Push Notification (APN) invierà una spinta contrassegnata come "disponibile per i contenuti" sul tuo telefono, il sistema operativo non attiverà l'app per riceverla, lasciandola effettivamente sul pavimento. Tuttavia, la disattivazione di "Aggiornamento app in background" è una funzionalità meno nota non associata direttamente alle notifiche. Non hai accesso a questa preferenza nelle tue Impostazioni notifiche - si trova in Generale> schermata Aggiornamento app in background.

Tenere questo a mente quando si costruisce l'applicazione.

Fonte: https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes

+1

Sei sicuro che sia ancora vero per iOS9? –

+0

È vero per iOS8 e versioni successive. – GameBegins

+1

Link è morto ... forse questo è quello? https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes – Jonny

17

Questa matrice potrebbe aiutare. A sinistra, mostra se il metodo "didReceiveRemoteNotification:" viene chiamato o meno. Altre due colonne sono correlate all'impostazione dell'app. Impostazioni -> YourApp. Se yourApp supporta le notifiche e l'aggiornamento dell'app in background. Cerca nella matrice per verificare quando l'app riceverà push silenzioso.

+0

La "modalità a basso consumo" influisce sulla consegna? – mpoisot

+0

Non ne sono sicuro, ma penso che disabiliti TUTTO cioè l'ultima riga. Riceverai comunque una notifica silenziosa se la tua app è in ** foreground **. – Honey

0

Altre risposte sono buone. Ma non sono risposte ufficiali.

La risposta ufficiale è in What's New in Notifications WWDC 2015 video:

notifiche silenziose sono abilitate di default.L'utente non ha bisogno di approvare il tuo - non dare il permesso alla tua app per usarli, e si può solo iniziare a usarli senza chiedere l'autorizzazione dell'utente. Ma le notifiche silenziose sono il meccanismo dietro l'app in background aggiornamento. In qualsiasi momento si sa che l'utente può andare nelle impostazioni e disabilitarli. Quindi non puoi dipendere dal fatto che siano sempre disponibili. Tu non sai se l'utente li spegne e non ricevi più una notifica . Ciò significa anche che le notifiche silenziose sono consegnate con il massimo sforzo. Ciò significa che quando la notifica arriva sul dispositivo dell'utente, il sistema effettuerà alcune scelte .

Per ulteriori vedere this image e this answer