Szukaj…


Wprowadzenie

iOS 10 dał nam UserNotifications.framework , nowy interfejs API dla lokalnych / zdalnych powiadomień. Oferuje przeglądanie załączników multimedialnych lub odpowiadanie na wiadomości bezpośrednio z powiadomienia.

Treść powiadomienia składa się z: tytułu, podtytułu, treści i załącznika. Załącznik może zawierać obrazy / gify / filmy o wielkości do 50 mb.

Rozszerzenie treści powiadomienia

Dlaczego tego potrzebujemy?

Rozszerzenie treści pomaga nam stworzyć niestandardowy interfejs użytkownika po rozwinięciu powiadomienia.

Za pomocą tej struktury można zdefiniować rozszerzenie, które odbiera dane powiadomień i zapewnia odpowiednią reprezentację wizualną. Twoje rozszerzenie może także reagować na niestandardowe działania związane z tymi powiadomieniami.

Realizacja

  1. W oknie xCode Navigator przejdź do sekcji Targets . Naciśnij Add New Target .
  2. Wybierz szablon Notification Content Extension :

wprowadź opis zdjęcia tutaj

  1. W pliku info.plist ustaw identyfikator klucza UNNotificationExtensionCategory :

wprowadź opis zdjęcia tutaj

NSExtensionAttributes :

UNNotificationExtensionCategory (wymagane)

Wartością tego klucza jest ciąg znaków lub tablica ciągów znaków. Każdy ciąg zawiera identyfikator kategorii zadeklarowanej przez aplikację za pomocą klasy UNNotification Category.

UNNotificationExtensionInitialContentSizeRatio (wymagane)

Liczba reprezentująca początkowy rozmiar widoku kontrolera widoku wyrażona jako stosunek jego wysokości do szerokości.

UNNotificationExtensionDefaultContentHidden (opcjonalnie)

Po ustawieniu na TAK system wyświetla tylko niestandardowy kontroler widoku w interfejsie powiadomień. Po ustawieniu NIE, system wyświetla domyślną treść powiadomienia oprócz treści kontrolera widoku.

UNNotificationExtensionOverridesDefaultTitle (opcjonalnie)

Wartość tego klucza jest wartością logiczną. Po ustawieniu wartości true system używa właściwości title kontrolera widoku jako tytułu powiadomienia. Po ustawieniu wartości false system ustawia tytuł powiadomienia na nazwę Twojej aplikacji. Jeśli nie określisz tego klucza, wartością domyślną jest false.

  1. Utwórz niestandardowy widok w pliku NotificationViewController.swift
  2. Dodaj nowy category key i ustaw jego wartość na wpisaną w Info.plist (krok 3):

Pchać:

{
 aps: {
 alert: { … },
 category: 'io.swifting.notification-category' 
 }
}

Lokalny:

let mutableNotificationContent = UNMutableNotificationContent()
mutableNotificationContent.category = "io.swifting.notification-category"
mutableNotificationContent.title = "Swifting.io Notifications"
mutableNotificationContent.subtitle = "Swifting.io presents"
mutableNotificationContent.body = "Custom notifications"

Sprawdź także oficjalne odniesienie do interfejsu API: https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextension?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow