Sobes.tech
Junior — Middle

Разкажете ни за вашия опит с интегрирането и работата с push известия в приложенията

sobes.tech AI

Отговор от AI

В iOS за работа с push известия използвах Apple Push Notification Service (APNs). Основните стъпки включват регистрация на устройството за получаване на push известия, получаване на device token и изпращането му към сървъра, който след това изпраща известия чрез APNs.

За регистрация и обработка на известия в приложението използвам методите от UNUserNotificationCenter и UIApplicationDelegate:

import UserNotifications

// Заявка за разрешение от потребителя
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}

// Получаване на device token
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)")
    // Изпращане на token към сървъра
}

// Обработка на получени известия
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    // Обработка на данните от известието
    completionHandler()
}

Също така е важно да се има предвид, че за правилната работа на push известията трябва да се настроят сертификати и профили в Apple Developer Center и на сървърната страна.