Поиск…


Вступление

iOS 10 предоставил нам UserNotifications.framework , новый API для локальных / удаленных уведомлений. Он предлагает просмотр вложений в медиа или ответы на сообщения прямо из уведомления.

Содержание уведомлений состоит из: названия, субтитров, тела и вложения. Приложение может содержать изображения / gifs / videos до 50 мб.

Расширение содержимого уведомлений

Зачем нам это нужно?

Расширение содержимого помогает нам создавать пользовательский интерфейс при расширении уведомлений.

Вы используете эту структуру для определения расширения, которое получает данные уведомления и предоставляет соответствующее визуальное представление. Ваше расширение также может реагировать на пользовательские действия, связанные с этими уведомлениями.

Реализация

  1. В окне xCode Navigator перейдите в раздел Targets . Нажмите Add New Target .
  2. Выберите шаблон Notification Content Extension :

введите описание изображения здесь

  1. В файле info.plist укажите идентификатор ключа UNNotificationExtensionCategory :

введите описание изображения здесь

NSExtensionAttributes :

UNNotificationExtensionCategory (обязательно)

Значение этого ключа представляет собой строку или массив строк. Каждая строка содержит идентификатор категории, объявленной приложением, с использованием класса категории UNNotification.

UNNotificationExtensionInitialContentSizeRatio (обязательно)

Номер, представляющий начальный размер представления вашего контроллера представления, выраженный как отношение его высоты к его ширине.

UNNotificationExtensionDefaultContentHidden (необязательно)

Если установлено значение YES, система отображает только ваш пользовательский контроллер представления в интерфейсе уведомления. Если установлено значение НЕТ, система отображает контент уведомления по умолчанию в дополнение к содержимому вашего контроллера.

UNNotificationExtensionOverridesDefaultTitle (необязательно)

Значение этого ключа является логическим. Если установлено значение true, система использует свойство title вашего контроллера представления как название уведомления. Когда установлено значение false, система устанавливает название уведомления на имя вашего приложения. Если вы не укажете этот ключ, значение по умолчанию будет установлено на false.

  1. Создание пользовательского представления в файле NotificationViewController.swift
  2. Добавьте новый category key и установите его значение в том, что мы ввели в Info.plist (шаг 3):

От себя:

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

Местный:

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

Также ознакомьтесь с официальной ссылкой 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow