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.
  • Notifica agli utenti di eventi aziendali, ad esempio nuovi messaggi e elementi di lavoro.
  • Invio di codici per l'autenticazione a più fattori.

Nota

Per informazioni sui passaggi di deprecazione e migrazione di Firebase Cloud Messaging, vedere Migrazione di Google Firebase Cloud Messaging.

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 dietro le quinte dell'app per 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 di Voice Over Internet Protocol (VOIP); Questo articolo descrive tuttavia come usare le notifiche VOIP di APNS 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 in tutte le versioni Android, iOS e Windows di un'app, lo sviluppatore deve lavorare separatamente con Il servizio di notifica push apple (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 una logica dipendente dalla piattaforma complessa e difficile da gestire per inviare notifiche ai dispositivi in varie piattaforme, poiché i servizi di sicurezza di rete non sono unificata.
  • Ridimensionamento
    • Per linee guida PNS, i token del dispositivo devono essere aggiornati in 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
    • Anche se i PNS forniscono un modo per inviare messaggi ai dispositivi, la maggior parte delle notifiche delle app è destinata agli utenti o ai gruppi di interesse. Il back-end deve mantenere un registro per associare i dispositivi ai gruppi di interesse, agli utenti, alle proprietà e così via. Questo sovraccarico aggiunge al tempo ai costi di mercato e manutenzione di un'app.

Vantaggi di Hub di notifica di Azure

Hub di notifica elimina tutte le complessità associate all'invio di notifiche push personalizzate 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 avanzato di modelli di recapito
    • Trasmettere 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: i tag e i 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 proprie esigenze, indipendentemente dal fatto che si invii a un segmento o a un'espressione di segmenti (ad esempio, active AND vive a Seattle NOT new user). Invece di essere limitato alla sottoscrizione di pubblicazione, è possibile aggiornare i tag del dispositivo 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 le notifiche da inviare 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 dei dispositivi consentono di inviare notifiche push personalizzate specifiche del dispositivo con coppie chiave-valore personalizzate.
  • 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.