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

How to customize short preview of notifications in iOS 10+

我已经根据 Local and Remote Notification Programming Guide 在我的应用中实现了 iOS 丰富的通知。

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

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

所以我的问题是:我们可以自定义通知的简短预览吗?如果没有,官方文档中是否有任何明确说明对此进行解释?如果是的话,你能给我一些docs/tutorials如何做的参考吗?

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

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

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

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

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

来源:

Rich Notification Guide

Notification with Attachment

PS:我也很难过和失望的是展开的视图只有用3D Touch才能出现(人们不使用它,3D Touch是失败的我)。

我刚刚在官方文档的 自定义通知外观 article 中偶然发现了以下行:

The system provides the interface for the abbreviated banner, but you can customize the full interface using a notification content app extension.

这证实目前无法自定义短预览("abbreviated banner" 在文档中)。