Sobes.tech
Junior — Middle

რა ცვლილებებია საჭირო სისტემის კოდში, რათა მხარდაჭერა მიეცეს push-შეტყობინებების დამუშავებას?

sobes.tech AI

პასუხი AI-სგან

iOS პროგრამაში push შეტყობინებების დამუშავების მხარდაჭერისთვის საჭიროა შემდეგი ცვლილებების შეტანა:

  1. რეგისტრაცია push შეტყობინებების მისაღებად

AppDelegate-ში დაამატეთ მომხმარებლის ნებართვის მოთხოვნა:

import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}
  1. გადაწყვეტილების მიღება მოწყობილობის რეგისტრაციის შესახებ

მეთოდების განხორციელება device token-ის მიღებისთვის:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    // გამოგზავნეთ deviceToken სერვერზე
}

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    print("რეგისტრაცია ვერ მოხერხდა: \(error)")
}
  1. შემომავალი შეტყობინებების დამუშავება

მეთოდების განხორციელება შეტყობინებების დამუშავებისთვის, როდესაც აპლიკაცია ფონის რეჟიმშია და აქტიურ მდგომარეობაში:

import UserNotifications

extension AppDelegate: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, 
                                willPresent notification: UNNotification, 
                                withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        // შეტყობინების დამუშავება აქტიურ აპლიკაციაში
        completionHandler([.alert, .sound])
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, 
                                didReceive response: UNNotificationResponse, 
                                withCompletionHandler completionHandler: @escaping () -> Void) {
        // შეტყობინებაზე დაჭერის დამუშავება
        completionHandler()
    }
}
  1. მხარდაჭერის კონფიგურაცია

Xcode-ში გააქტიურეთ Push Notifications Signing & Capabilities განყოფილებაში.

ამ გზით, აპლიკაცია შეძლებს მიიღოს და დამუშავოს სერვერისგან push შეტყობინებები.