Junior — Middle
Milyen változtatásokat kell végrehajtani a rendszer kódjában a push értesítések kezelésének támogatásához?
sobes.tech MI
Válasz az MI-től
Az iOS alkalmazásban a push értesítések kezelésének támogatásához a következő módosításokat kell végrehajtani:
- Regisztráció push értesítések fogadására
Adj hozzá engedély kérő kérdést az AppDelegate-hez:
import UserNotifications
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
- A készülék regisztrációjának feldolgozása
Implementáld a delegate metódusokat a device token megszerzéséhez:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Küldd el a deviceToken-t a szervernek
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Sikertelen regisztráció: \(error)")
}
- Bejövő értesítések kezelése
Implementáld a módszereket az értesítések kezelésére, amikor az alkalmazás háttérben vagy aktív állapotban van:
import UserNotifications
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
// Értesítés kezelése, amikor az alkalmazás aktív
completionHandler([.alert, .sound])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
// Értesítésre való kattintás kezelése
completionHandler()
}
}
- Képességek beállítása
Az Xcode-ban engedélyezze a Push Notifications-t a Signing & Capabilities szekcióban.
Így az alkalmazás képes lesz fogadni és kezelni a szerver által küldött push értesítéseket.