Generale
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. Notification Hubs viene fatturato a livello di namespace. (Per la definizione dello spazio dei nomi, vedere "Che cos'è la struttura delle risorse di Notification Hubs?") Notification Hubs offre tre livelli:
- Gratuito: questo livello è un buon punto di partenza per esplorare le funzionalità push. Non è consigliabile per le applicazioni di produzione. Sono inclusi 500 dispositivi e 1 milione di notifiche push per abbonamento al mese, senza alcuna garanzia di accordo sul livello di servizio (SLA).
- Basic: questo livello, come il livello Standard, è consigliato per piccole applicazioni di produzione. Sono inclusi 200.000 dispositivi e 10 milioni di push per abbonamento al mese come base.
- Standard: livello consigliato per le applicazioni di produzione di medie o grandi dimensioni. Sono inclusi 10 milioni di dispositivi e 10 milioni di notifiche push per ogni abbonamento, ogni mese, come dotazione base. Include dati di telemetria avanzati (sono disponibili altri dati sullo stato del 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 utilizzare le credenziali di Platform Notification System a livello di namespace. Questa opzione consente di suddividere facilmente i tenant in hub all'interno del medesimo spazio dei nomi.
- Invii programmati: Puoi programmare l'invio delle notifiche in qualsiasi momento.
- 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 saperne di più sullo SLA, vai alla pagina Notification Hubs SLA.
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 Notification Hubs invia i batch ai Platform Notification Systems (SLA garantito), è responsabilità dei Platform Notification Systems recapitare le notifiche push (nessuno SLA garantito).
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 con cui stai lavorando.
- 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?
Le notifiche push sono supportate per iOS, Android, Windows Universal, Windows Phone, Android China (tramite Baidu) 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. Notification Hubs inoltre non fornisce un servizio pronto all'uso per la distribuzione di notifiche push nel 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 hai bisogno del supporto per più di 10 milioni di dispositivi registrati, devi suddividere i dispositivi tra più namespace.
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 molte ragioni, ma la causa più comune è che il PNS sta limitando la velocità dell'applicazione.
La latenza è garantita?
Data la natura delle notifiche push, che vengono consegnate da un PNS esterno specifico della piattaforma, non esiste alcuna garanzia di latenza. In genere, la maggior parte delle notifiche push viene consegnata 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. Notification Hubs offre il supporto per il ripristino di emergenza dei metadati (il nome di Notification Hubs, la stringa di connessione e altre informazioni critiche). 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)
I namespace possono essere utilizzati per il raggruppamento delle distribuzioni. 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, visitare le pagine Linee guida per la registrazione del back-end e Linee guida per la 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 di 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 una guida su come implementare questo pattern, vai alla pagina del tutorial Secure Push di Notification Hubs.
Operazioni
Quale supporto è fornito per il ripristino di emergenza?
Vedi Affidabilità in Hub di notifica di Azure.
Per i passaggi nel portale per configurare il ripristino di emergenza in un namespace esistente, vedere Abilitare il ripristino di emergenza per un namespace esistente.
Tutti i dati vengono archiviati in formato crittografato?
Hub di notifica di Azure crittografa tutti i dati dei clienti archiviati, ad 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 le operazioni di lettura (GET).
Hub di notifica rileva le disinstallazioni?
Se si memorizza il dispositivo come Registration, la prima volta in cui viene effettuato un invio a tale registrazione e PNS risponde con un codice di stato di errore che indica che il dispositivo non è valido, il dispositivo viene eliminato dall'hub delle notifiche.
Se i dispositivi sono stati archiviati utilizzando le Installation API, in questo scenario non vengono eliminati. Questa decisione è stata presa per preservare i tag e altri metadati su un utente specifico che potrebbero essere rilevanti se l'utente procedere con la reinstallazione.
Per le registrazioni e le installazioni, è possibile impostare una scadenza in modo tale che venga effettuata la pulizia del dispositivo automaticamente in un momento specifico. Un modello comune consiste nel fare in modo che l'applicazione client aggiorni la data di scadenza una volta al giorno per adattarla alle tempistiche di utilizzo effettive da parte dell'utente.
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:
- Recuperare le metriche di Monitoraggio di Azure con .NET. Questo esempio usa il nome utente e la password. Per usare un certificato, eseguire l'overload del metodo FromServicePrincipal per fornire un certificato, come illustrato in questo esempio.
- Acquisizione di metriche e log attività per una risorsa
- Guida dettagliata all'API REST di Azure Monitor
Nota
Le notifiche riuscite significano semplicemente che le notifiche push sono state recapitate al PNS esterno (ad esempio, APNs per iOS e macOS o FCM per 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.