Богатое местное уведомление - PullRequest
0 голосов
/ 12 октября 2018

Как мы можем показать изображение или любое вложение с локальными уведомлениями, как мы привыкли показывать в богатых уведомлениях?

Я получаю тихое уведомление и затем изменяю его в локальном уведомлении.

1 Ответ

0 голосов
/ 12 октября 2018

Да, вы также можете показать это в локальном уведомлении, вы должны инициировать локальное уведомление после того, как вы получили тихий толчок, я надеюсь, что в вашей полезной нагрузке скользящего уведомления все требуемые данные есть.

Здесьэто фрагмент кода

let content = UNMutableNotificationContent()

//Configure notification 

content.title = "Notification Title"
content.body = "Notification Body"
content.sound = UNNotificationSound.default()  
content.categoryIdentifier = "ImageNotification"


//Attach your image local path here (Document dir path)

let attachment = try! UNNotificationAttachment(identifier: "\(NSDate().timeIntervalSince1970 * 1000)", url: localURL, options: [:])
content.attachments = [attachment]


content.userInfo = ["attachmentType": "Media"]

// Create a trigger for fire a local notification

let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.2, repeats: false)        
let request = UNNotificationRequest(identifier: "\(NSDate().timeIntervalSince1970 * 1000)", content: content, trigger: trigger)

// Configure according to version

if #available(iOS 11.0, *) {
let contactCategory = UNNotificationCategory(identifier: content.categoryIdentifier,
                                                         actions: [],
                                                         intentIdentifiers: [],
                                                         hiddenPreviewsBodyPlaceholder: "",
                                                         options: .customDismissAction)
let notificationCenter = UNUserNotificationCenter.current()
            notificationCenter.setNotificationCategories([contactCategory])
} else {
        // Fallback on earlier versions

let contactCategory = UNNotificationCategory(identifier: content.categoryIdentifier, actions: [], intentIdentifiers: [], options: [])
            let notificationCenter = UNUserNotificationCenter.current()
            notificationCenter.setNotificationCategories([contactCategory])
        }


UNUserNotificationCenter.current().add(request) {[weak self] (error) in
    guard error == nil else { 
                return
    }
}

После этого инструмента он будет работать нормально. Если вы все еще сталкиваетесь с какой-либо проблемой, пожалуйста, дайте мне знать.

...