Sobes.tech
Junior — Middle

Opowiedz o swoim doświadczeniu w integracji i pracy z powiadomieniami push w aplikacjach

sobes.tech AI

Odpowiedź od AI

Na iOS, do obsługi powiadomień push używałem Apple Push Notification Service (APNs). Główne kroki obejmują rejestrację urządzenia do odbierania powiadomień push, uzyskanie tokenu urządzenia i wysłanie go na serwer, który następnie wysyła powiadomienia przez APNs.

Aby zarejestrować i obsługiwać powiadomienia w aplikacji, korzystam z metod UNUserNotificationCenter i UIApplicationDelegate:

import UserNotifications

// Zapytanie użytkownika o pozwolenie
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}

// Uzyskanie tokenu urządzenia
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)")
    // Wysyłanie tokenu na serwer
}

// Obsługa otrzymanych powiadomień
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    // Przetwarzanie danych powiadomienia
    completionHandler()
}

Ważne jest również, aby pamiętać, że aby powiadomienia push działały poprawnie, należy skonfigurować certyfikaty i profile w Apple Developer Center oraz na stronie serwera.