iOS
Estensione per Rich Push Notification - iOS 10.
Ricerca…
introduzione
iOS 10 ci ha fornito UserNotifications.framework
, la nuova API per le notifiche locali / remote. Offre la visualizzazione degli allegati multimediali o risponde ai messaggi direttamente dalla notifica.
Il contenuto della notifica è composto da: titolo, sottotitolo, corpo e allegato. L'allegato può contenere immagini / gif / video fino a 50 mb.
Estensione del contenuto delle notifiche
Perchè ne abbiamo bisogno?
L'estensione del contenuto ci aiuta a creare un'interfaccia utente personalizzata al momento della notifica.
Si utilizza questo framework per definire un'estensione che riceve i dati di notifica e fornisce la rappresentazione visiva corrispondente. La tua estensione può anche rispondere alle azioni personalizzate associate a tali notifiche.
Implementazione
- Nella finestra di xCode
Navigator
vai alla sezioneTargets
. PremiAdd New Target
. - Selezionare il modello di
Notification Content Extension
:
- Nel file
info.plist
, impostare l'identificatore per la chiaveUNNotificationExtensionCategory
:
NSExtensionAttributes :
UNNotificationExtensionCategory
(Obbligatorio)
Il valore di questa chiave è una stringa o una serie di stringhe. Ogni stringa contiene l'identificativo di una categoria dichiarata dall'app utilizzando la classe di categoria UNNotification.
UNNotificationExtensionInitialContentSizeRatio
(Obbligatorio)
Numero che rappresenta la dimensione iniziale della vista del controller della vista espressa come rapporto tra la sua altezza e la sua larghezza.
UNNotificationExtensionDefaultContentHidden
(facoltativo)
Se impostato su SÌ, il sistema visualizza solo il controller di visualizzazione personalizzato nell'interfaccia di notifica. Se impostato su NO, il sistema visualizza il contenuto di notifica predefinito oltre al contenuto del controller di visualizzazione.
UNNotificationExtensionOverridesDefaultTitle
(Opzionale)
Il valore di questa chiave è un booleano. Se impostato su true, il sistema utilizza la proprietà title del controller di visualizzazione come titolo della notifica. Se impostato su false, il sistema imposta il titolo della notifica sul nome della tua app. Se non si specifica questa chiave, il valore predefinito è impostato su falso.
- Crea una visualizzazione personalizzata nel file
NotificationViewController.swift
- Aggiungi una nuova
category key
e imposta il valore su ciò che abbiamo digitato nel file Info.plist (passaggio 3):
Spingere:
{
aps: {
alert: { … },
category: 'io.swifting.notification-category'
}
}
Locale:
let mutableNotificationContent = UNMutableNotificationContent()
mutableNotificationContent.category = "io.swifting.notification-category"
mutableNotificationContent.title = "Swifting.io Notifications"
mutableNotificationContent.subtitle = "Swifting.io presents"
mutableNotificationContent.body = "Custom notifications"
Controlla anche il riferimento API ufficiale: https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextension?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post