Sobes.tech
Junior — Middle

Povězte nám o své zkušenosti s integrací a prací s push notifikacemi v aplikacích

sobes.tech AI

Odpověď od AI

V iOS jsem pro práci s push notifikacemi používal Apple Push Notification Service (APNs). Hlavní kroky zahrnují registraci zařízení pro příjem push notifikací, získání device tokenu a jeho odeslání na server, který poté posílá notifikace přes APNs.

Pro registraci a zpracování notifikací v aplikaci používám metody z UNUserNotificationCenter a UIApplicationDelegate:

import UserNotifications

// Žádost o povolení od uživatele
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}

// Získání device tokenu
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)")
    // Odeslání tokenu na server
}

// Zpracování přijatých notifikací
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    // Zpracování dat notifikace
    completionHandler()
}

Je také důležité poznamenat, že pro správnou funkci push notifikací je nutné nakonfigurovat certifikáty a profily v Apple Developer Center a na serverové straně.