Pular para o conteúdo principal
O iOS fornece um protocolo UNNotificationContentExtension como ponto de entrada para uma extensão de aplicativo de conteúdo de notificação. Isso pode ser usado para exibir uma interface customizada para as notificações do seu aplicativo. Este guia de exemplo explica como usar isso para criar um carrossel dentro de uma notificação do iOS.

Imagem mostrando um carrossel em uma notificação push

1. Adicionar uma extensão de conteúdo de notificação

00355f9-Screen_Shot_2020-11-30_at_9.32.26_PM

No Xcode, selecione File > New > Target…
efd0fde-Screen_Shot_2020-11-30_at_3.10.58_PM

Selecione “Notification Content Extension”
0a0fa6a-Screen_Shot_2020-11-30_at_6.44.46_PM

Confirme a seleção na janela que aparece
ActivateContentExtension

Selecione activate para fazer debug

2. Adicionar código ao seu aplicativo

Baixe o OSNotificationContentExtension do Github e substitua o OSNotificationContentExtension no seu projeto Xcode pelo mesmo arquivo do Github. Você deve ver os seguintes arquivos adicionados:

Arquivos em Content Extension

3. Definir sua categoria de notificação

Este exemplo Declara o tipo de notificação acionável dentro do didFinishLaunchingWithOptions do AppDelegate.swift.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    //START Authorize OS Notification Carousel Category
    if #available(iOS 10.0, *) {
        let options: UNAuthorizationOptions = [.alert]
        UNUserNotificationCenter.current().requestAuthorization(options: options) { (authorized, error) in
            if authorized {
                let categoryIdentifier = "OSNotificationCarousel"
                let carouselNext = UNNotificationAction(identifier: "OSNotificationCarousel.next", title: "👉", options: [])
                let carouselPrevious = UNNotificationAction(identifier: "OSNotificationCarousel.previous", title: "👈", options: [])
                let carouselCategory = UNNotificationCategory(identifier: categoryIdentifier, actions: [carouselNext, carouselPrevious], intentIdentifiers: [], options: [])
                UNUserNotificationCenter.current().setNotificationCategories([carouselCategory])
            }
        }
    }
    //END Authorize OS Notification Carousel Category

    return true
}

4. Enviar sua notificação push

Ao Enviar mensagens push você pode definir a categoria iOS e dados customizados.

Categoria iOS

Use OSNotificationCarousel como a categoria iOS:
  • Dashboard
  • API
Defina em “Platform Settings” > Send to Apple iOS > “Category”

Opções da plataforma iOS no painel do OneSignal

Dados customizados

O OneSignal não tem uma opção para fazer upload de múltiplas imagens por notificação. Em vez disso, você deve listar as URLs das imagens separadas por vírgula ,
  • Dashboard
  • API
Defina em “Advanced Settings” > “Additional Data”Para a “Key” defina images e para o “Value” defina a lista de URLs separadas por vírgula sem aspas.
Exemplo, copiar e colar:
https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823_960_720.jpg,https://cdn.pixabay.com/photo/2013/11/28/10/36/road-220058_960_720.jpg,https://cdn.pixabay.com/photo/2012/08/27/14/19/mountains-55067_960_720.png,https://cdn.pixabay.com/photo/2015/01/28/23/35/landscape-615429_960_720.jpg,https://cdn.pixabay.com/photo/2016/05/05/02/37/sunset-1373171_960_720.jpg

Enviar o push

Uma vez que você receba o push, você precisará pressionar longamente ou deslizar para a esquerda e clicar em “View” para expandir a notificação dependendo da versão do iOS.

Leitura adicional