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":{ "category":"PWNotificationCarousel" }}
Пользовательские данные
Вы должны перечислить URL изображений через запятую ,

{ "images":"image1.jpg, image2.jpg, image3.jpg"}
После получения push-уведомления вам потребуется сделать долгое нажатие или смахнуть влево и нажать «Просмотреть», чтобы развернуть уведомление, в зависимости от версии iOS.