一种检测某人已关闭应用程序的方法

Posted

技术标签:

【中文标题】一种检测某人已关闭应用程序的方法【英文标题】:A way to detect that someone has shutdown the app 【发布时间】:2019-03-31 14:18:22 【问题描述】:

是否存在可以帮助我解决此类问题的架构。

我正在开发一个 react-native 应用程序,它允许人们选择加入,有用户选择退出的机制,当应用程序在后台时,它会根据情况自动选择退出用户 - [空闲等]

当有人在选择后关闭/关闭应用程序时,就会出现问题。这会使它们在我的服务器上处于活动状态,并让其他用户感到困惑。

我的节点服务器当前正在 AWS 上运行。 让 optin 用户 ping 一个 lambda 或类似的东西,如果 ping 停止,我可以将它们标记为选择退出,是否会占用大量服务器?

或者 https://facebook.github.io/react-native/docs/appstate 我可以检测到应用程序状态何时处于非活动状态[因为非活动状态是关闭应用程序所需的状态 - 无论如何都是 ios] 在此之后 - 应用程序状态要么解析为前景/背景。

不主动 ping 服务器,然后等待来自后台/前台的另一个 ping,如果没有收到,它可以选择退出用户?

【问题讨论】:

【参考方案1】:

首先想到的就是以不会影响应用性能的频率发送的心跳信号。如果心跳没有在设定的时间内出现,那么您就知道该用户不可用。我认为这就是他们在大多数消息传递应用程序上的做法。我知道您可能已经尝试在 componentWillUnmount() 中添加注销操作 可能在您的根组件中。

【讨论】:

谢谢威廉,这就是我想要的。

以上是关于一种检测某人已关闭应用程序的方法的主要内容,如果未能解决你的问题,请参考以下文章

在 UWP Javascript 中,有啥方法可以检测到辅助窗口已关闭?

如何检测 Windows 命名管道是不是已关闭?

如何开发和测试一个发送电子邮件的应用程序(而不用测试数据填充某人的邮箱)? [关闭]

通过音频检测单词[关闭]

如何检测抽屉是不是关闭?

检测多态和变态病毒的技术? [关闭]