Firebase匿名用户会发生什么情况?

问题描述:

我想知道我的应用程序的用户会对我们使用匿名登录方法会发生什么。Firebase匿名用户会发生什么情况?

Firebase文档真的很糟糕,并没有解释所有内容,并期望开发人员找到自己。 我在其旧版本的文档中发现,根据登录& Auth选项卡中设置的过期时间,匿名会话将过期,但即使没有提及这意味着只是会话结束或它意味着用户ID也会从我的应用用户列表或完全发生了什么?

我发现this answer但它确实是不能接受的。如果你做一个网络应用程序,并且让每件事情都变得艰难,匿名用户的数量将会非常快速地增长。 我甚至无法在仪表板中看到我的应用程序用户数量! 那么,我该怎么办?我应该自己为我的数据开发一个仪表板吗?还是Firebase团队应该这样做?至少对于管理用户而言,我应该拥有更多的权力,而不仅仅是用用户的电子邮件搜索用户,并且当你使用自定义登录时,你也不能这样做

+2

这是一个很好的问题,我也想回答一个问题。我有1000多个匿名用户,因为我无法通过我的应用程序使用电子邮件/密码。我需要匿名。我有22个ACTUAL用户,但有1000个以上的用户ID。 – Ryan

如果您想要将匿名用户从您的用户列表中删除,您必须编写一项服务为您执行此操作。

由于firebase不提供列出注册用户的方法,因此您必须确保在数据库中存储某种用户列表。然后你可以使用node.js admin sdk到get user data,检查是否user is anonymous,并找到when the user was created。出于性能方面的原因,您可能希望将这些信息存储在数据库的特殊区域中,并立即检索。一旦你确定了一个陈旧的匿名用户,他们可以是easily deleted

+0

这是删除问题。 – Ali

+0

你希望匿名用户会发生什么? – nloewen

+0

我应该能够轻松管理我的用户,不管它是否是匿名的。对于用户,也许我可以在删除后设置到期时间。 – Ali

匿名用户不会过期,目前还没有任何自动清除方法。

Firebase不会自动删除它们,因为它并不真正知道用户是否仍在存储链接到该登录信息的数据 - 只有应用程序创建者会这样做。试想一下,如果你正在玩手机上的益智游戏,并达到100级。那么当你明年去玩101级时,所有进度都会丢失。 Firebase不能仅仅假设用户在一年内处于非活动状态就意味着该帐户可以被移除。

虽然有几个工具可以帮助您。

1)Admin SDK & Firebase CLI列表用户。

2)Linking multiple auth providers

3)Auth State Persistence

一旦你列出你的用户,你可以检查每一个不具有任何其他供应商,并没有被最近使用,不具备数据存储和delete them

但是,更好的做法是确保每个用户只能创建一个帐户。如果您创建匿名帐户以帮助用户在登录之前存储数据,则可能需要考虑提示他们链接身份验证提供程序(如Google或电子邮件)。如果您将帐户关联起来,而不是创建新帐户,则可避免活跃用户放弃帐户。

一般而言,您还需要确保使用身份验证状态持久性,以确保没有更多的帐户超过必要的创建。每个新访问者创建1个帐户,而不是每次有人重复访问您的页面时,都将显着帮助保持用户增长。