Notifiche push sicure con Hub di notifica di Azure - Domande frequenti

Generali

Che cos'è la struttura di risorse di Hub di notifica?

Hub di notifica di Azure dispone di due livelli di risorse: hub e spazi dei nomi. Un hub è una singola risorsa push in grado di contenere le informazioni push multipiattaforma di un'app. Uno spazio dei nomi è una raccolta di hub in un'area. Il mapping consigliato abbina uno spazio dei nomi con un'unica app. In uno spazio dei nomi è possibile configurare un hub di produzione che funzioni con l'app di produzione, un hub di test che funzioni con l'app di test e così via.

Qual è il modello di prezzo di Hub di notifica?

Per informazioni dettagliate e aggiornate sui prezzi, vedere la pagina Prezzi di Hub di notifica. Hub di notifica viene fatturato a livello di spazio dei nomi. (Per la definizione di uno spazio dei nomi, vedere "Che cos'è la struttura di risorse di Hub di notifica?") Hub di notifica offre tre livelli:

  • Gratuito: questo livello è un buon punto di partenza per esplorare le funzionalità push. Non è consigliabile per le applicazioni di produzione. Si ottengono 500 dispositivi e 1 milione di push inclusi per sottoscrizione al mese, senza alcuna garanzia del contratto di servizio.
  • Basic: questo livello, come il livello Standard, è consigliato per piccole applicazioni di produzione. Si ottengono 200.000 dispositivi e 10 milioni di push inclusi per ogni sottoscrizione al mese come baseline.
  • Standard: livello consigliato per le applicazioni di produzione di medie o grandi dimensioni. Si ottengono 10 milioni di dispositivi e 10 milioni di push inclusi per sottoscrizione al mese come baseline. Include dati di telemetria avanzata. Vengono forniti dati aggiuntivi sullo stato di push.

Funzionalità del livello Standard:

  • Telemetria avanzata: è possibile usare Hub di notifica per la telemetria per messaggio per tenere traccia delle richieste push e i commenti di Platform Notification System per il debug.
  • Multi-tenancy: è possibile lavorare con le credenziali di Platform Notification System a livello di spazio dei nomi. Questa opzione consente di suddividere facilmente i tenant in hub all'interno del medesimo spazio dei nomi.
  • Push pianificati: è possibile le notifiche da inviare.
  • Operazioni in blocco: abilita la funzionalità di esportazione/importazione di registrazioni descritta nel documento Esportazione/importazione di registrazioni.

Qual è il contratto di servizio di Hub di notifica?

Per i livelli Basic e Standard di Hub di notifica, le applicazioni correttamente configurate possono inviare notifiche push o eseguire operazioni di gestione delle registrazioni almeno per il 99,9% del tempo. Per altre informazioni sul Contratto di servizio, visitare la pagina del contratto di servizio per Hub di notifica.

Nota

Poiché le notifiche push dipendono da Platform Notification System di terze parti, ad esempio Apple Push Notification Service (APN) e Firebase Cloud Messaging (FCM) di Google, non sono presenti contratti di servizio per la consegna di tali messaggi. Dopo che Hub di notifica ha inviato i batch a Platform Notification System, come garantito dal contratto di servizio, è Platform Notification System a dover recapitare i push, senza garanzia del contratto di servizio.

Come eseguire l'aggiornamento o il downgrade di un hub o di uno spazio dei nomi a un livello diverso?

Passare al portale di Azure>Spazi dei nomi di Hub di notifica o Hub di notifica. Selezionare la risorsa che si desidera aggiornare, quindi passare al piano tariffario. Tenere presenti i requisiti seguenti:

  • Il piano tariffario aggiornato si applica a tutti gli hub nello spazio dei nomi in uso.
  • Se il conteggio dei dispositivi supera il limite del livello a cui si passa, è necessario eliminare i dispositivi prima effettuare il downgrade.

Progettazione e sviluppo

Quali piattaforme sul lato server sono supportate?

Gli SDK server sono disponibili per .NET, Java, Node.js, PHP e Python. Le API di Hub di notifica si basano su interfacce REST, pertanto è possibile lavorare direttamente con le API REST se si usano piattaforme diverse o se non si desidera una dipendenza aggiuntiva. Per altre informazioni, vedere la pagina sulle API REST di Hub di notifica.

Quali piattaforme client sono supportate?

È supportato l'invio di notifiche push alle piattaforme iOS, Android, Windows Universal, Windows Phone, Android China (tramite Baidu), Xamarin iOS e Android e Safari. Per altre informazioni, vedere la pagina Introduzione ad Hub di notifica.

Sono supportate le notifiche via SMS, messaggi di posta elettronica o Web?

Hub di notifica invia notifiche ai dispositivi che eseguono app per dispositivi mobili. Non offre funzionalità di posta elettronica o SMS. Hub di notifica non fornisce neanche un servizio predefinito per il recapito di notifiche push all'interno del browser. I clienti possono implementare questa funzionalità mediante SignalR su piattaforme sul lato server supportate.

Quanti dispositivi sono supportati se si inviano notifiche push tramite Hub di notifica?

Per informazioni dettagliate sul numero di dispositivi supportati, vedere la pagina Prezzi di Hub di notifica.

Se è necessario il supporto per più di 10 milioni di dispositivi registrati, i dispositivi devono essere partizionati in più spazi dei nomi.

Quante notifiche push si può inviare?

A seconda del piano selezionato, Hub di notifica di Azure passa automaticamente a un piano superiore in base al numero di notifiche inviate nel sistema.

Nota

Il costo di utilizzo generale può aumentare in base al numero di notifiche push inviate. È importante conoscere i limiti dei piani descritti nella pagina Prezzi di Hub di notifica.

I clienti usano Hub di notifica per inviare milioni di notifiche push ogni giorno. Non è necessario eseguire alcuna operazione particolare per ridimensionare la copertura delle notifiche push, purché si usi Hub di notifica di Azure.

Quanto tempo occorre perché le notifiche push inviate raggiungano il dispositivo?

In uno scenario di utilizzo normale, dove il carico in ingresso è piuttosto coerente e uniforme, Hub di notifica di Azure è in grado di elaborare almeno 1 milione di invii di notifiche push al minuto. Questa velocità può variare in base al numero di tag, alla natura delle trasmissioni in ingresso e ad altri fattori esterni.

Nell'intervallo di tempo stimato per il recapito, il servizio calcola le destinazioni per piattaforma e instrada i messaggi al Push Notification Service (PNS) in base ai tag/espressioni tag registrati. È responsabilità del PNS inviare le notifiche al dispositivo.

Il PNS non garantisce alcun Contratto di servizio per il recapito delle notifiche. Tuttavia, la maggior parte delle notifiche push vengono recapitate ai dispositivi di destinazione entro pochi minuti (in genere entro 10 minuti) dal momento in cui vengono inviati a Hub di notifica. Alcune notifiche potrebbero richiedere più tempo.

Nota

Hub di notifica di Azure include anche un criterio per l'eliminazione delle notifiche che non vengono recapitate al PNS entro 30 minuti. Questo ritardo può verificarsi per diversi motivi, più comunemente perché il PNS sta rallentando l'applicazione.

La latenza è garantita?

Data la natura delle modifiche push, che vengono recapitate da un PNS esterno specifico di una piattaforma, non esiste alcuna garanzia di latenza. In genere, la maggior parte delle notifiche push viene recapitata entro pochi minuti.

Dove archivia i dati Hub di notifica di Azure?

Hub di notifica di Azure archivia i dati di registrazione dei clienti nell'area selezionata dal cliente. Hub di notifica fornisce la copertura del ripristino di emergenza dei metadati (nome, stringa di connessione e altre informazioni fondamentali di Hub di notifica). Per tutte le aree tranne Brasile meridionale e Asia sud-orientale, il backup dei metadati è ospitato in un'area diversa (in genere l'area associata di Azure). Per le aree Brasile meridionale e Asia sud-orientale, i backup vengono archiviati nella stessa area per rispettare i requisiti di residenza dei dati per queste aree.

Quali sono gli aspetti da considerare per la progettazione di una soluzione con spazi dei nomi e hub di notifica?

Ambiente/app per dispositivi mobili

  • Usare un hub di notifica per ogni app per dispositivi mobili per ogni ambiente.
  • In uno scenario multi-tenant, ogni tenant dovrebbe avere un hub separato.
  • Non condividere mai lo stesso hub di notifica fra ambienti di produzione e test. Ciò potrebbe causare problemi durante l'invio delle notifiche. Apple offre endpoint Sandbox e Production Push, che hanno credenziali separate.
  • Per impostazione predefinita, è possibile inviare notifiche ai dispositivi registrati tramite il portale di Azure o il componente integrato di Azure in Visual Studio. La soglia è impostata su 10 dispositivi, che vengono selezionati in modo casuale dal pool di registrazione.

Nota

Se l'hub è stato originariamente configurato con un certificato Sandbox Apple e successivamente è stato riconfigurato per usare un certificato di produzione Apple, i token del dispositivo originale non sono validi. I token non validi determinano la mancata riuscita del push. Separare l'ambiente di test da quello di produzione e usare hub diversi per ambienti diversi.

Credenziali PNS

Quando un'app per dispositivi mobili viene registrata con il portale per sviluppatori della piattaforma (ad esempio Apple o Google), vengono inviati un identificatore app e i token di sicurezza. Il back-end di app fornisce questi token al PNS della piattaforma, in modo che possano essere inviate notifiche push ai dispositivi. I token di sicurezza possono essere sotto forma di certificati (ad esempio Apple iOS o Windows Phone) o chiavi di sicurezza (ad esempio Google Android o Windows). Devono essere configurati in hub di notifica. La configurazione viene eseguita in genere a livello di hub di notifica, ma può essere eseguita anche a livello di spazio dei nomi in uno scenario multi-tenant.

Namespaces (Spazi dei nomi)

Gli spazi dei nomi possono essere usati anche per il raggruppamento di distribuzione. Possono essere usati anche per rappresentare tutti gli hub di notifica per tutti i tenant della stessa app in uno scenario multi-tenant.

Distribuzione geografica

La distribuzione geografica non è sempre fondamentale negli scenari di notifiche push. Vari PNS (ad esempio APN o FCM) che recapitano notifiche push ai dispositivi non sono distribuiti uniformemente.

Se si ha un'applicazione che viene usata a livello globale, è possibile creare hub in vari spazi dei nomi tramite il servizio Hub di notifica in diverse aree di Azure nel mondo.

Nota

Tuttavia non si consiglia di farlo, perché in questo modo aumenta il costo di gestione, in particolare per le registrazioni. Si consiglia di farlo solo se vi è l'esigenza esplicita.

Le registrazioni devono essere eseguite dal back-end dell'app o direttamente tramite i dispositivi client?

Le registrazioni dal back-end dell'app sono utili quando è necessario autenticare i client prima di creare la registrazione. Sono utili anche quando è necessario creare o modificare tag dal back-end dell'app in base alla logica dell'applicazione. Per altre informazioni, vedere le pagine Registrazione dal back-end dell'app e Guida alla registrazione del back-end 2.

Qual è il modello di sicurezza del recapito di notifiche push?

Hub di notifica di Azure usa un modello di sicurezza basato sulla firma di accesso condiviso. È possibile usare i token di firma di accesso condiviso a livello di spazio dei nomi radice o a livello di hub di notifica granulare. I token di firma di accesso condiviso possono essere impostati in modo da seguire regole di autorizzazione diverse, ad esempio per inviare le autorizzazioni di messaggi o per ascoltare le autorizzazioni di notifica. Per altre informazioni, vedere il documento sul modello di sicurezza di Hub di notifica.

Come si gestisce un payload sensibile nelle notifiche push?

Tutte le notifiche vengono recapitate ai dispositivi di destinazione dal PNS della piattaforma. Quando una notifica viene inviata a Hub di notifica di Azure, viene elaborata e passata al rispettivo PNS.

Tutte le connessioni, dal mittente a Hub notifiche di Azure al PNS, usano HTTPS.

Nota

Hub notifica di Azure non registra il payload dei messaggi.

Per l'invio di payload sensibili è consigliabile usare un modello push sicuro. Il mittente invia una notifica ping con un identificatore di messaggio al dispositivo senza il payload sensibile. Quando l'app sul dispositivo riceve il payload, l'applicazione chiama un'API sicura direttamente per recuperare i dettagli del messaggio. Per informazioni di guida su come implementare questo modello, vedere la pagina sull'esercitazione relativa al push sicuro di Hub di notifica.

Operazioni

Quale supporto è fornito per il ripristino di emergenza?

Tutti i dati vengono archiviati in formato crittografato?

Hub di notifica di Azure crittografa tutti i dati inattivi dei clienti, a eccezione dei tag di registrazione. Per questo motivo, non è consigliabile archiviare i dati personali o riservati usando i tag.

È disponibile una funzionalità di log di controllo?

Sì. Tutte le operazioni di gestione di Hub di notifica aggiornano il log attività di Azure, esposto nel portale di Azure. Il log attività di Azure offre informazioni approfondite sulle operazioni eseguite sulle risorse nelle sottoscrizioni. L'uso del log attività consente di acquisire informazioni dettagliate su qualsiasi operazione di scrittura (PUT, POST, DELETE) eseguita sulle risorse nella sottoscrizione. È anche possibile comprendere lo stato delle operazioni e altre proprietà pertinenti. Tuttavia... il log attività non include operazioni di lettura (GET).

Monitoraggio e risoluzione dei problemi

Quali funzionalità di risoluzione dei problemi sono disponibili?

Hub di notifica di Azure fornisce numerose funzionalità per la risoluzione dei problemi, in particolare nello scenario frequente delle notifiche eliminate. Per informazioni dettagliate, vedere il white paper sulla risoluzione dei problemi relativi a Hub di notifica.

Sono disponibili le funzionalità di telemetria?

Hub di notifica di Azure consente la visualizzazione dei dati di telemetria nel portale di Azure. Per informazioni dettagliate sulle metriche, vedere la pagina relativa alle metriche di Hub di notifica.

È anche possibile accedere alle metriche a livello di codice. Per altre informazioni, vedere gli articoli seguenti:

Nota

La riuscita delle notifiche indica solo che le notifiche push sono state recapitate al PNS esterno (ad esempio, APN per iOS e macOS o FCM per i dispositivi Android). È responsabilità del PNS inviare le notifiche ai dispositivi di destinazione. In genere il PNS non espone le metriche di recapito a terze parti.