Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como usar o UNUserNotificationCenterDelegate no ambiente Apple

O UNUserNotificationCenterDelegate é uma classe do framework UserNotifications da Apple que permite a personalização e manipulação de notificações push no iOS, macOS e watchOS. Neste artigo, vamos explorar como utilizar o UNUserNotificationCenterDelegate para lidar com notificações em um aplicativo Apple.

Para começar, é necessário implementar o protocolo UNUserNotificationCenterDelegate em uma classe do seu aplicativo. Vamos criar uma classe chamada NotificationDelegate que irá lidar com as notificações:

import UserNotifications

class NotificationDelegate: NSObject, UNUserNotificationCenterDelegate {

    // Método chamado quando a notificação é recebida enquanto o aplicativo está em primeiro plano
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        // Aqui você pode personalizar a exibição da notificação
        completionHandler([.alert, .sound, .badge])
    }

    // Método chamado quando a notificação é recebida enquanto o aplicativo está em segundo plano ou fechado
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        // Aqui você pode lidar com a ação realizada pelo usuário ao tocar na notificação
        completionHandler()
    }
}

Agora, vamos registrar a classe NotificationDelegate como o delegate do UNUserNotificationCenter no método didFinishLaunchingWithOptions do AppDelegate:

import UIKit
import UserNotifications

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // Registrar a classe NotificationDelegate como o delegate do UNUserNotificationCenter
        UNUserNotificationCenter.current().delegate = NotificationDelegate()

        // Restante do código do didFinishLaunchingWithOptions...

        return true
    }

    // Restante do código do AppDelegate...
}

Agora, sempre que uma notificação for recebida, o UNUserNotificationCenterDelegate irá chamar os métodos adequados na classe NotificationDelegate. No método userNotificationCenter(:willPresent:withCompletionHandler:), você pode personalizar a exibição da notificação, como exibir um alerta, reproduzir um som ou atualizar o ícone do aplicativo. No método userNotificationCenter(:didReceive:withCompletionHandler:), você pode lidar com a ação realizada pelo usuário ao tocar na notificação.

Caso o ambiente Apple não seja aplicável, uma alternativa viável seria utilizar o Firebase Cloud Messaging (FCM) da Google. O FCM é uma plataforma de mensagens em nuvem que permite o envio de notificações push para aplicativos Android, iOS e Web. Ele oferece recursos semelhantes ao UNUserNotificationCenterDelegate, como personalização da exibição de notificações e manipulação de ações do usuário. Para utilizá-lo, é necessário integrar o SDK do FCM ao seu aplicativo e configurar as notificações no painel do Firebase.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.