Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questo argomento vengono illustrati i passaggi iniziali da seguire per risolvere i problemi che si verificano con le notifiche di tipo riquadro, toast e distintivo, inclusi i vari modi di notifica: locali, push, periodiche e pianificate.
Risoluzione degli errori specifici
Questa sezione risolve alcuni errori comuni che possono verificarsi durante l'uso delle notifiche push.
- Controllare i registri eventi
- La notifica push riceve una risposta "200 OK", ma non viene visualizzata
- La notifica push restituisce un codice diverso da "200 OK"
- Errori durante il tentativo di creare un canale di notifica push
Controllare i registri eventi
Se le notifiche push di tipo tile o toast non vengono visualizzate come previsto, esaminare i registri degli eventi.
- Se la notifica viene ricevuta ma non visualizzata: avviare il Visualizzatore eventi ed esaminare il registro Microsoft-Windows-TWinUI/Operational in Applicazioni e servizi\Microsoft\Windows\Apps.
- Se la notifica non viene ricevuta: avviare il Visualizzatore eventi ed esaminare il log operativo in Applicazioni e servizi\Microsoft\Windows\PushNotifications-Platform.
La notifica push riceve una risposta "200 OK", ma non viene visualizzata
Se Windows Push Notification Services (WNS) restituisce una risposta "200 OK", la notifica verrà recapitata al client se il client è online. Se è stato verificato che il client è online ma non visualizza la notifica, seguire questa procedura:
Causa: errori XML nel contenuto della notifica.
Correzione: verifica la sintassi XML di base e assicurati che il codice XML sia completo e corretto. Di seguito sono riportati alcuni punti comuni di errore nel contenuto XML:
- Case sensitivity. I nomi dei tag, i nomi degli attributi e i valori degli attributi sono sensibili al maiuscolo/minuscolo. Assicurati che il tuo codice XML abbia le maiuscole e minuscole corrette.
- Per ogni formato di riquadro supportato, deve essere fornito un elemento binding. Dovresti fornire un elemento binding per ogni dimensione del riquadro supportata in ogni notifica inviata.
- Le stringhe di testo non devono contenere caratteri XML riservati. Ad esempio, non è possibile formattare in corsivo le stringhe dei riquadri o delle notifiche includendo i tag <i> e </i>. Se intendi visualizzare i caratteri letterali "<i>", assicurati che siano correttamente preceduti da un carattere di escape. Per ulteriori informazioni sui caratteri di escape in XML, vedere Entità dei caratteri XML e XAML.
- I valori specificati per gli attributi lang di
devono essere conformi alla specifica ITEF BCP 47 . - Le stringhe XML inviate tramite notifiche push devono usare la codifica UTF-8.
- Se si include un elemento immagine nel payload XML con un attributo src non vuoto, è necessario assicurarsi di includere un riferimento a un'immagine valida, altrimenti la notifica verrà eliminata.
Causa: uso improprio dei parametri dell'API di notifica push
Correzione: vedere la documentazione dell'API nel namespace Windows.Networking.PushNotifications per ulteriori dettagli.
Causa: il tipo di intestazione non corrisponde al contenuto della notifica. Se l'intestazione X-WNS-Type non è impostata su un valore, ovvero riquadro, badge o avviso popup, che corrisponde al modello di notifica specificato nel payload, la notifica non verrà visualizzata. Questa mancata corrispondenza causerà un errore nel client e la notifica verrà eliminata.
Correzione: Fare riferimento alle intestazioni di richiesta e risposta del servizio di notifica push per assicurarsi che il server dell'app utilizzi il valore corretto per l'intestazione X-WNS-Type.
Causa: il valore TTL (Time To Live) impostato nell'intestazione X-WNS-TTL è troppo piccolo.
Correzione: fornire un valore TTL più grande, tenendo presente che il valore è dato in secondi.
Se la notifica non viene ancora visualizzata dopo aver risolto i problemi evidenziati nei passaggi precedenti, consultare la procedura di risoluzione dei problemi per le notifiche locali nella sezione di questo argomento intitolata 'La notifica riquadro locale non viene visualizzata' per ulteriori suggerimenti.
La notifica push restituisce un codice diverso da "200 OK"
Se WNS non restituisce "200 OK", la notifica non verrà recapitata al client. Se il codice di ritorno è tra i codici 400, allora tu, in qualità di sviluppatore, dovresti essere in grado di risolvere il problema.
Note
Per gli errori non elencati in modo specifico, vedere Codici di errore COM (WPN, MBN, P2P, Bluetooth).
- La richiesta di notifica restituisce "400 Richiesta non valida"
- La richiesta di notifica restituisce "401 Non autorizzato"
- La richiesta di notifica restituisce "401 Non autorizzato", il token è scaduto
- La richiesta di notifica restituisce "403 Accesso negato"
- La richiesta di notifica restituisce "404 Non trovato"
- La richiesta di notifica restituisce "406 Non accettabile"
- La richiesta di notifica restituisce "410 Gone"
La richiesta di notifica restituisce "400 Richiesta non valida"
Causa: l'uso di una o più intestazioni WNS potrebbe non essere corretto o la richiesta HTTP non è valida.
Correzione: Fare riferimento a alle intestazioni di richiesta e risposta del servizio di notifica push per assicurarsi che il server della tua app utilizzi tutte le intestazioni personalizzate, come descritto.
La richiesta di notifica restituisce "401 Non autorizzato"
Causa: il server app deve usare il SID del pacchetto corretto e la chiave privata assegnata all'utente durante la registrazione dell'app. Se la chiave privata è stata modificata di recente nel dashboard di Windows Store, sarà anche necessario aggiornare il server app.
Correzione: Vai a Windows Store Dashboard per verificare il SID e la chiave segreta del pacchetto.
La richiesta di notifica restituisce "401 Non autorizzato", il token è scaduto
Causa: un token di accesso ha una durata limitata. Se si invia una notifica con un token di accesso scaduto, le credenziali del server app non sono valide e non è possibile inviare la notifica.
Correzione: Richiedi un nuovo access token da WNS autenticandoti con WNS utilizzando il tuo Package Security Identifier (SID del pacchetto) e la chiave privata. Per ulteriori informazioni, consultare l'overview dei Servizi di notifica push di Windows (WNS)
La richiesta di notifica restituisce "403 Accesso negato"
Causa: questo errore si verifica quando il token di accesso presentato non corrisponde alle credenziali necessarie per inviare notifiche all'URL del canale corrispondente. Ogni app deve essere registrata in Windows Store per ricevere le credenziali per il server app. Per ogni app, solo le credenziali fornite da Windows Store possono essere usate per inviare notifiche a tale app e possono essere usate solo per tale app.
Correzione: Accedi alla Dashboard di Windows Store con il tuo account sviluppatore. Selezionare l'app e fare clic su "Funzionalità avanzate" -> "Gestisci le impostazioni del servizio cloud". Selezionare "Identificazione dell'app" per leggere le istruzioni sull'aggiornamento del manifesto dell'app in modo che corrispondano alle credenziali del servizio cloud.
La richiesta di notifica restituisce "404 Non trovato"
Causa: questo errore indica in genere che l'URL del canale non è formato correttamente. L'URL del canale non deve mai essere manomesso o modificato quando si invia una notifica a WNS. L'URL del canale deve essere sempre considerato come una stringa opaca. Non è mai necessario esaminarne o conoscerne il contenuto.
Correzione: Verificare che il codice non alteri in alcun modo l'URL del canale, né cambiando uno o più caratteri, né modificandone la codifica.
La richiesta di notifica restituisce "406 Non accettabile"
Causa: WNS prevede criteri di protezione per impedire che le app dannose influiscano negativamente sul servizio per altri utenti e sviluppatori. Un numero eccessivo di notifiche in un periodo di tempo troppo breve può comportare l'eliminazione esplicita delle notifiche da parte di WNS.
Correzione: Esamina la frequenza delle notifiche per verificare se può essere ridotta o ottimizzata per ottenere una migliore esperienza utente.
La richiesta di notifica restituisce "410 Gone"
Causa: l'URL del canale è scaduto. Non è possibile inviare altre notifiche finché non si esegue l'app e si richiede un nuovo URL del canale.
Correzione: l'app per Windows Store deve richiedere un URL del canale ogni volta che viene avviata. L'URL del canale assegnato non è garantito che rimanga invariato. Se l'URL è stato modificato, il client deve aggiornare le informazioni nel server cloud.
Errori durante il tentativo di creare un canale di notifica push
- La creazione di un canale di notifica genera un errore di ERROR_NO_NETWORK
- La creazione di un canale di notifica genera un errore WPN_E_CLOUD_INCAPABLE
- La creazione di un canale di notifica genera un errore WPN_E_INVALID_APP
Note
Per gli errori non elencati in modo specifico, vedere Codici di errore COM (WPN, MBN, P2P, Bluetooth).
La creazione di un canale di notifica genera un errore di ERROR_NO_NETWORK
Causa: WNS richiede una connessione Internet per creare un canale di notifica.
Correzione: controlla la connettività Internet.
La creazione di un canale di notifica genera un errore WPN_E_CLOUD_INCAPABLE
Causa: l'app non ha dichiarato la funzionalità Internet nel manifesto dell'app (package.appxmanifest).
Correzione: Assicurarsi che il file manifesto dell'app abbia dichiarato la funzionalità Internet. Nell'editor del manifesto di Visual Studio questa opzione è disponibile nella scheda Funzionalità come Internet (client). Per altre informazioni, vedere Funzionalità.
La creazione di un canale di notifica genera un errore WPN_E_INVALID_APP
Causa: l'app deve usare un nome di pacchetto valido. Se non ne hai ancora ricevuto uno, puoi ottenerlo tramite il portale di Windows Store in "Funzionalità avanzate".
Correzione: per informazioni dettagliate sul recupero di un identificatore di sicurezza del pacchetto (PKSID) per l'app di Windows Store, vedere panoramica di Windows Push Notification Services (WNS).
Segnalazione di un problema
Se hai provato le soluzioni suggerite in questo argomento e non hai risolto il problema, pubblica un messaggio nei forum Microsoft per discuterne con sviluppatori Microsoft e altre parti interessate.
Per le notifiche push, oltre a una descrizione del problema, potrebbe essere richiesto di fornire l'URL del canale e un esempio della risposta ricevuta da WNS, inclusi sia i codici di errore HTTP che le intestazioni HTTP. Esistono intestazioni specifiche che il server dell'applicazione deve registrare nei log quando si segnala un problema. Per ulteriori informazioni, vedere le intestazioni di richiesta e risposta del servizio di notifica push .