Junior — Middle
Ce modificări trebuie făcute în codul sistemului pentru a suporta procesarea notificărilor push?
sobes.tech AI
Răspuns de la AI
Pentru a suporta procesarea notificărilor push într-o aplicație iOS, trebuie să faceți următoarele modificări:
- Înregistrare pentru primirea notificărilor push
Adăugați o solicitare de permisiune în AppDelegate:
import UserNotifications
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
- Procesarea înregistrării dispozitivului
Implementați metodele delegate pentru a obține token-ul dispozitivului:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Trimiteți deviceToken către server
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Eșec în înregistrare: \(error)")
}
- Procesarea notificărilor primite
Implementați metode pentru a gestiona notificările atunci când aplicația este în fundal sau activă:
import UserNotifications
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
// Procesarea notificării când aplicația este activă
completionHandler([.alert, .sound])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
// Procesarea clicului pe notificare
completionHandler()
}
}
- Configurarea capabilităților
În Xcode, activați Push Notifications în secțiunea Signing & Capabilities.
Astfel, aplicația va putea primi și procesa notificări push de la server.