Freigeben über


Problembehebung bei WNS-Pushbenachrichtigungen

In diesem Thema werden die ersten Schritte zur Problembehandlung erläutert, die Sie ausführen sollten, wenn Probleme mit Kachel-, Toast- und Signalbenachrichtigungen auftreten, einschließlich der verschiedenen Benachrichtigungsmethoden: lokal, Push, periodisch und geplante Benachrichtigungen.

Fehlerbehebung bei spezifischen Fehlern

In diesem Abschnitt werden einige häufige Fehler behandelt, die beim Arbeiten mit Pushbenachrichtigungen auftreten können.

  • Überprüfen Sie Ihre Ereignisprotokolle
  • Pushbenachrichtigung empfängt die Antwort "200 OK", wird jedoch nicht angezeigt.
  • Pushbenachrichtigung gibt einen anderen Code als "200 OK" zurück.
  • Fehler beim Erstellen eines Pushbenachrichtigungskanals

Überprüfen Sie Ihre Ereignisprotokolle

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

  • Wenn die Benachrichtigung empfangen, aber nichtangezeigt wird: Starten Sie den Ereignis-Viewer, und prüfen Sie das Microsoft-Windows-TWinUI/Operational Protokoll unter "Anwendungen und Dienste\Microsoft\Windows\Apps".
  • Wenn die Benachrichtigung überhaupt nichtempfangen wird: Starten Sie die Ereignisanzeige, und überprüfen Sie das Betriebsprotokoll unter "Anwendungen und Dienste\Microsoft\Windows\PushNotifications-Platform".

Pushbenachrichtigung empfängt die Antwort "200 OK", wird jedoch nicht angezeigt.

Wenn die Windows-Pushbenachrichtigungsdienste (Windows Push Notification Services, WNS) eine Antwort "200 OK" zurückgeben, wird die Benachrichtigung an den Client gesendet, wenn der Client online ist. Wenn Sie überprüft haben, dass der Client online ist, aber nicht die Benachrichtigung anzeigt, führen Sie die folgenden Schritte durch:

  • Ursache: XML-Fehler im Benachrichtigungsinhalt.

    Fix: Überprüfen Sie die grundlegende XML-Syntax, und stellen Sie sicher, dass Ihr XML-Code vollständig und korrekt ist. Einige häufige Fehlerpunkte im XML-Inhalt sind die folgenden:

    • Case sensitivity. Bei Tagnamen, Attributnamen und Attributwerten ist die Groß-/Kleinschreibung relevant. Achten Sie darauf, dass Ihre XML die richtige Groß-/Kleinschreibung aufweist.
    • Für jedes unterstützte Kachelformat muss ein Bindungselement bereitgestellt werden. Sie sollten für jede Kachelgröße, die Sie unterstützen, ein Bindungselement in jeder von Ihnen gesendeten Benachrichtigung bereitstellen.
    • Textzeichenfolgen dürfen keine reservierten XML-Zeichen enthalten. Sie können z. B. keine Kachel- oder Popupzeichenfolgen kursivisieren, indem Sie <i> und </i> Tags einschließen. Wenn Sie beabsichtigen, die Literalzeichen "<i>" anzuzeigen, sollten sie ordnungsgemäß maskiert sein. Weitere Informationen zu den Escapezeichen in XML finden Sie unter XML-Zeichenentitäten und XAML.
    • Die Werte für die lang Attribute müssen der IETF BCP 47 Spezifikation entsprechen.
    • XML-Zeichenfolgen, die über Pushbenachrichtigungen gesendet werden, sollten die UTF-8-Codierung verwenden.
    • Wenn Sie ein Bild Element in die XML-Nutzlast mit einem nicht leeren src-Attribut einfügen, müssen Sie unbedingt einen Verweis auf ein gültiges Bild angeben, anderenfalls wird die Benachrichtigung verworfen.
  • Ursache: Falsche Verwendung von Pushbenachrichtigungs-API-Parametern

    Fix: Einzelheiten finden Sie in der API-Dokumentation im Namensraum Windows.Networking.PushNotifications.

  • Ursache: Der Header-Typ stimmt nicht mit dem Benachrichtigungsinhalt überein. Wenn der X-WNS-Type-Header nicht auf einen Wert festgelegt ist ( Kachel, Signal oder Popup), der der in der Nutzlast angegebenen Benachrichtigungsvorlage entspricht, wird die Benachrichtigung nicht angezeigt. Diese Diskrepanz führt zu einem Fehler auf dem Client, und die Benachrichtigung wird nicht zugestellt.

    Fix: Verweisen Sie auf Anforderungs- und Antwortheader des Pushbenachrichtigungsdiensts, um sicherzustellen, dass Ihr App-Server den richtigen Wert für den X-WNS-Type-Header verwendet.

  • Ursache: Der im X-WNS-TTL-Header festgelegte TTL-Wert (Time to Live) ist zu klein.

    Fix: Geben Sie einen größeren TTL-Wert an, wobei Sie beachten, dass der Wert in Sekunden angegeben wird.

Wenn Ihre Benachrichtigung nach dem Bearbeiten der Punkte in den vorherigen Schritten immer noch nicht angezeigt wird, finden Sie weitere Vorschläge im Abschnitt "Die lokale Kachelbenachrichtigung wird nicht angezeigt" dieses Themas für die Problembehebung lokaler Benachrichtigungen.

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

Wenn WNS "200 OK" nicht zurückgibt, wird Ihre Benachrichtigung nicht an den Client übermittelt. Wenn sich der Rückgabecode im 400er-Bereich befindet, sollten Sie als Entwickler das Problem beheben können.

Note

Fehler, die hier nicht ausdrücklich aufgeführt sind, finden Sie unter COM-Fehlercodes (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 akzeptabel" zurück.
  • Die Benachrichtigungsanforderung ergibt "410 Gone".

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

Benachrichtigungsanforderung gibt "401 Nicht autorisiert" zurück.

  • Ursache: Ihr App-Server muss den richtigen Paketsicherheitsbezeichner (Package Security Identifier, Paket-SID) und geheimen Schlüssel verwenden, der Ihnen bei der Registrierung Ihrer App zugewiesen wurde. Wenn Sie ihren geheimen Schlüssel kürzlich im Windows Store-Dashboard geändert haben, müssen Sie auch Den App-Server aktualisieren.

    Fix: Besuchen Sie das Windows Store-Dashboard, um Ihre Paket-SID und Ihr Geheimnis zu überprüfen.

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

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

    Fix: Fordern Sie ein neues Zugriffstoken von WNS an, indem Sie sich mit WNS mithilfe Ihrer Paketsicherheits-ID (Package SID) und des geheimen Schlüssels authentifizieren. Weitere Informationen finden Sie in der Übersicht über die Windows-Pushbenachrichtigungsdienste (Windows Push Notification Services, WNS)

Benachrichtigungsanforderung gibt "403 Verboten" zurück.

  • Ursache: Dieser Fehler tritt auf, wenn das von Ihnen vorgelegte Zugriffstoken nicht mit den Zugangsdaten übereinstimmt, die zum Senden von Benachrichtigungen an die entsprechende Kanal-URL erforderlich sind. Jede App muss beim Windows Store registriert werden, um Anmeldeinformationen für den App-Server zu erhalten. Für jede App können nur die vom Windows Store bereitgestellten Anmeldeinformationen verwendet werden, um Benachrichtigungen an diese App zu senden, und sie können nur für diese bestimmte App verwendet werden.

    Fix: Melden Sie sich mit Ihrem Entwicklerkonto beim Windows Store-Dashboard an. Wählen Sie Ihre App aus, und klicken Sie auf "Erweiterte Features" –> "Verwalten Ihrer Clouddiensteinstellungen". Wählen Sie "Identifizieren Ihrer App" aus, um Anweisungen zum Aktualisieren Ihres App-Manifests zu lesen, um Ihren Anmeldeinformationen für Clouddienst zu entsprechen.

Benachrichtigungsanforderung gibt "404 Nicht gefunden" zurück.

  • Ursache: Dieser Fehler bedeutet in der Regel, dass die Kanal-URL nicht ordnungsgemäß gebildet wird. Die Kanal-URL darf nie manipuliert oder geändert werden, wenn Sie eine Benachrichtigung an WNS senden. Die Kanal-URL sollte immer als undurchsichtige Zeichenfolge behandelt werden– Sie müssen dessen Inhalt niemals untersuchen oder sogar kennen.

    Fix: Stellen Sie sicher, dass Ihr Code die Kanal-URL nicht ändert, indem Sie entweder ein oder mehrere Zeichen ändern oder die Codierung ändern.

Benachrichtigungsanforderung gibt "406 Nicht akzeptabel" zurück.

  • Ursache: WNS verfügt über Schutzrichtlinien, um zu verhindern, dass schädliche Apps den Dienst für andere Benutzer und Entwickler negativ beeinflussen. Eine übermäßige Anzahl von Benachrichtigungen in zu kurzer Zeit kann dazu führen, dass WNS explizit Benachrichtigungen abbricht.

    Fix: Überprüfen Sie Ihre Benachrichtigungshäufigkeit, um festzustellen, ob sie verringert oder optimiert werden kann, um eine bessere Benutzererfahrung zu erzielen.

Die Benachrichtigungsanforderung ergibt "410 Gone".

  • Ursache: Die Kanal-URL ist abgelaufen. Es können keine weiteren Benachrichtigungen gesendet werden, bis Ihre App in Betrieb ist und eine neue Kanal-URL beantragt.

    Fix: Ihre Windows Store App sollte bei jedem Start eine Kanal-URL anfordern. Die zugewiesene Kanal-URL ist nicht garantiert, dass sie gleich bleibt. Wenn sich die URL geändert hat, sollte der Client die Informationen auf seinem Cloudserver aktualisieren.

Fehler beim Erstellen eines Pushbenachrichtigungskanals

  • Das Erstellen eines Benachrichtigungskanals führt zu einem Fehler ERROR_NO_NETWORK.
  • Das Erstellen eines Benachrichtigungskanals führt zu einem WPN_E_CLOUD_INCAPABLE Fehler.
  • Das Erstellen eines Benachrichtigungskanals führt zu einem WPN_E_INVALID_APP-Fehler.

Note

Fehler, die hier nicht ausdrücklich aufgeführt sind, finden Sie unter COM-Fehlercodes (WPN, MBN, P2P, Bluetooth).

Das Erstellen eines Benachrichtigungskanals führt zu einem Fehler ERROR_NO_NETWORK.

  • Ursache: WNS erfordert eine Internetverbindung zum Erstellen eines Benachrichtigungskanals.

    Beheben sie: Überprüfen Sie Ihre Internetverbindung.

Das Erstellen eines Benachrichtigungskanals führt zu einem WPN_E_CLOUD_INCAPABLE Fehler.

  • Ursache: Ihre App hat die Internetfunktion nicht im App-Manifest (package.appxmanifest) deklariert.

    Fix: Stellen Sie sicher, dass Ihr App-Manifest die Internetfunktion deklariert hat. Im Manifest-Editor von Visual Studio finden Sie diese Option unter der Registerkarte "Funktionen" als Internet (Client). Weitere Informationen finden Sie unter Fähigkeiten.

Das Erstellen eines Benachrichtigungskanals führt zu einem WPN_E_INVALID_APP-Fehler.

Melden eines Problems

Wenn Sie die in diesem Thema vorgeschlagenen Lösungen ausprobiert haben und Ihr Problem nicht behoben haben, posten Sie eine Nachricht in den Microsoft-Foren , um sie mit Microsoft-Entwicklern und anderen Interessierten zu besprechen.

Für Pushbenachrichtigungen werden Sie zusätzlich zu einer Beschreibung des Problems möglicherweise aufgefordert, Ihre Kanal-URL und ein Beispiel für die Antwort anzugeben, die Sie von WNS erhalten haben, einschließlich der HTTP-Fehlercodes und HTTP-Header. Es gibt bestimmte Header, die der App-Server protokollieren sollte, wenn ein Problem gemeldet wird. Weitere Informationen finden Sie unter Anforderungs- und Antwortheader des Push-Benachrichtigungsdienstes.