notification gcmmessageidkey fcm clave autenticación apns ios notifications

gcmmessageidkey - ios swift firebase notification



Verifique las configuraciones de usuario para notificaciones push en Swift (5)

Para iOS 10 o superior

Comprobar si se han habilitado notificaciones push para su aplicación ha cambiado drásticamente para Swift 3. Use esto en lugar de los ejemplos anteriores si está usando Swift 3.

let center = UNUserNotificationCenter.current() center.getNotificationSettings { (settings) in if(settings.authorizationStatus == .authorized) { print("Push authorized") } else { print("Push not authorized") } }

Aquí está la documentación de Apple sobre cómo refinar aún más su cheque: https://developer.apple.com/reference/usernotifications/unnotificationsettings/1648391-authorizationstatus

Tengo notificaciones push en mi aplicación. Cada vez que se inicie la aplicación, me gustaría verificar si el usuario ha habilitado la notificación de inserción para mi aplicación.

Lo hago de esta manera:

let notificationType = UIApplication.sharedApplication().currentUserNotificationSettings()!.types if notificationType == UIUserNotificationType.None { print("OFF") } else { print("ON") }

Si el usuario deshabilita las notificaciones push, ¿hay alguna forma de activar esto desde mi aplicación?

¿O hay alguna alternativa para enviar al usuario a la configuración de notificaciones automáticas (Configuración - Notificaciones - Nombre de la aplicación)?


Esta es la versión Swift 3 donde puede verificar si las notificaciones están habilitadas o deshabilitadas.

let notificationType = UIApplication.shared.currentUserNotificationSettings?.types if notificationType?.rawValue == 0 { print("Disabled") } else { print("Enabled") }


No hay manera de cambiar la configuración de la aplicación. Pero puede llevar al usuario a la configuración del sistema específica de la aplicación usando este código.

extension UIApplication { class func openAppSettings() { UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!) } }

Actualizado para Swift 3.0

extension UIApplication { class func openAppSettings() { UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!) } }


Respuesta corta: no, si un usuario ha rechazado su solicitud de notificaciones automáticas, no puede volver a preguntar, debe señalarlas a la página de configuración, puede hacerlo con una alerta informándoles de los pasos y las dos opciones "Ok" y " Ve a la configuración ", aquí es donde usarías el código de Roman.

Respuesta larga: solo debe pedirle al usuario notificaciones push cuando sea absolutamente necesario Y si va a preguntar, esto le ayudará a comenzar con una pequeña vista que explica por qué desea o necesita enviar notificaciones push, este es un excelente artículo de TechCrunch que le ayudará a obtener una mejor retención / aceptación de sus usuarios - http://techcrunch.com/2014/04/04/the-right-way-to-ask-users-for-ios-permissions/


Swift 4 versión de la respuesta de Salabaha

extension UIApplication { class func openAppSettings() { UIApplication.shared.open(URL(string: UIApplicationOpenSettingsURLString)!, options: [:], completionHandler: {enabled in // ... handle if enabled }) }