在 UNNotificationServiceExtension 中执行 HTTP 请求
Perform an HTTP request in UNNotificationServiceExtension
当我的应用程序收到远程推送通知时,我需要调用后端服务,即使该应用程序已被终止。为此,我在 "didReceive" 方法中使用 UNNotificationServiceExtension 拦截通知,并在此方法的主体中执行 http 请求。这是一个危险的程序吗?这会导致一些问题,例如被 Apple Store 拒绝吗?
您绝对可以做您想做的事,但请记住,您只有大约 30 秒的时间,并且您需要使用同步下载,而不是异步下载。如果您使用异步下载,它可能会在您的完成处理程序调用时立即被终止,这将在您的下载完成之前发生。
当我的应用程序收到远程推送通知时,我需要调用后端服务,即使该应用程序已被终止。为此,我在 "didReceive" 方法中使用 UNNotificationServiceExtension 拦截通知,并在此方法的主体中执行 http 请求。这是一个危险的程序吗?这会导致一些问题,例如被 Apple Store 拒绝吗?
您绝对可以做您想做的事,但请记住,您只有大约 30 秒的时间,并且您需要使用同步下载,而不是异步下载。如果您使用异步下载,它可能会在您的完成处理程序调用时立即被终止,这将在您的下载完成之前发生。