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ě.