当应用程序关闭或手机关机时,能否在 Android/iOS 应用程序上接收推送消息

Rak*_*kib 4 android push-notification apple-push-notifications ios pusher

可以当应用程序被关闭的消息可以在Android / iOS应用收到或手机处于关机状态?

我期望发生的事情...

  1. 当手机和应用程序打开时,从 Pusher 文档中可以很直接地了解如何对发送到应用程序的推送消息做出反应。

  2. 当手机打开且应用程序关闭时,手机应收到通知,说明某些内容已发送到应用程序。

  3. 当手机关闭时,当手机重新打开时,手机应该会收到一条通知,通知某些内容已发送到应用程序。

这些甚至可能吗?如果是,有什么建议需要注意?如果没有,有什么解决方法?

leg*_*ter 5

当使用 Pusher 的应用程序在 iOS 和 Android 上进入后台时,与 Pusher 的连接可能会保持活动状态几分钟。但最终该连接将被关闭。您无法阻止这种情况在您的应用程序中发生(尽管在提交到应用程序商店时可能会出现“黑客”声明您的应用程序是语音应用程序)。

因此,您应该监控您的应用程序移至后台,并在手机未连接时设置回退以将消息传送到手机。

请参阅iOS 应用程序进入后台时如何获取推送事件?用于 libPusher(Pusher iOS 库)。

以下是关于“服务进程”的Android 进程和线程生命周期文档的摘录:

运行已使用 startService() 方法启动且不属于两个更高类别中的任何一个的服务的进程。虽然服务进程并不直接绑定到用户看到的任何东西,但它们通常都在做用户关心的事情(例如在后台播放音乐或在网络上下载数据),因此除非内存不足,否则系统会保持它们运行将它们与所有前台和可见进程一起保留。

因此,在这样的线程中运行 Pusher 实例是一个可行的选择。

但是,仍然会有用户下线的情况。在这种情况下,您的服务器可以通过查询 Pusher HTTP API或使用WebHooks来检测用户是否在线,如果用户离线或重新上线,您的服务器可以立即收到通知。

使用上述机制,您可以促进智能通知;如果用户在线(应用程序在前台),则通过 Pusher 向他们发送消息,如果他们离线(应用程序在后台),则使用替代机制进行传递(本地推送通知、短信或电子邮件) .