gpt4 book ai didi

ios - 如何在 ios 推送通知中显示图像?

转载 作者:IT王子 更新时间:2023-10-29 07:38:39 24 4
gpt4 key购买 nike

iOS 10 引入了推送通知框架更新,

UserNotificationsUI.framework

如 apple 文档中所写,它允许我们自定义本地和远程通知出现在用户设备上时的外观。

所以如果有人知道如何在锁屏时在推送通知中显示图像。就像 andorid 的推送通知一样。

谢谢,

最佳答案

如果要自定义本地和远程通知的外观,请执行以下步骤:

  1. 创建一个 UNNotificationCategory 并添加到 UNUserNotificationCenter 类别:

    let newCategory = UNNotificationCategory(identifier: "newCategory",
    actions: [ action ],
    minimalActions: [ action ],
    intentIdentifiers: [],
    options: [])

    let center = UNUserNotificationCenter.current()

    center.setNotificationCategories([newCategory])
  2. 创建一个 UNNotificationContentExtension:

enter image description here

然后使用代码或 Storyboard来自定义您的 UIViewController

  1. 将类别添加到 UNNotificationContentExtension 的 plist:

enter image description here

4.推送通知

本地通知

创建一个 UNMutableNotificationContent 并将 categoryIdentifier 设置为“newCategory”,其中包括 UNUserNotificationCenter 的类别和 UNNotificationContentExtension的列表:

let content = UNMutableNotificationContent()
content.title = ...
content.body = ...
content.categoryIdentifier = "newCategory"

let request = UNNotificationRequest.init(identifier: "newNotificationRequest", content: content, trigger: nil)

let center = UNUserNotificationCenter.current()
center.add(request)

远程通知

设置 "mutable-content : 1""category : newCategory"。请注意,类别值设置为“newCategory”,它与您之前添加到 UNUserNotificationCenterUNNotificationContentExtension 的 plist 中的内容相匹配。

例子:

 {
"aps" : {
"alert" : {
"title" : "title",
"body" : "Your message Here"
},
"mutable-content" : "1",
"category" : "newCategory"
},
"otherCustomURL" : "http://www.xxx.jpg"
}
  1. 注意:您需要支持 3DTouch 的设备或模拟器,否则您无法显示自定义的 UNNotificationContentExtension viewcontroller。(在 iOS10 Beta1 中,它不起作用。但现在这项工作没有 3d touch)

而且...如果您只想在锁定屏幕上显示的推送通知上显示图片,您需要添加UNNotificationAttachment:

let content = UNMutableNotificationContent()
content.title = ...
content.body = ...
content.categoryIdentifier = "newCategory"

let fileURL: URL = ... // your disk file url, support image, audio, movie

let attachement = try? UNNotificationAttachment(identifier: "attachment", url: fileURL, options: nil)
content.attachments = [attachement!]

let request = UNNotificationRequest.init(identifier: "newNotificationRequest", content: content, trigger: nil)

let center = UNUserNotificationCenter.current()
center.add(request)

enter image description here

有关更多详细信息,Demo

关于ios - 如何在 ios 推送通知中显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com