Powiadomienia systemu watchOS na platformie Xamarin

Aplikacje do obejrzenia mogą otrzymywać powiadomienia, jeśli aplikacja zawierająca system iOS je obsługuje. Istnieje wbudowana obsługa powiadomień, dlatego nie trzeba dodawać dodatkowej obsługi powiadomień opisanej poniżej, jednak jeśli chcesz dostosować zachowanie i wygląd powiadomień, a następnie przeczytać dalej.

Aby uzyskać więcej informacji na temat dodawania obsługi powiadomień do aplikacji systemu iOS w rozwiązaniu, zapoznaj się z dokumentem Notifications (Powiadomienia systemu iOS).

Tworzenie kontrolerów powiadomień

Na tablicy powiadomień scenorysów kontrolery mają specjalny typ wyzwalania segue. Po przeciągnięciu nowego kontrolera interfejsu powiadomień na scenorys będzie on automatycznie dołączony do segue:

A new Notification Interface Controller with a segue attached

Po wybraniu segue powiadomień można edytować jego właściwości:

The notification segue selected

Po dostosowaniu kontrolera może on wyglądać podobnie do tego przykładu z pliku WatchKitCatalog:

The Notification Properties

Istnieją dwa typy powiadomień:

  • Krótki wygląd — nie przewijany widok statyczny zdefiniowany przez system.

  • Długi wygląd — przewijany, dostosowywalny widok zdefiniowany przez Ciebie! Można określić prostszą, statyczną wersję i bardziej złożoną wersję dynamiczną.

Kontroler powiadomień z krótkim wyglądem

Krótki wygląd interfejsu użytkownika składa się tylko z ikony aplikacji, nazwy aplikacji i ciągu tytułu powiadomienia.

Jeśli użytkownik nie zignoruje powiadomienia, system automatycznie przełączy się na długo wyglądające powiadomienie, które zawiera więcej informacji.

Długi wygląd kontrolera powiadomień

System operacyjny decyduje, czy wyświetlać widok statyczny lub dynamiczny na podstawie wielu czynników. Musisz podać interfejs statyczny i opcjonalnie może również zawierać interfejs dynamiczny dla powiadomień.

Static

Widok statyczny powinien być prosty i szybki do wyświetlenia.

The static view

Dynamiczny

Widok dynamiczny może wyświetlać więcej danych i zapewniać większą interakcyjność.

The dynamic view

Generowanie powiadomień

Powiadomienia mogą pochodzić z serwera zdalnego lub mogą być generowane lokalnie w aplikacji systemu iOS.

Zapoznaj się z przewodnikiem po powiadomieniach systemu iOS, aby zapoznać się z przykładem generowania powiadomień lokalnych.

Powiadomienia lokalne muszą być AlertTitle wyświetlane na zegarku Apple Watch — AlertTitle ciąg jest wyświetlany w interfejsie Short-Look. Zarówno element , jak AlertTitle i AlertBody są wyświetlane na liście powiadomień, a element AlertBody jest wyświetlany w interfejsie Long-Look.

Ten zrzut ekranu przedstawia wyświetlane na AlertTitle liście powiadomień oraz AlertBody wyświetlane w interfejsie Long-Look:

This screenshot shows the AlertTitle being displayed in the notifications listThe AlertBody displayed in the Long-Look interface

Testowanie powiadomień

Powiadomienia (zarówno lokalne, jak i zdalne) mogą być prawidłowo testowane tylko na urządzeniu, jednak można je symulować przy użyciu pliku .json w symulatorze systemu iOS.

Testowanie na zegarku Apple Watch

Podczas testowania powiadomień na zegarku Apple Watch należy pamiętać, że dokumentacja firmy Apple określa następujące kwestie :

Gdy jedno z powiadomień lokalnych lub zdalnych aplikacji zostanie wyświetlone na urządzeniu i Telefon użytkownika, system iOS decyduje, czy wyświetlić to powiadomienie na urządzeniu i Telefon czy na zegarku Apple Watch.

Oznacza to fakt, że system iOS decyduje, czy na urządzeniu i Telefon czy na zegarku pojawi się powiadomienie. Jeśli sparowany element i Telefon jest aktywny po odebraniu powiadomienia, powiadomienie będzie prawdopodobnie wyświetlane na urządzeniu i Telefon i nie jest kierowane do zegarka.

Aby upewnić się, że powiadomienie jest wyświetlane na zegarku, wyłącz ekran i Telefon (naciśnięcie przycisku zasilania raz) lub pozwól mu spać. Jeśli sparowany zegarek jest w zasięgu, ma moc i jest noszony na nadgarstku, powiadomienie będzie kierowane tam i pojawia się na zegarku (w towarzystwie subtelnego ).

Testowanie w symulatorze systemu iOS

Podczas testowania trybu powiadomień w symulatorze systemu iOS należy podać testowy ładunek JSON. Ustaw ścieżkę w oknie Argumenty wykonywania niestandardowego w Visual Studio dla komputerów Mac.

Visual Studio dla komputerów Mac wyświetli dodatkowe opcje po ustawieniu rozszerzenia zegarka jakoProjekt startowy. Kliknij prawym przyciskiem myszy projekt rozszerzenia zegarka i wybierz polecenie Uruchom z > niestandardowymi parametrami...:

Running with Custom Properties

Spowoduje to otwarcie okna Argumenty wykonywania zawierającego kartę WatchKit . Wybierz pozycję Powiadomienie i podaj ładunek JSON, a następnie naciśnij przycisk Wykonaj , aby uruchomić aplikację zegarka w symulatorze:

Select Notification Payload Default

Domyślny kontroler powiadomień wygląda następująco podczas testowania w symulatorze z domyślnym plikiem JSON ładunku:

An example notification

Można również użyć wiersza polecenia, aby uruchomić symulator systemu iOS.

Przykładowy ładunek powiadomień

W przykładzie katalogu zestawu watch kit znajduje się przykładowy plik JSON ładunku NotificationPayload.json (wymieniony poniżej).

{
    "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."
    }