NotificationService

O Notification Service Extension é usado para modificar notificações push antes de serem exibidas, como adicionar imagens, vídeos ou som. Isso é necessário para que a SDK da Inngage possa exibir Rich Push Notifications com imagens, por exemplo.

Como criar um Notification Service Extension no iOS

  1. Abra o seu projeto no Xcode
  2. Vá em File > New > Target...
  3. Selecione Notification Service Extension
  4. Nomeie como NotificationService
  5. Clique em Finish
  6. Se o Xcode perguntar se deseja ativar a extensão no esquema de build, clique em Activate

Implementação do NotificationService.swift com suporte à Inngage

Aqui está o código completo e atualizado com a chamada do InngageImageHelper:

import UserNotifications
import InngageSDK

class NotificationService: UNNotificationServiceExtension {

    var contentHandler: ((UNNotificationContent) -> Void)?
    var bestAttemptContent: UNMutableNotificationContent?

    override func didReceive(
        _ request: UNNotificationRequest,
        withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
    ) {
        self.contentHandler = contentHandler
        bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)

        guard let content = bestAttemptContent else {
            contentHandler(request.content)
            return
        }

        InngageImageHelper.attachment(from: content.userInfo) { attachment in
            if let attachment = attachment {
                content.attachments = [attachment]
            }
            contentHandler(content)
        }
    }

    override func serviceExtensionTimeWillExpire() {
        if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
            contentHandler(bestAttemptContent)
        }
    }
}