iOS
Расширение для расширенного Push-уведомления - iOS 10.
Поиск…
Вступление
iOS 10 предоставил нам UserNotifications.framework
, новый API для локальных / удаленных уведомлений. Он предлагает просмотр вложений в медиа или ответы на сообщения прямо из уведомления.
Содержание уведомлений состоит из: названия, субтитров, тела и вложения. Приложение может содержать изображения / gifs / videos до 50 мб.
Расширение содержимого уведомлений
Зачем нам это нужно?
Расширение содержимого помогает нам создавать пользовательский интерфейс при расширении уведомлений.
Вы используете эту структуру для определения расширения, которое получает данные уведомления и предоставляет соответствующее визуальное представление. Ваше расширение также может реагировать на пользовательские действия, связанные с этими уведомлениями.
Реализация
- В окне xCode
Navigator
перейдите в разделTargets
. НажмитеAdd New Target
. - Выберите шаблон
Notification Content Extension
:
- В файле
info.plist
укажите идентификатор ключаUNNotificationExtensionCategory
:
NSExtensionAttributes :
UNNotificationExtensionCategory
(обязательно)
Значение этого ключа представляет собой строку или массив строк. Каждая строка содержит идентификатор категории, объявленной приложением, с использованием класса категории UNNotification.
UNNotificationExtensionInitialContentSizeRatio
(обязательно)
Номер, представляющий начальный размер представления вашего контроллера представления, выраженный как отношение его высоты к его ширине.
UNNotificationExtensionDefaultContentHidden
(необязательно)
Если установлено значение YES, система отображает только ваш пользовательский контроллер представления в интерфейсе уведомления. Если установлено значение НЕТ, система отображает контент уведомления по умолчанию в дополнение к содержимому вашего контроллера.
UNNotificationExtensionOverridesDefaultTitle
(необязательно)
Значение этого ключа является логическим. Если установлено значение true, система использует свойство title вашего контроллера представления как название уведомления. Когда установлено значение false, система устанавливает название уведомления на имя вашего приложения. Если вы не укажете этот ключ, значение по умолчанию будет установлено на false.
- Создание пользовательского представления в файле
NotificationViewController.swift
- Добавьте новый
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