Saltar al contenido

Cómo configurar notificaciones push en Swift

Solución:

Rápido 2:

let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
UIApplication.sharedApplication().registerForRemoteNotifications()

Si bien la respuesta se da bien para manejar las notificaciones automáticas, todavía creo que compartir el caso completo integrado de una vez para facilitar:

Para registrar la aplicación para APNS, (incluya el siguiente código en el método didFinishLaunchingWithOptions dentro de AppDelegate.swift)


IOS 9

var settings : UIUserNotificationSettings = UIUserNotificationSettings(forTypes:UIUserNotificationType.Alert|UIUserNotificationType.Sound, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
UIApplication.sharedApplication().registerForRemoteNotifications()

Después de IOS 10

Marco de UserNotifications introducido:

Importe el marco de UserNotifications y agregue UNUserNotificationCenterDelegate en AppDelegate.swift


Para registrar la solicitud de APNS

let center = UNUserNotificationCenter.current()
center.requestAuthorization(options:[.badge, .alert, .sound]) { (granted, error) in

    // If granted comes true you can enabled features based on authorization.
    guard granted else { return }

    application.registerForRemoteNotifications()
}

Esto llamará al siguiente método delegado

func application(application: UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
//send this device token to server
}

//Called if unable to register for APNS.
func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) {

println(error)

}

Al recibir la notificación, el siguiente delegado llamará:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {

    println("Recived: (userInfo)")
   //Parsing userinfo:
   var temp : NSDictionary = userInfo
   if let info = userInfo["aps"] as? Dictionary<String, AnyObject> 
            {
                var alertMsg = info["alert"] as! String
                var alert: UIAlertView!
                alert = UIAlertView(title: "", message: alertMsg, delegate: nil, cancelButtonTitle: "OK")
                alert.show()
            }
}

Para identificar el permiso otorgado podemos usar:

UNUserNotificationCenter.current().getNotificationSettings(){ (setttings) in

        switch setttings.soundSetting{
        case .enabled:
            print("enabled sound")

        case .disabled:
            print("not allowed notifications")

        case .notSupported:
            print("something went wrong here")
        }
    }

Entonces, la lista de verificación de APNS:

  • Crear AppId permitido con notificación push
  • Cree un certificado SSL con un certificado válido y una identificación de la aplicación
  • Cree un perfil de aprovisionamiento con el mismo certificado y asegúrese de agregar un dispositivo en caso de sandboxing (aprovisionamiento de desarrollo)

Nota: Eso será bueno si crea un perfil de aprovisionamiento después del certificado SSL.

Con Código:

  • Registrar aplicación para notificaciones push
  • Manejar el método didRegisterForRemoteNotificationsWithDeviceToken
  • Establecer objetivos> Capacidad> Modos en segundo plano> Notificación remota
  • Manejar didReceiveRemoteNotification

Para registrarse para recibir notificaciones push a través del Servicio Push de Apple, debe llamar a un registerForRemoteNotifications() método de UIApplication.

Si el registro tiene éxito, la aplicación llama al objeto delegado de su aplicación. application:didRegisterForRemoteNotificationsWithDeviceToken: y le pasa un token de dispositivo.

Debe pasar este token al servidor que usa para generar notificaciones push para el dispositivo. Si el registro falla, la aplicación llama al delegado de su aplicación. application:didFailToRegisterForRemoteNotificationsWithError: método en su lugar.

Eche un vistazo a la Guía de programación de notificaciones push y locales.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *