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:
- 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()
}
}
}
- 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)")
}
- 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()
}
}
- 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.