Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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.