Интеграция Rich-уведомлений для iOS
Начиная с iOS 10, вы можете прикреплять к push-уведомлениям статическое или анимированное изображение или даже видео. Оно будет отображаться прямо в уведомлении, когда пользователь нажмет на него с усилием (force-tap).
Включить эту функциональность очень просто, и это почти не требует написания кода. Давайте сделаем это!
1. Создание Notification Service Extension
Anchor link toСначала создайте Notification Service Extension. Это расширение загружает контент, который будет показан пользователю.
Добавьте новую цель (target) в ваш проект (File -> New -> Target) и создайте Notification Service Extension.

2. Код Notification Service Extension
Anchor link toЭтот код загружает вложение и вызывает обработчик контента уведомления. Просто скопируйте и вставьте его в ваше расширение.
import UserNotificationsimport PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler) }}#import "PWNotificationExtensionManager.h"
@interface NotificationService : UNNotificationServiceExtension
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];}
@end3. Разрешение небезопасных URL-адресов вложений
Anchor link toNotification Service Extension — это отдельный бинарный файл, у которого есть собственный файл Info.plist.
Добавьте App Transport Security Settings с флагом Allow Arbitrary Loads, установленным в значение true, в файл Info.plist расширения.
Info.plist:
<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>4. Отправка rich-уведомления
Anchor link toЧтобы отправить rich-уведомление, просто укажите URL-адрес файла в поле BANNER URL.

Вуаля! Нажмите на уведомление с усилием (force-tap), и все готово!
Поделитесь с нами своим мнением
Anchor link toВаши отзывы помогают нам улучшать наш продукт, поэтому мы будем рады, если вы поделитесь с нами своим мнением в случае возникновения проблем в процессе интеграции SDK. Если вы столкнетесь с какими-либо трудностями, пожалуйста, не стесняйтесь поделиться своими мыслями с нами через эту форму.