Sobes.tech
Junior — Middle

Fale-nos sobre a sua experiência na integração e trabalho com notificações push em aplicações

sobes.tech IA

Resposta da IA

No iOS, para trabalhar com notificações push, utilizei o Apple Push Notification Service (APNs). Os passos principais incluem registrar o dispositivo para receber notificações push, obter o token do dispositivo e enviá-lo ao servidor, que então envia notificações através do APNs.

Para registrar e lidar com notificações na aplicação, uso métodos de UNUserNotificationCenter e UIApplicationDelegate:

import UserNotifications

// Solicitar permissão ao utilizador
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}

// Obter o token do dispositivo
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) }
    let token = tokenParts.joined()
    print("Device Token: \(token)")
    // Enviar o token ao servidor
}

// Lidar com notificações recebidas
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    // Processar dados da notificação
    completionHandler()
}

Também é importante notar que, para que as notificações push funcionem corretamente, é necessário configurar certificados e perfis no Apple Developer Center e no lado do servidor.