Junior — Middle
Que alterações precisam ser feitas no código do sistema para suportar o processamento de notificações push?
sobes.tech IA
Resposta da IA
Para suportar o processamento de notificações push numa aplicação iOS, é necessário fazer as seguintes alterações:
- Registar para receber notificações push
Adicionar um pedido de permissão no AppDelegate:
import UserNotifications
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
- Processar o registo do dispositivo
Implementar os métodos do delegado para obter o token do dispositivo:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Enviar deviceToken para o servidor
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Falha no registo: \(error)")
}
- Processar notificações recebidas
Implementar métodos para lidar com notificações quando a aplicação está em segundo plano ou ativo:
import UserNotifications
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
// Processar notificação quando a aplicação está ativa
completionHandler([.alert, .sound])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
// Processar clique na notificação
completionHandler()
}
}
- Configuração de capabilities
No Xcode, ativar Push Notifications na secção Signing & Capabilities.
Assim, a aplicação poderá receber e processar notificações push do servidor.