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

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

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

1. Добавьте расширение контента уведомлений

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"
}
}

Пользовательские данные (Custom Data)

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

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

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