iOS
Extensión para notificaciones push enriquecidas - iOS 10.
Buscar..
Introducción
iOS 10 nos dio UserNotifications.framework
, la nueva API para notificaciones locales / remotas. Ofrece la visualización de archivos adjuntos multimedia o la respuesta a mensajes directamente desde la notificación.
El contenido de la notificación consiste en: título, subtítulo, cuerpo y adjunto. El archivo adjunto puede contener imágenes / gifs / videos de hasta 50 mb.
Extensión de contenido de notificación
¿Por qué lo necesitamos?
La extensión de contenido nos ayuda a crear una interfaz de usuario personalizada al momento de la notificación.
Utilice este marco para definir una extensión que recibe los datos de notificación y proporciona la representación visual correspondiente. Su extensión también puede responder a acciones personalizadas asociadas con esas notificaciones.
Implementación
- En la ventana de xCode
Navigator
vaya a la sección deTargets
. PresioneAdd New Target
. - Seleccione la plantilla de
Notification Content Extension
:
- En su archivo
info.plist
, establezca el identificador para la claveUNNotificationExtensionCategory
:
Atributos de NSExtension :
UNNotificationExtensionCategory
(Requerido)
El valor de esta clave es una cadena o una matriz de cadenas. Cada cadena contiene el identificador de una categoría declarada por la aplicación que utiliza la clase de Categoría UNNotification.
UNNotificationExtensionInitialContentSizeRatio
(Requerido)
Número que representa el tamaño inicial de la vista de su controlador de vista expresado como una relación de su altura a su ancho.
UNNotificationExtensionDefaultContentHidden
(opcional)
Cuando se establece en SÍ, el sistema muestra solo su controlador de vista personalizado en la interfaz de notificación. Cuando se establece en NO, el sistema muestra el contenido de notificación predeterminado además del contenido del controlador de vista.
UNNotificationExtensionOverridesDefaultTitle
(opcional)
El valor de esta clave es un booleano. Cuando se establece en verdadero, el sistema usa la propiedad del título de su controlador de vista como el título de la notificación. Cuando se establece en falso, el sistema establece el título de la notificación al nombre de su aplicación. Si no especifica esta clave, el valor predeterminado se establece en falso.
- Crear vista personalizada en el archivo
NotificationViewController.swift
- Agregue una nueva
category key
y establezca su valor según lo que escribimos en la Lista de información (paso 3):
Empujar:
{
aps: {
alert: { … },
category: 'io.swifting.notification-category'
}
}
Local:
let mutableNotificationContent = UNMutableNotificationContent()
mutableNotificationContent.category = "io.swifting.notification-category"
mutableNotificationContent.title = "Swifting.io Notifications"
mutableNotificationContent.subtitle = "Swifting.io presents"
mutableNotificationContent.body = "Custom notifications"
También puedes ver la referencia oficial de la API: https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextension?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post