So wird’s gemacht: Erstellen von Sperrbildschirm-Apps, die unformatierte Hintergrund-Pushbenachrichtigungen verwenden (HTML)

[ 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 wird gezeigt, wie Sie eine Sperrbildschirm-App erstellen, um in einer Windows-Runtime-App Hintergrund-Netzwerkbenachrichtigungen zu empfangen, die unformatierte Pushbenachrichtigungen verwenden. Unformatierte Pushbenachrichtigungen bieten einer App auf dem Sperrbildschirm die Möglichkeit, Netzwerkbenachrichtigungen zu empfangen, wenn sich die App im Hintergrund befindet.

Ziel: Erstellen Sie eine Sperrbildschirm-App, die Netzwerkbenachrichtigungen empfängt, die unformatierte Pushbenachrichtigungen verwenden, wenn sich die App im Hintergrund befindet.

Voraussetzungen

  • Die folgenden Informationen gelten für alle verbundenen oder netzwerkfähigen Windows-Runtime-Apps, die Netzwerkverbindungen mit unformatierte Pushbenachrichtigungen erfordern, um dauerhaft verbunden zu sein. Dieses Thema bezieht sich auf in JavaScript geschriebene Apps für Windows 8.1, Windows Phone 8.1 und Windows Server 2012 R2.

    Hintergrund-Netzwerkkonnektivität, die unformatierte Pushbenachrichtigungen verwendet, wird von JavaScript-Apps, Apps in C++/XAML und Apps in C#, VB.NET oder verwaltetem C++, die .NET Framework 4.5 nutzen, unterstützt. Weitere Informationen zu Hintergrund-Netzwerkaufgaben, die für JavaScript-Apps gelten, finden Sie unter Unterstützen von App durch Hintergrundaufgaben.

Erstellen einer Sperrbildschirm-App, die unformatierte Hintergrund-Pushbenachrichtigungen verwendet

Wenn Sie unformatierte Pushbenachrichtigungen über WNS verwenden möchten, um eine Hintergrundaufgabe zu aktivieren, müssen Sie zunächst aus Ihrer App eine Sperrbildschirm-App machen.

Sie müssen die entsprechenden Funktionen im App-Manifest festlegen, sodass Ihre App die Platzierung auf dem Sperrbildschirm anfordert. Außerdem muss die App Code enthalten, um das Hinzufügen zum Sperrbildschirm anzufordern und um eine Behandlung für den Fall vorzusehen, dass der Benutzer die App dem Sperrbildschirm hinzufügt oder daraus entfernt.

Die Platzierung einer App auf dem Sperrbildschirm muss vom Benutzer zugelassen werden. Die Zustimmungsaufforderung wird angezeigt, wenn die Anforderungs-API des Sperrbildschirms aufgerufen wird. Falls der Benutzer die Ausführung der App auf dem Sperrbildschirm nicht genehmigt, können Sie die Zustimmung nicht erneut anfordern. Sollte der Benutzer das Dialogfeld jedoch versehentlich schließen, ist eine erneute Zustimmungsaufforderung möglich.

Wenn der Benutzer die Verwendung der App als Sperrbildschirm-App ablehnt, kann er sie später über das entsprechende Flyout für Systemberechtigungen zum Sperrbildschirm hinzufügen. Über den Abschnitt Personalisieren in den PC-Einstellungen kann der Benutzer die App auch manuell zum Sperrbildschirm hinzufügen.

Um die Platzierung Ihrer App auf dem Sperrbildschirm anzufordern, müssen Sie die folgenden Schritte ausführen. Sie können Änderungen am App-Manifest vornehmen, indem Sie mit Microsoft Visual Studio 2013 die Datei package.appxmanifest öffnen oder das App-Manifest manuell ändern.

JJ679949.wedge(de-de,WIN.10).gifRegistrieren zur Festlegung als Sperrbildschirm-App

  1. Stellen Sie sicher, dass der Kachel Ihrer App im App-Manifest ein breites Logo zugeordnet ist. Vergewissern Sie sich, dass das WideLogo-Attribut im App-Manifest auf das DefaultTile-Element festgelegt ist.

    Im folgenden Beispiel wird ein DefaultTile-Element unter dem <VisualElements>-Element in einem App-Manifest hinzugefügt.

        <DefaultTile ShowName="allLogos" WideLogo="images\tile.png" />
    
  2. Geben Sie das beabsichtigte Ziel Ihrer App an, eine Hintergrundaufgabe zu verwenden. Auch die JavaScript-Quelldatei, die die Hintergrundaufgabe enthält, und der Name der Klasse, in der der Einstiegspunkt der Hintergrundaufgabe implementiert wird, müssen im App-Manifest angegeben werden.

    Wenn Sie eine Sperrbildschirm-App erstellen, die unformatierte Pushbenachrichtigungen mit WNS verwendet, müssen Sie die JavaScript-Quelldatei und den Hintergrundaufgabentyp pushNotification angeben. Dies ermöglicht es Ihrer App, unformatierte WNS-Pushbenachrichtigungen zu empfangen.

    Im folgenden Beispiel wird eine unformatierte Pushbenachrichtigung unter dem <Application>-Element in einem App-Manifest hinzugefügt.

      <Extensions>
        <Extension Category="windows.backgroundTasks" StartPage="js\backgroundTask.js">
          <BackgroundTasks>
            <Task Type="pushNotification" />
          </BackgroundTasks>
        </Extension>
      </Extensions>
    
  3. Da sich Ihre App auf dem Sperrbildschirm befindet, muss ein Sperrbildschirmsymbol vorhanden sein, mit dem verpasste Benachrichtigungen angezeigt werden. Aktualisieren Sie hierfür Ihr App-Manifest, sodass es das LockScreen-Element enthält.

    Das folgende Beispiel zeigt ein LockScreen-Element, das unter dem <VisualElements>-Element in ein App-Manifest eingefügt wurde.

        <LockScreen Notification="badge" BadgeLogo="Images\badgelogo.png" />
    
  4. Nachdem Sie die oben beschriebenen Schritte ausgeführt haben, kann die App den Benutzer auffordern, der Platzierung auf dem Sperrbildschirm zuzustimmen. Mit den Background.BackgroundExecutionManager.RequestAccessAsync-Methoden wird dem Benutzer ein Dialogfeld bereitgestellt, das ihn dazu auffordert, die App zum Sperrbildschirm hinzuzufügen. Wenn der Benutzer die Anfrage genehmigt, kann die App im Hintergrund ausgeführt werden und Benachrichtigungen auf dem Sperrbildschirm anzeigen.

    Im folgenden Beispiel wird die Genehmigung zur Platzierung auf dem Sperrbildschirm angefordert.

    
        var lockScreenAdded = false;
    
        function ClientInit() {
            // Lock screen is required for raw push notification
            // background code to run.
            //
            if (lockScreenAdded == false) {
                BackgroundExecutionManager.RequestAccessAsync().done(function (result) {
    
                switch (result) {
                    case BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity:
                        //
                        // App is allowed to use RealTimeConnection broker 
                        // functionality even in low power mode.
                        //
                        lockScreenAdded = true;
                        break;
                    case BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity:
                        //
                        // App is allowed to use RealTimeConnection broker 
                        // functionality but not in low power mode.
                        //
                        lockScreenAdded = true;
                        break;
                    case BackgroundAccessStatus.Denied:
                        //
                        // App should switch to polling mode (example: poll for email based on time triggers)
                        //
                        WinJS.log && WinJS.log("Lock screen access is denied", "sample", "status");
                        break;
                }
            }, function (e) {
                WinJS.log && WinJS.log("An error occurred while requesting lock screen access.", "sample", "error");
            });
        }
    

    Wenn Sie eine WNS-basierte Sperrbildschirm-App erstellen, die unformatierte Pushbenachrichtigungen verwendet, wird der BackgroundAccessStatus der App auf AllowedMayUseActiveRealTimeConnectivity festgelegt, nachdem die Genehmigung erteilt wurde. Die AllowedWithAlwaysOnRealTimeConnectivity-Option für Echtzeitverbindungen wird für das Netzwerktriggerfeature verwendet und wirkt sich nicht auf WNS-basierte Sperrbildschirm-Apps aus, die unformatierte Pushbenachrichtigungen verwenden.

    Nachdem die App zum Sperrbildschirm hinzugefügt wurde, sollte sie im Abschnitt Personalisieren von PC-Einstellungen sichtbar sein. Beachten Sie, dass die Benutzer Ihre App jederzeit aus der Liste der Sperrbildschirm-Apps entfernen können. Sie sollten also darauf achten, dass Ihre App auch dann funktioniert, wenn sie vom Sperrbildschirm entfernt wurde.

    Weitere Informationen zu Sperrbildschirmanforderungen finden Sie in Übersicht über den Sperrbildschirm und im Beispiel für Apps für den gesperrten Bildschirm.

Zusammenfassung und nächste Schritte

Weitere Informationen dazu, wie Sie einen Pushbenachrichtigungskanal registrieren und an den Server senden, wie Sie eine Hintergrundaufgabe registrieren, die von einer unformatierten Pushbenachrichtigung aktiviert wird, und wie Sie eine unformatierte Pushbenachrichtigung an den Kanal senden und die Hintergrundaufgabe aktivieren finden Sie unter So wird's gemacht: Verwenden von WNS zur Übermittlung unformatierter Pushbenachrichtigungen an eine Sperrbildschirm-App.

Weitere Informationen zum Schreiben von Hintergrundaufgaben, um Hintergrund-Netzwerkbenachrichtigungen zu empfangen, die unformatierte Pushbenachrichtigungen verwenden, finden Sie unter So wird's gemacht: Schreiben von Hintergrundaufgaben für unformatierte Pushbenachrichtigungen.

Weitere Informationen zu Richtlinien und Prüflisten für die Verwendung von unformatierten Pushbenachrichtigungen finden Sie unter

Richtlinien und Prüfliste für unformatierte Benachrichtigungen.

Verwandte Themen

Weitere Ressourcen

Hinzufügen von Unterstützung für Netzwerke

Netzwerkfunktionen im Hintergrund

Signalübersicht

Richtlinien und Prüfliste für unformatierte Benachrichtigungen

So wird's gemacht: Verwenden von WNS zur Übermittlung unformatierter Pushbenachrichtigungen an eine Sperrbildschirm-App

So wird's gemacht: Schreiben von Hintergrundaufgaben für unformatierte Pushbenachrichtigungen

Übersicht über den Sperrbildschirm

Übersicht über Pushbenachrichtigungen

Unterstützen von Apps durch Hintergrundaufgaben

Übersicht über Kacheln und Kachelbenachrichtigungen

Übersicht über Popupbenachrichtigungen

Übertragen von Daten im Hintergrund

Problembehandlung und Debuggen von Netzwerkverbindungen

Referenz

HttpClient

HttpClientHandler

IXMLHTTPRequest2

System.Net.Http

Windows.ApplicationModel.Background

Windows.Networking.BackgroundTransfer

Windows.Networking.PushNotifications

Windows.Networking.Sockets

Beispiele

Beispiel für eine Hintergrundaufgabe

Beispiel für Sperrbildschirm-Apps

Beispiel für clientseitige Pushbenachrichtigungen und periodische Benachrichtigungen

Beispiel für unformatierte Benachrichtigungen