Перейти к содержанию

Push-уведомления с каруселью изображений для iOS

Протокол UNNotificationContentExtension предоставляет точку входа для расширения содержимого уведомлений, которое отображает пользовательский интерфейс для уведомлений вашего приложения.

1. Добавьте расширение содержимого уведомлений (Notification Content Extension)

Anchor link to

В Xcode выберите File > New > Target…

Выберите Notification Content Extension

Назовите его NotificationContentExtension

2. Добавьте код в ваше приложение

Anchor link to

Скачайте PWNotificationExtension с Github и замените PWNotificationContentExtension в вашем проекте Xcode на одноименный файл с Github.

3. Категория уведомлений

Anchor link to

Добавьте приведенный ниже код в ваш файл AppDelegate.swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if #available(iOS 10.0, *) {
let options: UNAuthorizationOptions = [.alert]
UNUserNotificationCenter.current().requestAuthorization(options: options) { (authorized, error) in
if authorized {
let categoryIdentifier = "PWNotificationCarousel"
let carouselNext = UNNotificationAction(identifier: "PWNotificationCarousel.next", title: "➡️ RIGHT", options: [])
let carouselPrevious = UNNotificationAction(identifier: "PWNotificationCarousel.previous", title: "⬅️ LEFT", options: [])
let carouselCategory = UNNotificationCategory(identifier: categoryIdentifier, actions: [carouselNext, carouselPrevious], intentIdentifiers: [], options: [])
UNUserNotificationCenter.current().setNotificationCategories([carouselCategory])
}
}
}
return true
}

4. Отправьте push-уведомление

Anchor link to

Категория iOS:

Отправьте push-уведомление с APS JSON:

APS JSON
{
"aps":{
"category":"PWNotificationCarousel"
}
}

Пользовательские данные

Вы должны перечислить URL изображений через запятую ,

Пример
{
"images":"image1.jpg, image2.jpg, image3.jpg"
}

После получения push-уведомления вам потребуется сделать долгое нажатие или смахнуть влево и нажать «Просмотреть», чтобы развернуть уведомление, в зависимости от версии iOS.