如何在 iOS 10+ 中自定义通知的简短预览

Posted

技术标签:

【中文标题】如何在 iOS 10+ 中自定义通知的简短预览【英文标题】:How to customize short preview of notifications in iOS 10+ 【发布时间】:2018-03-26 09:36:06 【问题描述】:

我已经在我的应用中基于Local and Remote Notification Programming Guide 实现了ios 丰富的通知。

我观看了 WWDC Introduction to Notifications、Advanced Notifications 和 Best Practices,并阅读了 UNNotificationContentExtension。所有这些都表明我可以实现通知内容扩展来自定义通知呈现。但在我看来,他们似乎都假设我们只能自定义扩展视图(当我们 3D 按下​​短预览时打开的视图)。

现在我知道我可以以非常有限的方式自定义简短预览的呈现方式 - 使用标题/正文我可以决定我想要粗体还是普通字体;通过使用Notification Service extension,我可以添加媒体预览。但是,我需要的是能够自己构建这个简短预览的 UI - 添加自定义 UIImageView 等。现在看来这是不可能的,但我无法找到任何可以证实它的明确信息。

所以我的问题是:我们可以自定义通知的简短预览吗?如果没有,官方文档中是否有任何明确的声明来解释这一点?如果是的话,您能否向我推荐一些有关如何操作的文档/教程?

【问题讨论】:

【参考方案1】:

我刚刚在官方文档中的 Customizing the Appearance of Notifications article 中偶然发现了以下行:

系统为缩略横幅提供界面,但您可以使用通知内容应用扩展自定义完整界面。

这证实了目前无法自定义简短预览(文档中的“缩写横幅”)。

【讨论】:

【参考方案2】:

我认为(我不是 100% 确定)您只能在通知横幅中显示 Attachment Image,因为您没有 Storyboad 或 UI 文件。这是默认的通知横幅设计。

您可以按照这个很棒的指南(下面的链接),它可以帮助我理解 Notification Content ExtensionNotification Service Extension 以及背后的所有逻辑以及它是如何工作的。

您可以尝试对项目进行一些调整,尝试使用除 ImageView 之外的任何其他内容,但据我所知,附件默认位于右上角,作为缩影。

如果您能找到更多信息,我很感兴趣。

这里是帮助我在应用程序中构建通知功能的绝佳链接。

来源:

Rich Notification Guide

Notification with Attachment

PS:我也很伤心和失望,扩展视图只出现在 3D Touch 上(人们不使用它,3D Touch 对我来说是失败的)。

【讨论】:

向左滑动,然后点击视图也会打开它。我也在抱怨 3D 触摸,但我现在已经习惯了。我也看过这些资源。你在答案中的第一句话总结了我的知识——但我想 100% 肯定——即使是 WWDC 演讲的演讲者也会顺便提一下,这很好。 是的,我们在丰富通知方面的知识水平相同。我不能再帮你了。我在 iPhone 7 上没有向左滑动的功能,但在 iPhone 7 Plus 上我有。奇怪的 ?即使我习惯了 3D Touch,问题是大多数用户,Lamba 先生不会知道 3D Touch,除非你教你的用户......编辑:我有你的通知面板上的功能,但不是直接在我收到横幅通知时。

以上是关于如何在 iOS 10+ 中自定义通知的简短预览的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Firebase 在 iOS 中接收自定义通知

ios Quickblox - 自定义通知 toast 颜色

ios 的 FCM 自定义通知

接收自定义通知 iOS swift 2.0

使用 firebase_messaging 自定义通知(Android 和 IOS)

自定义通知覆盖 - 实现向下滑动以显示几个按钮