Sobes.tech
Junior — Middle

Aké zmeny je potrebné vykonať v kóde systému na podporu spracovania push notifikácií?

sobes.tech AI

Odpoveď od AI

Na podporu spracovania push oznámení v iOS aplikácii je potrebné vykonať nasledujúce zmeny:

  1. Registrácia na príjem push oznámení

Pridajte žiadosť o povolenie do AppDelegate:

import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}
  1. Spracovanie registrácie zariadenia

Implementujte delegátne metódy na získanie device tokenu:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    // Odoslať deviceToken na server
}

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    print("Registrácia zlyhala: \(error)")
}
  1. Spracovanie prichádzajúcich oznámení

Implementujte metódy na spracovanie oznámení, keď je aplikácia na pozadí alebo aktívna:

import UserNotifications

extension AppDelegate: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, 
                                willPresent notification: UNNotification, 
                                withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        // Spracovanie oznámenia pri aktívnej aplikácii
        completionHandler([.alert, .sound])
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, 
                                didReceive response: UNNotificationResponse, 
                                withCompletionHandler completionHandler: @escaping () -> Void) {
        // Spracovanie kliknutia na oznámenie
        completionHandler()
    }
}
  1. Konfigurácia capabilities

V Xcode aktivujte Push Notifications v sekcii Signing & Capabilities.

Týmto spôsobom bude aplikácia schopná prijímať a spracovávať push oznámenia zo servera.