我正在开发一个类似whatsapp的Messenger应用程序,它必须通知服务器该消息已收到,当didReceiveRemoteNotification
被调用时,我正在向服务器发送状态。但是,当应用程序不在前台时,它只在用户点击通知时才会调用。即使应用程序处于后台或未运行状态,如何进行服务器调用?如何在接收推送通知时进行服务器调用?
回答
要接收远程通知时,你的应用是在背景或挂起模式首先你的服务器应该叫content-available
= 1来详细了解一下该文件的通知有效载荷发送特殊参数:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/PayloadKeyReference.html#//apple_ref/doc/uid/TP40008194-CH17-SW5
有了这个参数时,你的应用程序会收到一个推送通知,将被唤醒了一些小的时间到后台运行模式,并呼吁didReceiveRemoteNotification
。不要忘记在任务结束时调用completionHandler(<some enum parameter>)
,否则您的进程可能会意外死于iOS,例如,当您尝试执行异步服务器请求时。所以当你的异步方法完成调用completionHandler
闭包参数didReceiveRemoteNotification
。
实际上,当您的应用完全从应用切换器中丢弃时,没有托管代码可以运行。据我所知,您应该使用VOIP推送消息来执行操作 - 但这类消息仅适用于带有语音呼叫的应用程序,如Skype或WhatsApp。即使这些应用程序完全关闭,也需要执行一些代码。 iOS为他们准备进行语音通话提供了这种能力。这就是为什么所有这些使用者都使用语音通话 - 例如使即时交付状态。如果你想要这种互动,你应该谷歌更多关于VOIP。但是你的应用程序应该真的有一些语音通话功能,否则它会被应用程序商店拒绝。
肯定的是,如果应用程序被应用程序切换强制退出,您将无法再运行代码在重新启动应用程序之前收到通知。 –
- 1. Android如何使用drupal服务器接收推送通知
- 2. 如何在接收推送通知时调用函数?
- 3. 服务器如何知道iPhone是否收到推送通知?
- 4. 在接收推送通知时在背景中调用音频
- 5. 用Python进行服务器端客户端推送通知
- 6. 无法从通过应用服务器连接的Firebase接收推送通知
- 7. 服务器和应用程序如何连接推送通知
- 8. 在ios中使用苹果推送通知服务接收推送通知时出错
- 9. WP8.1接收推送通知
- 10. 当应用程序关闭时从服务器接收推送通知
- 11. 推送通知不接受在iphone有时从Parse.com服务器
- 12. 如何接收来自其他服务器的数据(例如推送通知)
- 13. 如何在应用程序关闭时接收推送通知?
- 14. 从服务器发送推送通知
- 15. 使用Rails服务器推送通知
- 16. 在服务器推送通知安装
- 17. iPhone未收到MDM服务器发送的MDM推送通知
- 18. 如何发送fcm推送通知使用goalng fcm服务器
- 19. 在接收推送通知后执行任务
- 20. 如何在Ionic上使用webservice执行推送通知服务?
- 21. 在接收推送通知时在后台运行javascript函数?
- 22. 如何在iPhone接收到推送通知时
- 23. BB推送通知服务
- 24. 推送通知服务
- 25. Android中是否有推送通知服务,例如Apple推送通知服务?
- 26. 解析推送通知从服务器发送但未被客户端接收
- 27. WCF Rest服务接收推送通知数据
- 28. 如何从Facebook服务接收我的iPhone应用程序的推送通知?
- 29. 使用Node.js接收推送通知webToolkit
- 30. 用声音接收推送通知
看看这篇文章。可以给出一个想法。 https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html –