Share via


Problembehandlung für Kachel-, Popup- und Signalbenachrichtigungen (Windows-Runtime-Apps)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

In diesem Thema werden initiale Problembehandlungsschritte beschrieben, die Sie ausführen sollten, wenn Sie ein Problem mit Kachel-, Popup- und Signalbenachrichtigungen erkennen. Dies schließt auch die zahlreichen Benachrichtigungsmethoden wie lokale Benachrichtigungen, Pushbenachrichtigungen sowie regelmäßige und geplante Benachrichtigungen ein.

Problembehandlung für Kachelbenachrichtigungen

In diesem Abschnitt werden gängige Fehler erläutert, die bei der Arbeit mit Kacheln und Kachelvorlagen auftreten können. Sofern nicht anders angegeben, gelten die Lösungen jeweils für alle Arten der Benachrichtigungsübermittlung (lokal, geplant, regelmäßig oder Pushbenachrichtigung).

Keine Anzeige der lokalen Kachelbenachrichtigung

Am häufigsten ist dieses Problem darauf zurückzuführen, dass zum Definieren der Benachrichtigung fehlerhafter XML-Code verwendet wurde. Es kommen aber auch andere Ursachen infrage, die Sie ebenfalls anhand der folgenden Schritte überprüfen können:

  • Überprüfen der Benutzereinstellungen
  • Angeben von Ressourcen für breite oder große Logos im App-Manifest
  • Überprüfen der Bildgrößen
  • Überprüfen der URLs
  • Untersuchen der Bildformate
  • Überprüfen der XML-Syntax
  • Überprüfen der Ablaufzeit der Benachrichtigung
  • Sicherstellen, dass die Benachrichtigungswarteschlange aktiviert ist

Überprüfen der Benutzereinstellungen

Mögliche Ursache: Der Benutzer oder Administrator hat Benachrichtigungen deaktiviert. Überprüfen Sie, ob auf der App-Leiste der App eine Option wie Live-Kachel aktivieren/deaktivieren vorhanden ist und ob die Live-Kachel damit deaktiviert wurde. Der Administrator kann über verschiedene Gruppenrichtlinien Benachrichtigungen deaktivieren. Vergewissern Sie sich beim Administrator, dass Benachrichtigungen aktiviert sind.

Fix: Aktivieren Sie Benachrichtigungen über die App-Leiste, oder bitten Sie einen Administrator, Benachrichtigungen über Gruppenrichtlinien zu aktivieren.

Weitere Informationen finden Sie unter TileUpdater.setting.

Angeben von Ressourcen für breite oder große Logos im App-Manifest

Mögliche Ursache: Das App-Manifest hat kein Standardkachel-Ressourcenbild für die in der Benachrichtigung angegebene Kachelgröße angegeben. Wenn beispielsweise kein Kachelbild mit Standardbreite bereitgestellt wird, werden auf der Kachel keine breiten Benachrichtigungsvorlagen angezeigt. Idealerweise sollten Kachelbenachrichtigungen für alle möglichen Kachelgrößen Vorlagen in der Benachrichtigungsnutzlast bereitstellen, da der Absender generell nicht wissen kann, welche Kachelgröße bei Ankunft der Benachrichtigung verwendet wird, sofern für die Kachel nicht absichtlich nur ein mittelgroßes Bild verwendet wird. Diese Einstellung wird vom Benutzer festgelegt.

Fix: Stellen Sie in Ihrer Benachrichtigungs-Nutzlast für jede Art von standardmäßigem Logobild aus Ihrem Manifest eine Version des Updates bereit. Ihre Kachel kann auf jede Größe vergrößert/verkleinert werden, für die ein standardmäßiges Logobild vorhanden ist.

Überprüfen der Bildgrößen

Mögliche Ursache: Jedes Bild in einer Benachrichtigung muss kleiner als 1024 x 1024 Pixel und 200 KB sein. Wenn ein Bild in einer Benachrichtigung eine dieser Abmessungen überschreitet, wird die Benachrichtigung verworfen.

Fix: Verkleinern Sie die Bilder.

Weitere Informationen finden Sie unter Größe von Kachel- und Popupbildern.

Überprüfen der URLs

Mögliche Ursache: URL-Syntaxfehler.

Bilder in Benachrichtigungen werden über einen Ressourcenverweis oder über einen Literalpfad angegeben. Wenn ein Pfad verwendet wird, muss dieser mit einem der drei folgenden Protokolle angegeben werden:

Präfix Verwendung Hinweise
http:// und https:// Online gespeicherte Bilder

Diese Bilder werden möglicherweise lokal zwischengespeichert, sodass der Bildserver keine Anforderung für das Bild erhält. An diese URLs können Abfragezeichenfolgen angefügt werden. Stellen Sie sicher, dass Ihr Webserver anstelle eines 404-Fehlers das Originalbild zurückgibt, wenn Sie sich dafür entscheiden, die Abfragezeichenfolge zu ignorieren. Beispiel für eine Abfragezeichenfolge: ?scale=100&contrast=blk&lang=en-US

Beachten Sie, dass im App-Manifest die Funktion "Internet (Client)" deklariert sein muss, damit die App Benachrichtigungen aus dem Internet empfangen kann.

"ms-appx:///" Im Paket der App enthaltene Bilder Diese Bilder sind Teil der App-Installation. Beachten Sie, dass für diesen Verweis ein dreifacher Schrägstrich hinter dem Doppelpunkt erforderlich ist. Nach diesem dreifachen Schrägstrich akzeptiert der URI (Uniform Resource Identifier) als Trennzeichen für die Ordner in einem Pfad einen Schrägstrich (/) oder einen umgekehrten Schrägstrich (\). In den meisten Programmiersprachen müssen Sie bei Angabe eines umgekehrten Schrägstrichs jedoch ein Escapezeichen verwenden (\\).
"ms-appdata:///local/" Lokal von der App gespeicherte Bilder Dieser Speicherort entspricht dem mit Windows.Storage.ApplicationData.current.localFolder zurückgegebenen Ordner. Beachten Sie, dass für diesen Verweis ein dreifacher Schrägstrich hinter dem Doppelpunkt erforderlich ist. Für Ordnertrennzeichen im Pfad müssen Escapezeichen verwendet werden (\\).

 

Hinweis  Das Zeichen "/" kann in allen Spezifikationstypen als Trennzeichen verwendet werden. Wir empfehlen, immer "/" anstelle von "\" zu verwenden, um unbeabsichtigte Verwechslungen mit Escapezeichen zu vermeiden.

 

Wohlgeformte Beispiele:

URL
https://www.contoso.com/icon.jpg
ms-appx:///images/icon.png
ms-appdata:///local/myDrawing.jpg

 

Falsch geformte Beispiele:

URL Hinweise
https://www.contoso.com\fail.png In einem HTTP-Pfad muss das Zeichen "/" verwendet werden. Verwenden Sie nicht das Zeichen "\".
http:www.contoso.com In einem HTTP-Pfad ist ein doppelter Schrägstrich ("//") hinter dem Doppelpunkt erforderlich.
"ms-appdata:///local/c:\\images\\Drawing.jpg" Eine App kann nicht auf Bilder außerhalb ihres lokalen Speichers verweisen.
"ms-appx://images/triangle.png" Verwenden Sie für "ms-appx:" anstelle eines doppelten Schrägstrichs einen dreifachen Schrägstrich.

 

Untersuchen der Bildformate

Mögliche Ursache: Das Format der Bilder wird nicht unterstützt.

Für Benachrichtigungen können nur Bilder in den Formaten GIF, PNG oder JPG bzw. JPEG verwendet werden. Das Format des Bilds muss außerdem der Erweiterung entsprechen. Es reicht nicht aus, eine Datei mit einer unterstützten Erweiterung lediglich umzubenennen.

Die häufigste Ursache von Bildformatfehlern ist die Serialisierung von Bitmaps im Windows.Storage.ApplicationData.current.localFolder-Speicher. Achten Sie darauf, Ihr bevorzugtes Format aufzurufen. Andernfalls wird das Bild als Windows-Bitmap gespeichert, und der Header enthält den nicht unterstützten Typ "BMP".

Überprüfung: Stellen Sie zunächst sicher, dass Sie eine nur aus Text bestehende Benachrichtigung erfolgreich senden können, um das Problem auf das Bild einzugrenzen. Eine Möglichkeit zur Überprüfung des Bildformats besteht darin, das Bild in einem Bildverarbeitungsprogramm zu laden und es als JPG-Datei zu speichern. Wenn Sie in der Benachrichtigung auf diese neue JPG-Datei verweisen und der Fehler nicht mehr auftritt, lag vermutlich ein Bildformatfehler vor. Sie können die Datei auch im Binär-Editor von Microsoft Visual Studio öffnen und den Header untersuchen.

Fix: Ändern oder korrigieren Sie die Bildformate.

Überprüfen der XML-Syntax und des Inhalts

Mögliche Ursache: XML-Syntaxfehler oder Überprüfungsfehler.

Stellen Sie abgesehen von der grundlegenden Syntax sicher, dass die XML-Inhalte vollständig und korrekt sind – insbesondere, wenn Sie die Nutzlast ohne Verwendung der APIs oder der NotificationsExtensions-Bibliothek als Zeichenfolge konstruiert haben. Folgende Punkte führen bei XML häufig zu Fehlern:

  • Groß- und Kleinschreibung. Bei Tagnamen, Attributnamen und Attributwerten muss die Groß- und Kleinschreibung beachtet werden. Stellen Sie sicher, dass im XML-Code die richtige Groß-/Kleinschreibung verwendet wird.
  • Für jede Kachelgröße muss ein binding-Element vorhanden sein. Stellen Sie in jeder gesendeten Benachrichtigung für jede der unterstützten Kachelgrößen (also für die Logobilder, die Sie in Ihrem Manifest angegeben haben) ein binding-Element bereit.
  • Textzeichenfolgen sollten keine reservierten XML-Zeichen enthalten. Sie können Zeichenfolgen auf der Kachel z. B. nicht durch Hinzufügen der Tags <i> und </i> kursiv formatieren. Wenn Sie die Literalzeichen "<i>" anzeigen möchten, müssen diese richtig zwischen Escapezeichen gesetzt werden. Weitere Informationen zu Ecapezeichen in XML finden Sie im Artikel zu XML-Zeichenentitäten und XAML.
  • Die für die lang-Attribute angegebenen Werte müssen der ITEF BCP 47-Spezifikation entsprechen.
  • Bei lokal erstellten XML-Zeichenfolgen (für lokale oder geplante Benachrichtigungen) muss die UTF-16-Codierung verwendet werden. Bei Textzeichenfolgen, die per Pushbenachrichtigung gesendet oder von einer URL abgefragt werden, ist UTF-8 erforderlich.
  • Wenn Sie in der XML-Nutzlast ein image-Element mit einem nicht leeren src-Attribut verwenden, müssen Sie einen Verweis auf ein gültiges Bild hinzufügen, da die Benachrichtigung sonst verworfen wird.

Sie können auch das Ereignisprotokoll auf Fehler überprüfen, wenn die Kachelbenachrichtigung nicht angezeigt wird. Suchen Sie in der Ereignisanzeige (Anwendungs- und Dienstprotokolle > Microsoft > Windows > Apps > Microsoft-Windows-TWinUI/Betriebsbereit) nach Ereignissen, die Ihre Kachelbenachrichtigung betreffen.

Überprüfung: Suchen Sie mit einer XML-Syntaxprüfung wie beispielsweise dem Visual Studio-Editor nach grundlegenden Syntaxfehlern. Überprüfen Sie im jeweiligen Vorlagenverweis (TileTemplateType), ob die richtige Anzahl von Bildern vorhanden ist und die Bilder dem richtigen Bildindex zugewiesen wurden.

Fix: Ändern Sie den XML-Code, oder verwenden Sie eine andere Vorlage, die dem Inhalt entspricht. Verwenden Sie ggf. auch die NotificationsExtensions-Bibliothek, um eine direkte Manipulation des XML-Codes zu vermeiden.

Sicherstellen, dass die Benachrichtigung nicht abgelaufen ist

Mögliche Ursache: Die Ablaufzeit ist auf einen zu kleinen Wert festgelegt.

Wenn Sie die Ablaufzeit in der Benachrichtigung über die expirationTime-Methode (bei einer lokalen Benachrichtigung) oder das X-WNS-TTL-Headerfeld (bei einer Pushbenachrichtigung) festlegen, beachten Sie, dass die Werte Millisekunden darstellen. Wenn eine Kachelbenachrichtigung beispielsweise genau eine Stunde lang gelten soll, lautet der Wert 60 * 60 * 1000 = 3600000.

Fix: Verwenden Sie einen größeren Wert.

Sicherstellen, dass die Benachrichtigungswarteschlange aktiviert ist, wenn der Benachrichtigungszyklus ausgewählt wurde

Mögliche Ursache: Die Benachrichtigungswarteschlange für Kacheln ist nicht aktiviert.

Standardmäßig zeigen Kacheln nur ein Update auf einmal an, sodass eine neu eintreffende Benachrichtigung die vorhandene ersetzt. Wenn die letzten fünf Benachrichtigungen abwechselnd angezeigt werden sollen, müssen Sie im Initialisierungscode der App TileUpdater.enableNotificationQueue(true) aufrufen. Dies ist während der gesamten Lebensdauer der App nur einmal erforderlich. Weitere Informationen finden Sie unter So wird's gemacht: Verwenden der Benachrichtigungswarteschlange mit lokalen Benachrichtigungen.

Lösung: Rufen Sie enableNotificationQueue(true) im Initialisierungscode auf. Achten Sie außerdem darauf, dass die Benachrichtigungstags eindeutig sind.

Problembehandlung für geplante Benachrichtigungen

Eine geplante Kachel oder ein geplantes Popup wird nicht angezeigt

Mögliche Ursache: Wenn Sie beobachten, dass Kachelupdates oder Popupbenachrichtigungen nicht angezeigt werden, ist in den meisten Fällen der XML-Inhalt der Benachrichtigung nicht richtig formatiert. Geplante Kachel- und Popupbenachrichtigungen müssen ebenso wie nicht geplante Benachrichtigungen den XML-Schemas für Kacheln und Popups entsprechen.

Fix: Testen Sie den XML-Code mit einer lokalen Benachrichtigung als erster Schritt beim Debuggen von Übermittlungsproblemen im Zusammenhang mit geplanten Benachrichtigungen. Weitere Informationen finden Sie unter dem Abschnitt Keine Anzeige der lokalen Kachelbenachrichtigung oder Keine Anzeige der lokalen Popupbenachrichtigung in diesem Thema.

Fehler beim Aufruf der AddToSchedule-Methode durch die App

Mögliche Ursache: Sie haben die maximal zulässige Anzahl von geplanten Benachrichtigungen überschritten.

Fix: Sowohl bei TileUpdater.addToSchedule als auch bei ToastNotifier.addToSchedule treten Fehler auf, wenn Sie versuchen, mehr als 4096 Benachrichtigungen zu planen. Reduzieren Sie die Anzahl der geplanten Benachrichtigungen.

Mögliche Ursache: Die Benachrichtigung ist für einen Zeitpunkt geplant, der relativ zur aktuellen Zeit der Systemuhr in der Vergangenheit liegt.

Fix: Stellen Sie sicher, dass der geplante Benachrichtigungszeitpunkt in der Zukunft liegt. Überprüfen Sie die Zeit der Systemuhr.

Problembehandlung für regelmäßige (abgefragte) Benachrichtigungen

Periodische Benachrichtigungen bewirken kein Update der Kachel oder des Signals

Es können Probleme auftreten, die die Anzeige periodischer Benachrichtigungen verhindern:

  • Der Webdienst gibt kein gültiges XML-Dokument zurück, das dem XML-Schema für Kacheln entspricht. Wenn Sie bei der Implementierung periodischer Benachrichtigungen Probleme haben, prüfen Sie zunächst, ob der XML-Code der Kachel richtig formatiert ist. Wir empfehlen als ersten Schritt beim Debuggen aufgrund eines Problems mit periodischen Benachrichtigungen, den XML-Code mit einer lokalen Benachrichtigung zu testen. Weitere Informationen finden Sie unter dem Abschnitt Keine Anzeige der lokalen Kachelbenachrichtigung in diesem Thema und unter Schnellstart: Senden einer Kachelaktualisierung.
  • Der von der Abrufanforderung zurückgegebene Text ist nicht als UTF-8 formatiert. Die UTF-8-Codierung ist erforderlich.
  • Der Dienst reagiert nicht richtig auf die HTTP-GET-Anforderung, die Windows beim Abfragen der für den Dienst bereitgestellten URL verwendet. Sowohl das HTTP-Protokoll als auch das HTTPS-Protokoll werden unterstützt.
  • In der Manifestdatei ("package.appxmanifest") Ihrer App wurde die Internetfunktion nicht deklariert. Im Manifest-Editor von Visual Studio befindet sich diese Option auf der Registerkarte "Funktionen" unter Internet (Client). Wenn diese Funktion nicht für die App deklariert wurde, fragt Windows den Dienst nicht ab.
  • Stellen Sie sicher, dass die Werte, die durch die X-WNS-Markierungs- und X-WNS-Expires-Header festgelegt werden, korrekt formatiert werden. X-WNS-Expires müssen eines der folgenden Formate verwenden:
    • Son, 06. Nov 1994 08:49:37 GMT
    • Sonntag, 06-Nov-94 08:49:37 GMT
    • Son, 6. Nov 08:49:37 GMT

Regelmäßige Updates erfolgen verzögert

  • Windows kann das Abfragen der URL bei Bedarf um bis zu 15 Minuten verzögern, um Energieverbrauch und Leistung zu optimieren.
  • Der Dienst war nicht verfügbar, als versucht wurde, die URL abzufragen. Wenn der Dienst nicht verfügbar ist, wird so lange nicht mehr versucht, eine Verbindung herzustellen, bis das nächste Abfrageintervall verstrichen ist.

Problembehandlung für Pushbenachrichtigungen

In diesem Abschnitt werden einige gängige Fehler erläutert, die beim Arbeiten mit Pushbenachrichtigungen auftreten können.

  • Überprüfen der Ereignisprotokolle
  • Pushbenachrichtigung erhält die Antwort "200 OK", wird aber nicht angezeigt
  • Pushbenachrichtigung gibt einen anderen Code als "200 OK" zurück
  • Fehler beim Erstellen eines Pushbenachrichtigungskanals

Überprüfen der Ereignisprotokolle

Falls Kachel- oder Popup-Pushbenachrichtigungen nicht wie erwartet angezeigt werden, überprüfen Sie die Ereignisprotokolle.

  • Wird die Benachrichtigung empfangen, aber nicht angezeigt: Starten Sie die Ereignisanzeige, und überprüfen Sie das Microsoft-Windows-TWinUI/Operational-Protokoll unter "Anwendungen und Dienste\Microsoft\Windows\Apps".
  • Wird die Benachrichtigung überhaupt nicht empfangen: Starten Sie die Ereignisanzeige, und überprüfen Sie das Betriebsprotokoll unter "Anwendungen und Dienste\Microsoft\Windows\PushNotifications-Platform.

Pushbenachrichtigung erhält die Antwort "200 OK", wird aber nicht angezeigt

Wenn die Windows-Pushbenachrichtigungsdienste (WNS) die Antwort "200 OK" zurückgeben, wird die Benachrichtigung an den Client übermittelt, wenn dieser online ist. Wenn Sie sich vergewissert haben, dass der Client online ist und die Benachrichtigung nicht angezeigt wird, führen Sie diese Schritte aus:

  • Ursache: XML-Fehler im Benachrichtigungsinhalt.

    Fix: Überprüfen Sie die grundlegende XML-Syntax, und stellen Sie sicher, dass der XML-Code vollständig und richtig ist. Folgende Punkte führen bei XML häufig zu Fehlern:

    • Groß- und Kleinschreibung. Bei Tagnamen, Attributnamen und Attributwerten muss die Groß- und Kleinschreibung beachtet werden. Stellen Sie sicher, dass im XML-Code die richtige Groß-/Kleinschreibung verwendet wird.
    • Für jedes unterstützte Kachelformat muss ein binding-Element vorhanden sein. Stellen Sie in jeder gesendeten Benachrichtigung für jede der unterstützten Kachelgrößen einbinding-Element bereit.
    • Textzeichenfolgen sollten keine reservierten XML-Zeichen enthalten. Beispielsweise können Sie nicht Kachel- oder Popupzeichenfolgen kursiv darstellen, indem Sie die Tags <i> und </i> einschließen. Wenn Sie die Literalzeichen "<i>" anzeigen möchten, müssen diese richtig zwischen Escapezeichen gesetzt werden. Weitere Informationen zu Ecapezeichen in XML finden Sie im Artikel zu XML-Zeichenentitäten und XAML.
    • Die für die lang-Attribute angegebenen Werte müssen der ITEF BCP 47-Spezifikation entsprechen.
    • Für XML-Zeichenfolgen, die über Pushbenachrichtigungen gesendet werden, muss die UTF-8-Codierung verwendet werden.
    • Wenn Sie in der XML-Nutzlast ein image-Element mit einem nicht leeren src-Attribut verwenden, müssen Sie einen Verweis auf ein gültiges Bild hinzufügen, da die Benachrichtigung sonst verworfen wird.

    Weitere Informationen finden Sie in der Dokumentation zu Kacheln, Popups und Signalschemas.

  • Ursache: Falsche Verwendung von Parametern der Pushbenachrichtigungs-API

    Fix: Details finden Sie in der API-Dokumentation im Artikel zum Windows.Networking.PushNotifications-Namespace.

  • Ursache: Der Headertyp stimmt nicht mit dem Benachrichtigungsinhalt überein. Wenn der "X-WNS-Type"-Header nicht auf einen Wert—Kachel, Signal oder Popup—festgelegt ist, der der in der Nutzlast angegebenen Benachrichtigungsvorlage entspricht, wird die Benachrichtigung nicht angezeigt. Dieser Konflikt führt zu einem Fehler auf dem Client, und die Benachrichtigung wird gelöscht.

    Fix: Lesen Sie unter Anforderungs- und Antwortheader des Pushbenachrichtigungsdiensts nach, wie Sie sicherstellen können, dass der App-Server den richtigen Wert für den "X-WNS-Type"-Header verwendet.

  • Ursache: Der im X-WNS-TTL-Header festgelegte Wert für die Gültigkeitsdauer (Time to Live, TTL) ist zu klein.

    Korrektur: Verwenden Sie einen größeren TTL-Wert, und bedenken Sie dabei, dass der Wert in Sekunden angegeben wird.

Wenn Sie die Lösungen aus den vorherigen Schritten angewendet haben und die Benachrichtigung immer noch nicht angezeigt wird, schlagen Sie für weitere Vorschläge unter Problembehandlungsschritten für lokale Benachrichtigungen im Abschnitt Keine Anzeige der lokalen Kachelbenachrichtigung dieses Themas nach.

Pushbenachrichtigung gibt einen anderen Code als "200 OK" zurück

Wenn WNS nicht "200 OK" zurückgibt, wird die Benachrichtigung nicht an den Client übermittelt. Wenn ein 400-Code zurückgegeben wird, sollten Sie als Entwickler in der Lage sein, das Problem zu beheben. Weitere Informationen zur Bedeutung bestimmter Codes finden Sie in der Antwortcodereferenz für den Windows-Pushbenachrichtigungsdienst (WNS). Beispielcode, der das Abfangen und Behandeln dieser Fehler veranschaulicht, finden Sie unter Schnellstart: Senden einer Pushbenachrichtigung oder im als Download verfügbaren Beispiel für Pushbenachrichtigungen und regelmäßige Benachrichtigungen.

Hinweis  Informationen zu Fehlern, die hier nicht speziell aufgeführt sind, finden Sie unter COM Error Codes (WPN, MBN, P2P, Bluetooth).

 

  • Benachrichtigungsanforderung gibt "400 Ungültige Anforderung" zurück
  • Benachrichtigungsanforderung gibt "401 Nicht autorisiert" zurück
  • Benachrichtigungsanforderung gibt "401 Nicht autorisiert" zurück, Token ist abgelaufen
  • Benachrichtigungsanforderung gibt "403 Verboten" zurück
  • Benachrichtigungsanforderung gibt "404 Nicht gefunden" zurück
  • Benachrichtigungsanforderung gibt "406 Nicht annehmbar" zurück
  • Benachrichtigungsanforderung gibt "410 Fehlend" zurück

Benachrichtigungsanforderung gibt "400 Ungültige Anforderung" zurück

Ursache: Möglicherweise wurde mindestens ein WNS-Header nicht richtig verwendet, oder die HTTP-Anforderung war ungültig.

Fix Lesen Sie unter Anforderungs- und Antwortheader des Pushbenachrichtigungsdiensts nach, wie Sie sicherstellen können, dass der App-Server alle benutzerdefinierten Header wie beschrieben verwendet.

Benachrichtigungsanforderung gibt "401 Nicht autorisiert" zurück

Ursache: Der App-Server muss die richtige Paketsicherheits-ID (Package Security Identifier, Paket-SID) und den geheimen Schlüssel enthalten, die Sie beim Registrieren der App erhalten haben. Wenn Sie den geheimen Schlüssel kürzlich im Windows Store-Dashboard geändert haben, müssen Sie auch den App-Server aktualisieren. Weitere Informationen finden Sie unter Übersicht über Pushbenachrichtigungen.

Fix: Überprüfen Sie die Paket-SID und den geheimen Schlüssel im Windows Store-Dashboard.

Benachrichtigungsanforderung gibt "401 Nicht autorisiert" zurück, Token ist abgelaufen

Ursache: Ein Zugriffstoken hat eine begrenzte Lebensdauer. Wenn Sie eine Benachrichtigung mit einem abgelaufenen Zugriffstoken senden, sind die Anmeldeinformationen des App-Servers ungültig, und die Benachrichtigung kann nicht gesendet werden.

Fix: Fordern Sie ein neues Zugriffstoken von WNS an, indem Sie sich mit Ihrer Paketsicherheits-ID (Package Security Identifier, Package SID) und Ihrem geheimen Schlüssel bei WNS authentifizieren. Weitere Informationen finden Sie unter Übersicht über den Windows-Pushbenachrichtigungsdienst (Windows Push Notification Services, WNS).

Benachrichtigungsanforderung gibt "403 Verboten" zurück

Ursache: Dieser Fehler tritt auf, wenn das von Ihnen angegebene Zugriffstoken nicht den Anmeldeinformationen entspricht, die zum Senden von Benachrichtigungen an die entsprechende Kanal-URL benötigt werden. Jede App muss im Windows Store registriert sein, um Anmeldeinformationen für den zugehörigen App-Server zu empfangen. Für alle Apps gilt, dass nur die vom Windows Store bereitgestellten Anmeldeinformationen zum Senden von Benachrichtigungen an die jeweilige App - und zwar nur diese eine App - verwendet werden können.

Fix: Melden Sie sich mit Ihrem Entwicklerkonto beim Windows Store-Dashboard an. Wählen Sie die App aus, und klicken Sie auf "Erweiterte Features" -> "Clouddiensteinstellungen verwalten". Wählen Sie "Identifizieren der App" aus, um Anweisungen dazu zu lesen, wie Sie das App-Manifest so aktualisieren, dass es Ihren Anmeldeinformationen für den Clouddienst entspricht.

Benachrichtigungsanforderung gibt "404 Nicht gefunden" zurück

Ursache: Dieser Fehler bedeutet in der Regel, dass die Kanal-URL nicht richtig geformt ist. Die Kanal-URL darf nicht manipuliert oder geändert werden, wenn Sie eine Benachrichtigung an WNS senden. Die Kanal-URL sollte immer als opake Zeichenfolge behandelt werden—das heißt, Sie müssen den Inhalt nicht untersuchen, bzw. Sie müssen ihn nicht einmal kennen.

Fix: Vergewissern Sie sich, dass der Code nicht die Kanal-URL ändert, indem Zeichen oder die Codierung geändert werden.

Benachrichtigungsanforderung gibt "406 Nicht annehmbar" zurück

Ursache: Für WNS gelten Schutzrichtlinien, die verhindern sollen, dass bösartige Apps für andere Benutzer und für Entwickler negative Auswirkungen auf den Dienst haben. Eine übermäßig hohe Anzahl von Benachrichtigungen in zu kurzer Zeit kann dazu führen, dass WNS explizit Benachrichtigungen löscht.

Fix: Überprüfen Sie, ob die Benachrichtigungshäufigkeit verringert oder optimiert werden kann, um eine höhere Benutzerfreundlichkeit zu erzielen.

Benachrichtigungsanforderung gibt "410 Fehlend" zurück

Ursache: Die Kanal-URL ist abgelaufen. Es können erst wieder Benachrichtigungen gesendet werden, wenn die App ausgeführt wird und eine neue Kanal-URL anfordert.

Fix: Eine Windows Store-App sollte bei jedem Start eine neue Kanal-URL anfordern. Es ist nicht garantiert, dass die zugewiesene Kanal-URL gleich bleibt. Wenn sich die URL geändert hat, sollte der Client die Informationen auf seinem Cloudserver aktualisieren. Weitere Informationen finden Sie unter Anfordern, Erstellen und Speichern eines Benachrichtigungskanals.

Fehler beim Erstellen eines Pushbenachrichtigungskanals

  • Das Erstellen eines Benachrichtigungskanals führt zum Fehler ERROR_NO_NETWORK
  • Das Erstellen eines Benachrichtigungskanals führt zum Fehler WPN_E_CLOUD_INCAPABLE
  • Das Erstellen eines Benachrichtigungskanals führt zum Fehler WPN_E_INVALID_APP

Hinweis  Informationen zu Fehlern, die hier nicht speziell aufgeführt sind, finden Sie unter COM Error Codes (WPN, MBN, P2P, Bluetooth).

 

Das Erstellen eines Benachrichtigungskanals führt zum Fehler ERROR_NO_NETWORK

Ursache: WNS benötigt eine Internetverbindung, um einen Benachrichtigungskanal zu erstellen.

Fix: Überprüfen Sie die Internetkonnektivität.

Das Erstellen eines Benachrichtigungskanals führt zum Fehler WPN_E_CLOUD_INCAPABLE

Ursache: Die Internetfunktion ist nicht im App-Manifest (package.appxmanifest) deklariert.

Fix: Stellen Sie sicher, dass die Internetfunktion im App-Manifest deklariert ist. Im Manifest-Editor von Visual Studio befindet sich diese Option auf der Registerkarte "Funktionen" unter Internet (Client). Weitere Informationen finden Sie unter Capabilities.

Das Erstellen eines Benachrichtigungskanals führt zum Fehler WPN_E_INVALID_APP

Ursache: Der für die App verwendete Paketname muss gültig sein. Wenn Sie noch keinen Paketnamen erhalten haben, können Sie diesen im Windows Store-Portal unter "Erweiterte Features" abrufen.

Fix: Details zum Abrufen einer Paketsicherheits-ID (Package Security Identifier, PKSID) für die Windows Store-App finden Sie unter So wird's gemacht: Authentifizieren mit dem Windows-Pushbenachrichtigungsdienst (Windows Push Notification Service, WNS).

Problembehandlung für Popupbenachrichtigungen

In diesem Abschnitt werden gängige Fehler erläutert, die bei der Arbeit mit Popupbenachrichtigungen und Vorlagen für Popupbenachrichtigungen auftreten können. Im Großen und Ganzen können Sie auf Popupbenachrichtigungen die gleichen Problembehandlungsmaßnahmen anwenden wie auf Kachelbenachrichtigungen. Sofern nicht anders angegeben, gelten die Lösungen jeweils für alle Arten der Benachrichtigungsübermittlung (lokal, geplant oder Pushbenachrichtigung).

Keine Anzeige der lokalen Popupbenachrichtigung

Am häufigsten ist dieses Problem darauf zurückzuführen, dass zum Definieren der Benachrichtigung fehlerhafter XML-Code verwendet wurde. Es kommen aber auch andere Ursachen infrage, die Sie folgendermaßen überprüfen können:

  • Überprüfen der Benutzereinstellungen
  • Überprüfen der Einträge im App-Manifest
  • Überprüfen der Bildgrößen
  • Überprüfen der URLs
  • Untersuchen der Bildformate
  • Überprüfen der XML-Syntax
  • Überprüfen der Ablaufzeit der Benachrichtigung

Überprüfen der Benutzereinstellungen

Mögliche Ursache: Der Benutzer oder Administrator hat Benachrichtigungen über Einstellungen deaktiviert. Überprüfen Sie auf der Benachrichtigungsseite (PC-Einstellungen > Benachrichtigungen), ob Benachrichtigungen global oder für einzelne Anwendungen deaktiviert sind. Der Administrator kann über verschiedene Gruppenrichtlinien Benachrichtigungen deaktivieren. Vergewissern Sie sich beim Administrator, dass Benachrichtigungen aktiviert sind.

Fix: Aktivieren Sie Benachrichtigungen über Einstellungen, oder bitten Sie einen Administrator, Benachrichtigungen über Gruppenrichtlinien zu aktivieren.

Weitere Informationen finden Sie unter Schnellstart: Senden einer Popupbenachrichtigung.

Überprüfen der Einträge im App-Manifest

Mögliche Ursache: Im App-Manifest sind nicht die richtigen Informationen zum Aktivieren der Übermittlung von Popupbenachrichtigungen vorhanden. Vergewissern Sie sich, dass die Einstellung zum Aktivieren der Funktion für Popupbenachrichtigungen im App-Manifest auf "Ja" gesetzt ist. Wenn Benachrichtigungsinhalte, beispielsweise Bilder, aus dem Internet abgerufen werden, muss die Funktion zur Nutzung des Internets (Client) im App-Manifest deklariert werden.

Fix: Aktivieren Sie die benachrichtigungsbezogenen Einträge im App-Manifest.

Weitere Informationen finden Sie unter Schnellstart: Erstellen einer Standardkachel im Manifest-Editor von Visual Studio.

Überprüfen der Bildgrößen

Mögliche Ursache: Bilder für alle Benachrichtigungen müssen kleiner als 1024 x 1024 Pixel und 200 KB sein. Wenn ein Bild in einer Benachrichtigung eine dieser Abmessungen überschreitet, wird die Benachrichtigung verworfen.

Fix: Verkleinern Sie die Bilder.

Weitere Informationen finden Sie unter Größe von Kachel- und Popupbildern.

Überprüfen der URLs

Mögliche Ursache: URL-Syntaxfehler.

Bilder in Benachrichtigungen werden als Ressourcenverweis oder Literalpfad angegeben. Wenn ein Pfad verwendet wird, muss dieser mit einem der drei folgenden Protokolle angegeben werden:

Präfix Verwendung Hinweise
http:// und https:// Online gespeicherte Bilder

Diese Bilder werden möglicherweise lokal zwischengespeichert, sodass der Bildserver keine Anforderung für das Bild erhält. Abfragezeichenfolgen werden diesen URLs angefügt. Stellen Sie sicher, dass Ihr Webserver anstelle eines 404-Fehlers das Originalbild zurückgibt, wenn Sie sich dafür entscheiden, die Abfragezeichenfolge zu ignorieren. Beispiel für eine Abfragezeichenfolge: ?scale=100&contrast=blk&lang=en-US

Beachten Sie, dass im App-Manifest die Funktion "Internet (Client)" deklariert sein muss, damit die App Benachrichtigungen aus dem Internet empfangen kann.

"ms-appx:///" Im Paket der App enthaltene Bilder Für den URI werden Schrägstriche ("/") oder umgekehrte Schrägstriche ("\") zum Trennen von Ordnern in einem Pfad akzeptiert. In den meisten Programmiersprachen müssen Sie jedoch ein Escapezeichen verwenden, wenn Sie einen umgekehrten Schrägstrich angeben ("\\"). Beachten Sie, dass für diesen Verweis ein dreifacher Schrägstrich nach dem Doppelpunkt erforderlich ist.
"ms-appdata:///local/" Lokal von der App gespeicherte Bilder Dieser Speicherort entspricht dem mit Windows.Storage.ApplicationData.current.localFolder zurückgegebenen Ordner. Für Ordnertrennzeichen im Pfad müssen Escapezeichen verwendet werden ("\\"). Beachten Sie, dass für diesen Verweis ein dreifacher Schrägstrich hinter dem Doppelpunkt erforderlich ist.

 

Hinweis  Das Zeichen "/" kann in allen Spezifikationstypen als Trennzeichen verwendet werden. Wir empfehlen, immer "/" anstelle von "\" zu verwenden, um unbeabsichtigte Verwechslungen mit Escapezeichen zu vermeiden.

 

Wohlgeformte Beispiele:

URL
https://www.contoso.com/icon.jpg
ms-appx:///images/icon.png
ms-appdata:///local/myDrawing.jpg

 

Falsch geformte Beispiele:

URL Hinweise
https://www.contoso.com\fail.png In einem HTTP-Pfad muss das Zeichen "/" verwendet werden. Verwenden Sie nicht das Zeichen "\".
http:www.contoso.com In einem HTTP-Pfad ist ein doppelter Schrägstrich ("//") hinter dem Doppelpunkt erforderlich.
"ms-appdata:///local/c:\\images\\Drawing.jpg" Eine App kann nicht auf Bilder außerhalb ihres lokalen Speichers verweisen.
"ms-appx://images/triangle.png" Verwenden Sie für "ms-appx:" anstelle eines doppelten Schrägstrichs einen dreifachen Schrägstrich.

 

Untersuchen der Bildformate

Mögliche Ursache: Das Format der Bilder wird nicht unterstützt.

Für Benachrichtigungen können nur Bilder in den Formaten PNG oder JPG bzw. JPEG oder GIF verwendet werden. Das Format des Bilds muss außerdem der Erweiterung entsprechen. Es reicht nicht aus, eine Datei mit einer unterstützten Erweiterung lediglich umzubenennen.

Die häufigste Ursache von Bildformatfehlern ist die Serialisierung von Bitmaps im Windows.Storage.ApplicationData.current.localFolder-Speicher. Achten Sie darauf, Ihr bevorzugtes Format aufzurufen. Anderenfalls wird das Bild als Windows-Bitmap gespeichert, und der Header enthält "BMP".

Überprüfung: Eine Möglichkeit, das Bildformat zu überprüfen, besteht darin, das Bild in einem Bildverarbeitungsprogramm zu laden und es als JPG-Datei zu speichern. Wenn Sie in der Benachrichtigung auf diese neue JPG-Datei verweisen und der Fehler nicht mehr auftritt, lag vermutlich ein Bildformatfehler vor. Sie können die Datei auch im Binär-Editor von Visual Studio öffnen und den Header untersuchen.

Fix: Ändern oder korrigieren Sie die Bildformate.

Überprüfen der XML-Syntax und des Inhalts

Mögliche Ursache: XML-Syntaxfehler oder Überprüfungsfehler.

Überprüfen Sie, ob die XML-Inhalte auch über die grundlegende Syntax hinaus vollständig und fehlerfrei sind. Folgende Punkte führen bei XML häufig zu Fehlern:

  • Groß- und Kleinschreibung. Bei Tagnamen, Attributnamen und Attributwerten muss die Groß- und Kleinschreibung beachtet werden. Stellen Sie sicher, dass im XML-Code die richtige Groß-/Kleinschreibung verwendet wird.
  • Textzeichenfolgen sollten keine reservierten XML-Zeichen enthalten. Beispielsweise können Sie nicht Popupzeichenfolgen kursiv darstellen, indem Sie die Tags <i> und </i> einschließen. Wenn Sie die Literalzeichen "<i>" anzeigen möchten, müssen diese richtig zwischen Escapezeichen gesetzt werden. Weitere Informationen zu Ecapezeichen in XML finden Sie im Artikel zu XML-Zeichenentitäten und XAML.
  • Die für die lang-Attribute angegebenen Werte müssen der ITEF BCP 47-Spezifikation entsprechen.
  • Bei lokal erstellten XML-Zeichenfolgen (für lokale oder geplante Benachrichtigungen) muss die UTF-16-Codierung verwendet werden. Bei Textzeichenfolgen, die per Pushbenachrichtigung gesendet oder von einer URL abgefragt werden, ist UTF-8 erforderlich.
  • Wenn Sie in der XML-Nutzlast ein image-Element mit einem nicht leeren src-Attribut verwenden, müssen Sie einen Verweis auf ein gültiges Bild hinzufügen, da die Benachrichtigung sonst nicht übermittelt werden kann.

Sie können auch das Ereignisprotokoll auf Fehler überprüfen, wenn die Popupbenachrichtigung nicht angezeigt wird. Suchen Sie in der Ereignisanzeige (Anwendungs- und Dienstprotokolle > Microsoft > Windows > Apps > Microsoft-Windows-TWinUI > Betriebsbereit) nach Ereignissen, die Ihre Popupbenachrichtigung betreffen.

Überprüfung: Suchen Sie mit einer XML-Syntaxprüfung wie beispielsweise dem Visual Studio-Editor nach grundlegenden Syntaxfehlern. Überprüfen Sie im jeweiligen Vorlagenverweis (ToastTemplateType), ob die Elemente richtig zugewiesen wurden.

Fix: Ändern Sie den XML-Code, oder verwenden Sie eine andere Vorlage, die dem Inhalt entspricht.

Sicherstellen, dass die Benachrichtigung nicht abgelaufen ist

Mögliche Ursache: Die Ablaufzeit ist auf einen zu kleinen Wert festgelegt.

Wenn Sie die Ablaufzeit in der Benachrichtigung über die expirationTime-Methode (bei einer lokalen Benachrichtigung) oder das X-WNS-TTL-Headerfeld (bei einer Pushbenachrichtigung) festlegen, beachten Sie, dass die Werte Millisekunden darstellen. Wenn eine Popupbenachrichtigung beispielsweise genau eine Stunde lang gelten soll, lautet der Wert 60 * 60 * 1000 = 3600000.

Fix: Verwenden Sie einen größeren Wert.

Melden eines Problems

Wenn Sie die Lösungsvorschläge in diesem Thema ausprobiert haben und Ihr Problem damit nicht lösen konnten, veröffentlichen Sie eine Nachricht in den Microsoft-Foren, um sowohl mit Microsoft-Entwicklern als auch mit anderen Interessierten darüber zu diskutieren.

Bei Pushbenachrichtigungen werden Sie nicht nur nach einer Beschreibung des Problems, sondern möglicherweise auch nach Ihrer Kanal-URL und einem Beispiel für die von WNS empfangene Antwort, einschließlich der HTTP-Fehlercodes und HTTP-Header, gefragt. Es gibt bestimmte Header, die auf dem App-Server protokolliert werden sollten, wenn ein Problem gemeldet wird. Weitere Informationen finden Sie unter Anforderungs- und Antwortheader des Pushbenachrichtigungsdiensts.

Verwandte Themen

Beispiel für App-Kacheln und Signale

Beispiel für geplante Benachrichtigungen

Beispiel für Popupbenachrichtigungen

Beispiel für Pushbenachrichtigungen und regelmäßige Benachrichtigungen

Schnellstart: Erstellen einer Standardkachel im Manifest-Editor von Visual Studio

Schnellstart: Senden eines Kachelupdates

Schnellstart: Senden eines Signalupdates

Schnellstart: Anzeigen von Benachrichtigungen auf dem Sperrbildschirm

Schnellstart: Einrichten regelmäßiger Benachrichtigungen

Kachelvorlagenkatalog

So wird's gemacht: Planen einer Kachelbenachrichtigung

So wird's gemacht: Verwenden der Benachrichtigungswarteschlange mit lokalen Benachrichtigungen

XML-Schema für Kacheln

Übersicht über Kacheln und Kachelbenachrichtigungen

Übersicht über Signale

Übersicht über den Sperrbildschirm

Die Benachrichtigungswarteschlange

Auswählen einer Methode für die Nachrichtenübermittlung

Richtlinien für Sekundärkacheln