Pular para o conteúdo

Integração de notificações ricas do iOS

A partir do iOS 10, você pode anexar uma imagem estática ou animada, ou até mesmo um vídeo, às notificações push. O conteúdo será exibido diretamente na notificação quando o usuário pressioná-la com força (force-tap).

Habilitar essa funcionalidade é muito simples, com pouquíssima codificação envolvida. Vamos lá!

1. Criando uma Notification Service Extension

Anchor link to

Primeiro, crie uma Notification Service Extension. Essa extensão baixa o conteúdo que será mostrado ao usuário.

Adicione um novo target ao seu projeto (File -> New -> Target) e crie uma Notification Service Extension.

Criando uma Notification Service Extension

2. Código da Notification Service Extension

Anchor link to

O código baixa o anexo e chama o manipulador de conteúdo da notificação. Apenas copie e cole na sua extensão.

import UserNotifications
import 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)
}
}

3. Permitindo URLs de anexo não seguras

Anchor link to

A Notification Service Extension é um binário separado e tem seu próprio arquivo Info.plist. Adicione App Transport Security Settings com a flag Allow Arbitrary Loads definida como true ao arquivo Info.plist da extensão.

Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

4. Enviando uma notificação rica

Anchor link to

Para enviar uma notificação rica, basta especificar a URL do arquivo no campo BANNER URL.

Woosh! Pressione a notificação com força (force-tap) e pronto!

Compartilhe seu feedback conosco

Anchor link to

Seu feedback nos ajuda a criar uma experiência melhor, então adoraríamos ouvir de você se tiver algum problema durante o processo de integração do SDK. Se você enfrentar alguma dificuldade, não hesite em compartilhar suas opiniões conosco através deste formulário.