- 在我们的应用程序中,我们使用推送通知通知用户,但如果用户没有收到推送(例如用户的设备离线),那么我们会向他发送短信。
由于 APNs 不提供交付报告,我们实现了自己的使用服务扩展向后端服务器发送报告的方法:
当应用程序收到推送通知时,它会在服务扩展的方法中向后端发送一个 http-request -
didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void)
可以在 30 秒内完成获取作业或发出 http 请求。
但是,有时用户会抱怨同时接收 SMS 和 PUSH。
当我们检查 DB 中的日志时,没有来自这些设备的 PUSH 交付报告。
我的问题是:
- 服务扩展是否有可能无法启动?
- 有关如何解决此类错误的任何建议?