Condividi tramite


Che cos'è Hub di notifica di Azure?

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 sia per gli scenari aziendali che per gli utenti consumer. Ecco alcuni scenari di esempio:

  • Inviare notifiche di notizie di rilievo a milioni di persone con bassa latenza.
  • Inviare coupon basati sulla posizione a segmenti di utenti interessati.
  • Inviare notifiche relative agli eventi a utenti o gruppi per applicazioni media/sport/finance/gaming.
  • Inviare contenuti promozionali alle applicazioni per coinvolgere e promuovere presso i clienti.
  • Notificare agli utenti eventi aziendali, ad esempio nuovi messaggi ed elementi di lavoro.
  • Inviare codici per l'autenticazione a più fattori.

Annotazioni

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

Che cosa sono le 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 in genere scelgono di visualizzare o ignorare il messaggio; scegliendo il primo apre l'applicazione 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 consumer per aumentare l'engagement e l'utilizzo delle app e per le app aziendali nella comunicazione di up-to-date informazioni aziendali. È la migliore comunicazione tra app e utente perché è efficiente per i dispositivi mobili, flessibile per i mittenti delle notifiche e disponibile quando le applicazioni corrispondenti non sono attive.

Annotazioni

Hub di notifica di Azure non supporta ufficialmente le notifiche push Voice Over Internet Protocol (VOIP); Tuttavia, questo articolo descrive come usare le notifiche VOIP APNS tramite Hub di notifica di Azure.

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

Come funzionano le notifiche push?

Le notifiche push vengono recapitate tramite infrastrutture specifiche della piattaforma denominate PNS (Platform Notification Systems ). 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).

A livello generale, ecco come funziona la notifica 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 gli URI mentre APNS usa i token.
  2. L'app client archivia questo handle nel back-end o nel provider dell'app.
  3. Per inviare una notifica push, il back-end dell'app contatta il PNS usando l'handle per specificare come destinazione un'app client specifica.
  4. Il PNS inoltra la notifica al dispositivo specificato dall'handle.

Flusso di lavoro di notifica push

Le sfide delle notifiche push

I PNS sono potenti. Tuttavia, lasciano molto lavoro allo sviluppatore dell'app per implementare anche scenari comuni di notifica push, ad esempio la trasmissione di notifiche push agli 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 su varie piattaforme, perché i servizi di rete non sono unificati.
  • Scala
    • Per linee guida PNS, i token del dispositivo devono essere aggiornati a ogni avvio dell'app. Il back-end gestisce una grande quantità di traffico e l'accesso al database solo per mantenere i token up-to-date. Quando il numero di dispositivi cresce fino a centinaia, migliaia o milioni, il costo di creazione e gestione di questa infrastruttura è elevato.
    • La maggior parte dei servizi di notifica push non supporta la trasmissione a più dispositivi. Una semplice trasmissione a un milione di dispositivi comporta un milione di chiamate al PNS. Il ridimensionamento di questa quantità di traffico con latenza minima non è un'operazione.
  • Instradamento
    • Anche se i servizi di rete forniscono 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.

Perché usare Hub di notifica di Azure?

Hub di notifica elimina tutte le complessità associate all'invio di notifiche push autonomamente dal back-end dell'app. L'infrastruttura di notifica push con scalabilità orizzontale multipiattaforma riduce il codice correlato al push e semplifica il back-end. Con Hub di notifica, i dispositivi sono semplicemente responsabili della registrazione degli handle PNS con un hub, mentre il back-end invia messaggi a utenti o gruppi di interesse, come illustrato nella figura seguente:

Diagramma di Hub di notifica

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

  • Compatibilità multipiattaforma
    • Supporto per tutte le principali piattaforme push.
    • Interfaccia comune per eseguire il push in tutte le piattaforme in formati specifici della piattaforma o indipendenti dalla piattaforma senza operazioni specifiche della piattaforma.
    • Gestione dispositivi in un unico luogo.
  • Back-end trasversali
    • Cloud o locale.
    • .NET, Node.js, Java, Python e così via.
  • Ricco insieme di schemi di consegna
    • Trasmissione a una o più piattaforme: è possibile trasmettere istantaneamente a milioni di dispositivi tra piattaforme con una singola chiamata API.
    • Push nel dispositivo: è possibile indirizzare le notifiche ai singoli dispositivi.
    • Invia 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 nuovo utente). 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 silenzioso: è possibile abilitare il modello push-to-pull inviando notifiche silenziose ai dispositivi e attivandole per completare determinate operazioni o azioni di recupero.
    • Push pianificato: è possibile pianificare l'invio delle notifiche in qualsiasi momento.
    • Push diretto: è possibile ignorare la registrazione dei dispositivi con il servizio Hub di notifica e eseguire direttamente il push in batch in 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.
  • Scalabilità
    • Inviare messaggi veloci a milioni di dispositivi senza riprogettazione o partizionamento orizzontale dei dispositivi.
  • sicurezza
    • Segreto di accesso condiviso (SAS) o autenticazione federata.

Passaggi successivi

Per iniziare a creare e usare un hub di notifica, vedere Esercitazione: Eseguire il push di notifiche alle applicazioni per dispositivi mobili.