Informazioni su Hub di notifica

Hub di notifica di Azure offre un motore push facile da usare e con scalabilità orizzontale che consente di inviare notifiche a qualsiasi piattaforma (iOS, Android, Windows e così via) da qualsiasi back-end (cloud o locale). Hub di notifica funziona perfettamente per scenari aziendali e di consumo. Di seguito vengono forniti alcuni scenari di esempio:

  • Invio di notifiche sulle ultime notizie a milioni di utenti con bassa latenza.
  • Invio di coupon in base alla posizione a segmenti di utenti interessati.
  • Invio di notifiche sugli eventi a utenti o gruppi per applicazioni di media, sport, finanza e gioco.
  • Push di contenuti promozionali alle applicazioni per coinvolgere e offrire prodotti ai clienti.
  • Notificare agli utenti eventi aziendali, ad esempio nuovi messaggi ed elementi di lavoro.
  • Invio di codici per l'autenticazione a più fattori.

Informazioni sulle notifiche push

Le notifiche push sono una forma di comunicazione da app a utente in cui gli utenti delle app per dispositivi mobili ricevono una notifica di determinate informazioni desiderate, in genere in una finestra di dialogo o popup in un dispositivo mobile. Gli utenti scelgono in genere di visualizzare o chiudere il messaggio; la prima opzione consente di aprire l'app per dispositivi mobili che ha comunicato la notifica. Alcune notifiche sono invisibile all'utente, recapitate in background per consentire all'app di elaborare e decidere cosa fare.

Le notifiche push sono fondamentali per le app di consumo perché aumentano l'interesse e l'uso delle app, mentre per le app aziendali favoriscono la comunicazione di informazioni aziendali aggiornate. Sono la migliore forma di comunicazione tra app e utente perché consentono un notevole risparmio energetico per i dispositivi mobili, sono flessibili per i mittenti di notifiche e disponibili anche quando le applicazioni corrispondenti non sono attive.

Nota

Hub di notifica di Azure non supporta ufficialmente le notifiche push VOP (Voice Over Internet Protocol); Questo articolo descrive tuttavia come usare le notifiche VOIP APN tramite Hub di notifica di Azure.

Per altre informazioni sulle notifiche push per alcune piattaforme più comuni, vedere gli argomenti seguenti:

Come funzionano le notifiche push?

Le notifiche push vengono recapitate attraverso infrastrutture specifiche della piattaforma denominate Platform Notification System (PNS). Offrono funzionalità push di base per recapitare un messaggio a un dispositivo con un handle fornito e non hanno un'interfaccia comune. Per inviare una notifica a tutti i clienti nelle versioni Android, iOS e Windows di un'app, lo sviluppatore deve lavorare separatamente con Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM) e Windows Notification Service (WNS).

In particolare, ecco come funziona un push:

  1. Un'applicazione vuole ricevere una notifica, quindi contatta il PNS per la piattaforma di destinazione in cui l'app è in esecuzione e richiede un handle push univoco e temporaneo. Il tipo di handle dipende dal sistema, ad esempio WNS usa URI mentre per APNS usa i token.
  2. L'app client archivia l'handle nel provider o nel back-end dell'app.
  3. Per inviare una notifica push, il back-end dell'app contatta il PNS usando l'handle per individuare una specifica app client.
  4. Il PNS inoltra quindi la notifica al dispositivo specificato dall'handle.

Flusso di lavoro delle notifiche push

Difficoltà associate alle notifiche push

I PNS sono potenti. Richiedono tuttavia un grande impegno da parte degli sviluppatori di app per implementare anche i più comuni scenari di notifica push, come la trasmissione di notifiche push a utenti segmentati.

L'invio di notifiche push richiede un'infrastruttura complessa non correlata alla logica di business principale dell'applicazione. Alcune delle sfide dell'infrastruttura sono:

  • Dipendenza della piattaforma
    • Il back-end richiede logica complessa e difficile da gestire dipendente dalla piattaforma per inviare notifiche ai dispositivi su varie piattaforme, perché i servizi di rete non sono unificati.
  • Ridimensionamento
    • Per le linee guida PNS, i token del dispositivo devono essere aggiornati a ogni avvio dell'app. Il back-end si occupa di una grande quantità di traffico e dell'accesso al database solo per mantenere aggiornati i token. Se il numero di dispositivi cresce fino a raggiungere centinaia, migliaia o milioni di unità, i costi per la creazione e la gestione dell'infrastruttura diventano significativi.
    • La maggior parte dei sistemi PNS non supporta la trasmissione a più dispositivi. Una semplice trasmissione a un milione di dispositivi causa un milione di chiamate ai PNS. La scalabilità di questa quantità di traffico con latenza minima è molto complessa.
  • Routing
    • Sebbene i PNS forniscano un modo per inviare messaggi ai dispositivi, la maggior parte delle notifiche delle app è destinata a utenti o gruppi di interesse. Il back-end deve mantenere un registro per associare i dispositivi a gruppi di interesse, utenti, proprietà e così via. Questo sovraccarico comporta un aumento del tempo per il mercato e i costi di manutenzione di un'app.

Vantaggi di Hub di notifica di Azure

Hub di notifica elimina tutte le complessità associate all'invio di notifiche push autonomamente dal back-end dell'app. La sua infrastruttura di notifiche push multipiattaforma e con scalabilità orizzontale riduce la codifica correlata al push e semplifica il back-end. Con Hub di notifica, i dispositivi devono eseguire soltanto la registrazione dei propri handle PNS su un hub, mentre il back-end è responsabile dell'invio di messaggi a utenti o gruppi di interesse, come mostrato nella figura seguente:

Diagramma di Hub di notifica

Hub di notifica è il motore push pronto per l'uso con i vantaggi seguenti:

  • Multipiattaforma
    • Supporto per tutte le principali piattaforme push.
    • È dotato di un'interfaccia comune per effettuare il push a tutte le piattaforme in formati specifici o indipendenti dalla piattaforma senza un processo specifico per la piattaforma.
    • Consente di gestire l'handle di dispositivo in un solo posto.
  • Multi back-end
    • Cloud o locale.
    • .NET, Node.js, Java, Python e così via
  • Set completo di modelli di recapito
    • Trasmissione a una o più piattaforme: è possibile trasmettere immediatamente a milioni di dispositivi tra piattaforme con una singola chiamata API.
    • Push al dispositivo: è possibile inviare notifiche ai singoli dispositivi.
    • Push all'utente: tag e modelli consentono di raggiungere tutti i dispositivi multipiattaforma per un utente.
    • Eseguire il push nel segmento con tag dinamici: la funzionalità tag consente di segmentare i dispositivi e di eseguirne il push in base alle esigenze, indipendentemente dal fatto che si invii a un segmento o a un'espressione di segmenti (ad esempio, active AND vive a Seattle NOT nuovo utente). Anziché limitarsi alla sottoscrizione di pubblicazione, è possibile aggiornare i tag dei dispositivi ovunque e in qualsiasi momento.
    • Push localizzato: la funzionalità modelli consente di ottenere la localizzazione senza influire sul codice back-end.
    • Push non interattivo: consente di abilitare il modello push-to-pull inviando notifiche automatiche ai dispositivi, attivandoli in modo da completare determinati pull o azioni.
    • Push pianificato: è possibile pianificare l'invio delle notifiche in qualsiasi momento.
    • Push diretto: è possibile ignorare la registrazione dei dispositivi nel servizio Hub di notifica ed eseguire direttamente push in batch per un elenco di handle di dispositivo.
    • Push personalizzato: le variabili push del dispositivo consentono di inviare notifiche push personalizzate specifiche del dispositivo con coppie chiave-valore personalizzate.
  • Telemetria avanzata
    • I dati di telemetria generali di push, dispositivo, errore e operazione sono disponibili sia nel portale di Azure che a livello di codice.
    • I dati di telemetria per messaggio tengono traccia di ogni push dalla chiamata di richiesta iniziale al servizio Hub di notifica che invia correttamente i push.
    • Il feedback del sistema di notifica della piattaforma comunica tutti i commenti e suggerimenti dei PN per facilitare il debug.
  • Scalabilità
    • Invia messaggi veloci a milioni di dispositivi senza riprogettazione o partizionamento orizzontale del dispositivo.
  • Sicurezza
    • Firma di accesso condiviso (SAS) o autenticazione federata.

Passaggi successivi

Introduzione alla creazione e all'uso di un hub di notifica con l'esercitazione Eseguire il push delle notifiche alle applicazioni per dispositivi mobili.