Freigeben über


watchOS-Benachrichtigungen in Xamarin

Überwachungs-Apps können Benachrichtigungen empfangen, wenn die enthaltende iOS-App sie unterstützt. Es gibt eine integrierte Benachrichtigungsbehandlung, sodass Sie die unten beschriebene zusätzliche Unterstützung für Benachrichtigungen nicht hinzufügen müssen . Wenn Sie jedoch das Benachrichtigungsverhalten und die Darstellung anpassen möchten, lesen Sie weiter.

Weitere Informationen zum Hinzufügen der Benachrichtigungsunterstützung zur iOS-App in Ihrer Lösung finden Sie im Dokument "iOS-Benachrichtigungen".

Erstellen von Benachrichtigungscontrollern

Auf den Storyboard-Benachrichtigungscontrollern gibt es einen speziellen Typ von Segue-Triggern. Wenn Sie einen neuen Benachrichtigungsschnittstellencontroller auf ein Storyboard ziehen, wird automatisch ein Segue angefügt:

Ein neuer Benachrichtigungsschnittstellencontroller mit angefügtem Segue

Wenn die Benachrichtigung segue ausgewählt ist, können Sie dessen Eigenschaften bearbeiten:

Die ausgewählte Benachrichtigung

Nachdem Sie den Controller angepasst haben, sieht er wie in diesem Beispiel aus dem WatchKitCatalog aus:

Die Benachrichtigungseigenschaften

Es gibt zwei Arten von Benachrichtigungen:

  • Kurzer Blick – nicht bildlauffähige statische Ansicht, die vom System definiert wird.

  • Long-Look – bildlauffähige, anpassbare Ansicht, die von Ihnen definiert wurde! Eine einfachere, statische Version und eine komplexere dynamische Version können angegeben werden.

Kurzblick-Benachrichtigungscontroller

Die Kurzansicht-UI besteht aus nur dem App-Symbol, dem App-Namen und der Benachrichtigungstitelzeichenfolge.

Wenn der Benutzer die Benachrichtigung nicht ignoriert, wechselt das System automatisch zu einer long-look-Benachrichtigung, die weitere Informationen bereitstellt.

Long-Look Notification Controller

Das Betriebssystem entscheidet, ob die statische oder dynamische Ansicht basierend auf einer Reihe von Faktoren angezeigt werden soll. Sie müssen eine statische Schnittstelle bereitstellen und optional auch eine dynamische Schnittstelle für Benachrichtigungen einschließen.

statischen

Die statische Ansicht sollte einfach und schnell angezeigt werden.

Die statische Ansicht

Dynamisch

Die dynamische Ansicht kann mehr Daten anzeigen und mehr Interaktivität bieten.

Die dynamische Ansicht

Generieren von Benachrichtigungen

Benachrichtigungen können von einem Remoteserver stammen oder lokal in der iOS-App generiert werden.

Ein Beispiel zum Generieren lokaler Benachrichtigungen finden Sie in der exemplarischen Vorgehensweise für iOS-Benachrichtigungen.

Lokale Benachrichtigungen müssen den AlertTitle Satz haben, der auf der Apple Watch angezeigt werden soll – die AlertTitle Zeichenfolge wird in der Short-Look-Schnittstelle angezeigt. Sowohl die AlertTitle AlertBody Benachrichtigungsliste als auch die AlertBody Anzeige erfolgt über die Long-Look-Schnittstelle.

Dieser Screenshot zeigt die AlertTitle Anzeige in der Benachrichtigungsliste und die AlertBody anzeige in der Long-Look-Schnittstelle:

Dieser Screenshot zeigt, dass alertTitle in der Benachrichtigungsliste angezeigt wird. Der AlertBody, der in der Long-Look-Schnittstelle angezeigt wird

Testen von Benachrichtigungen

Benachrichtigungen (sowohl lokal als auch remote) können nur auf einem Gerät ordnungsgemäß getestet werden, sie können jedoch mithilfe einer .json-Datei im iOS-Simulator simuliert werden.

Testen auf Apple Watch

Denken Sie beim Testen von Benachrichtigungen auf einer Apple Watch daran, dass die Dokumentation von Apple Folgendes besagt:

Wenn eine der lokalen oder Remotebenachrichtigungen Ihrer App auf dem iPhone des Benutzers eintrifft, entscheidet iOS, ob diese Benachrichtigung auf dem iPhone oder auf der Apple Watch angezeigt werden soll.

Dies ist darauf zurückzuführen, dass iOS entscheidet, ob eine Benachrichtigung auf dem iPhone oder auf der Watch angezeigt wird. Wenn das gekoppelte iPhone aktiv ist, wenn eine Benachrichtigung empfangen wird, wird die Benachrichtigung wahrscheinlich auf dem iPhone angezeigt und nicht an die Watch weitergeleitet.

Um sicherzustellen, dass die Benachrichtigung auf der Uhr angezeigt wird, deaktivieren Sie den iPhone-Bildschirm (einmal die Ein/Aus-Taste), oder lassen Sie sie in den Ruhezustand wechseln. Wenn sich die gekoppelte Uhr im Bereich befindet, macht und am Handgelenk getragen wird, wird die Benachrichtigung dorthin geleitet und auf der Uhr angezeigt (begleitet von einem subtilen).

Testen des iOS-Simulators

Sie müssen beim Testen des Benachrichtigungsmodus im iOS-Simulator eine JSON-Testnutzlast bereitstellen. Legen Sie den Pfad im Fenster "Benutzerdefinierte Ausführungsargumente" in Visual Studio für Mac fest.

Visual Studio für Mac zeigt zusätzliche Optionen an, wenn eine Überwachungserweiterung als Startprojekt. Klicken Sie mit der rechten Maustaste auf das Überwachungserweiterungsprojekt, und wählen Sie " Mit > benutzerdefinierten Parametern ausführen"...:

Ausführen mit benutzerdefinierten Eigenschaften

Dadurch wird das Fenster "Ausführungsargumente" geöffnet, das eine WatchKit-Registerkarte enthält. Wählen Sie Benachrichtigung aus, und stellen Sie eine JSON-Nutzlast bereit, und drücken Sie dann "Ausführen", um die Überwachungs-App im Simulator zu starten:

Standardeinstellung für Benachrichtigungsnutzlast auswählen

Der Standardmäßige Benachrichtigungscontroller sieht beim Testen des Simulators mit der STANDARDMÄßIGen NUTZLAST-JSON-Datei wie folgt aus:

Beispielbenachrichtigung

Es ist auch möglich, die Befehlszeile zum Starten des iOS Simulators zu verwenden.

Beispiel-Benachrichtigungsnutzlast

Eine Beispiel-JSON-Nutzlastdatei NotificationPayload.json wird unten gezeigt:

{
    "aps": {
        "alert": "Test message content",
        "title": "Optional title",
        "category": "myCategory"
        },

        "WatchKit Simulator Actions": [
        {
            "title": "First Button",
            "identifier": "firstButtonAction"
        }
        ],

        "customKey": "Use this file to define a testing payload for your notifications. The aps dictionary specifies the category, alert text and title. The WatchKit Simulator Actions array can provide info for one or more action buttons in addition to the standard Dismiss button. Any other top level keys are custom payload. If you have multiple such JSON files in your project, you'll be able to choose between them in when selecting to debug the notification interface of your Watch App."
    }