繁体   English   中英

Firebase Android:卸载应用后经过身份验证的用户会发生什么?

[英]Firebase Android: What happens to authenticated user after app is uninstalled?

在我的 android 应用程序中,我使用 firebase 身份验证(电子邮件/密码)来对用户进行身份验证。

该应用程序的工作方式是,当用户登录时,我在他/她的 UID 下向数据库添加一个名为logged_in的标志并将其设置为true ,当注销时我将标志更改为false

结构是这样结束的:

Users
|
|----userID
     |
     |---name=.....
     |---logged_in = true

问题

现在,如果我登录到我的应用程序并卸载该应用程序而不退出,然后重新安装该应用程序。 我注意到用户将被自动注销,如果是这种情况,我最终会得到一个用户,该用户将数据库中的logged_in标志设置为true

换句话说,我从来没有机会将标志设置为false ,因为用户从未退出应用程序。

我的问题:

如何克服这个问题,在用户自动退出时总是更新数据库(就像我的例子:用户在仍然登录的情况下卸载应用程序)?

谢谢大家。

在 onDestroy(){ } (MainActiviry) 中改变你的 login_in == false;

更新或删除数据https://firebase.google.com/docs/database/android/read-and-write

我认为您可能误解了用户“登录”到您的应用程序意味着什么。 登录是持久的,并且它们不基于任何类型的会话。 Firebase 身份验证在内部管理代表其登录信息的令牌,它会定期刷新,或者在用户停止使用您的应用一段时间后刷新。

您永远无法完全保证您的应用程序可以在用户卸载、擦除他们的设备或只是丢失他们的设备并且再也不会回到您的应用程序时触发其某些代码。 另请注意,您的用户可以从多个设备登录并保持登录状态。

如果您想知道用户是否已经停止使用您的应用程序一段时间,您必须将其记录在您的数据库中(可能通过更新指示他们上次启动您的应用程序的时间的字段),并查询数据库(使用您控制的后端)找出该日期/时间何时变得足够老,您确定用户已永久离开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM