Sobes.tech
Junior — Middle

Papaskinkite apie savo patirtį integruojant ir dirbant su push pranešimais programose

sobes.tech AI

Atsakymas iš AI

iOS, norėdamas dirbti su push pranešimais, naudoja Apple Push Notification Service (APNs). Pagrindiniai žingsniai apima įrenginio registravimą gauti push pranešimus, gauti įrenginio žetoną ir jį siųsti į serverį, kuris tada siunčia pranešimus per APNs.

Norėdamas registruoti ir valdyti pranešimus programėlėje, naudoju UNUserNotificationCenter ir UIApplicationDelegate metodus:

import UserNotifications

// Prašyti leidimo iš vartotojo
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}

// Gauti įrenginio žetoną
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)")
    // Siųsti žetoną į serverį
}

// Apdoroti gautus pranešimus
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    // Apdoroti pranešimo duomenis
    completionHandler()
}

Taip pat svarbu pažymėti, kad norint tinkamai veikti push pranešimus, reikia sukonfigūruoti sertifikatus ir profilius Apple Developer Centre ir serveryje.