0

我正在开发一个处理静默通知的框架,以便部署本地通知(带有警报),原因是我从 Firebase 发送数据消息,其中有效负载具有自定义键值对(指示通知如何必须表现),所以我必须在应用程序中接收它们才能翻译它们。

一切正常,我在应用程序执行时在前台和后台收到通知。问题是当应用程序被用户杀死或完全关闭时,我无法收到通知。原因在 Apple 文档中指出,didReceiveRemoteNotification:fetchCompletionHandler如果用户关闭应用程序,则不会执行,因为系统不会启动应用程序。

因此,有人告诉我,即使应用程序关闭,我也应该使用默认的 apns 键值对来接收默认推送通知,如果我想修改或添加某些内容到获取请求内容的通知中,请使用通知服务扩展.

我遇到的问题是,当我收到无提示通知时,我应该做一些额外的过程,比如报告我收到了它。这就是我认为应用程序应该执行的原因,因为它需要执行时间。

但是我一直在思考和研究,即使应用程序关闭,我也无法理解其他应用程序(如 youtube、facebook .. 等)如何接收带有图像附件的通知,难道不应该为了添加附件而需要有你在本地附加的任何东西吗?所以你应该以某种方式下载它,并且这个过程需要应用程序有时间执行该任务,或者这是由 IOS 管理的?

还是我错过了有关推送通知的内容?

4

1 回答 1

1

iOS 10 引入了“丰富通知”的概念。是的,它最终是通过常规推送通知传递的。但它包含指向图像(或其他媒体/数据)的链接。

在您的应用程序中创建“通知服务扩展”允许您在发送通知时运行代码,例如下载通过有效负载中的“媒体 URL”传递的图像。

您还可以创建“通知内容”目标以允许您自定义 UI,允许您扩展通知以显示 UIViewController 以显示其他数据/内容。

这是一个教程链接,可帮助您入门:https ://medium.com/@tsif/ios-10-rich-push-notifications-with-media-attachments-a54dc86586c2

于 2019-11-21T15:36:25.870 回答