是否可以调用 API 将数据发送到服务器,同时在 iOS 中获得静默推送通知?任何帮助将不胜感激。
提前致谢
是否可以调用 API 将数据发送到服务器,同时在 iOS 中获得静默推送通知?任何帮助将不胜感激。
提前致谢
可以在收到静默推送后进行 API 调用。但是,如果应用被用户杀死,它就不起作用。如果这是一个问题,请看这个答案
如果不是这种情况,这里是如何做到的。您需要在 XCode 上的应用程序功能屏幕上的背景模式中启用“后台获取”和“远程通知”。
然后,将此application(_:didReceiveRemoteNotification:fetchCompletionHandler:)方法添加到您的 AppDelegate 中。您可以在此方法中进行 API 调用。
前任:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
apiCall(fetchCompletionHandler: completionHandler)
}
func apiCall(fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void){
//Make call here
completionHandler(UIBackgroundFetchResult.noData)
}