我正在开发一个处理静默通知的框架,以便部署本地通知(带有警报),原因是我从 Firebase 发送数据消息,其中有效负载具有自定义键值对(指示通知如何必须表现),所以我必须在应用程序中接收它们才能翻译它们。
一切正常,我在应用程序执行时在前台和后台收到通知。问题是当应用程序被用户杀死或完全关闭时,我无法收到通知。原因在 Apple 文档中指出,didReceiveRemoteNotification:fetchCompletionHandler
如果用户关闭应用程序,则不会执行,因为系统不会启动应用程序。
因此,有人告诉我,即使应用程序关闭,我也应该使用默认的 apns 键值对来接收默认推送通知,如果我想修改或添加某些内容到获取请求内容的通知中,请使用通知服务扩展.
我遇到的问题是,当我收到无提示通知时,我应该做一些额外的过程,比如报告我收到了它。这就是我认为应用程序应该执行的原因,因为它需要执行时间。
但是我一直在思考和研究,即使应用程序关闭,我也无法理解其他应用程序(如 youtube、facebook .. 等)如何接收带有图像附件的通知,难道不应该为了添加附件而需要有你在本地附加的任何东西吗?所以你应该以某种方式下载它,并且这个过程需要应用程序有时间执行该任务,或者这是由 IOS 管理的?
还是我错过了有关推送通知的内容?