我有一个已经使用Firebase登录电子邮件和密码的应用程序 . 为了方便用户,我添加了Google登录并实施了它 .
问题是,当我使用电子邮件登录时,应用程序会根据用户的uid在密钥下创建一些数据 . 该数据通常在首次登录/注册时创建 . 但是,当用户使用Google登录功能时,他们会通过Google Play服务托管的其他活动进行身份验证 .
所以,问题是我应该怎么做才能检查用户之前是否使用Google帐户登录 . 因此,如果用户第一次进行谷歌登录,它将在实时数据库中创建新数据,否则它将检索数据 . 我很震惊,请帮助我 .
3 回答
好极了!如果数据已存在于数据库中,我找到了一种有效的方法 . 它按照我的意图工作,如果我从谷歌/电子邮件创建新用户,我将其名称保存在我的数据库中,但从同一帐户登录,之前是在同一个地方引入太新的数据重写名称 - 大量使用数据带宽 . 我解决了这个问题 .
告诉你的一点,User是我创建的一个Custom类,用于将数据放在firebase数据库中 . 很抱歉回复这个问题,我在2个月前找到了这个解决方案 . 我发现这个问题的重要性,因为今天有1000个观点 . 如果这也适合你,请回复我 .
您需要保存共享首选项并检查用户是否首次登录 .
这个link可能会帮到你 . 但在查看代码之前,请阅读FIREBASE的文档 .
在第一次登录时在数据库中添加某种标志并使其成立 . 每当用户登录时,检查该标志是否存在且是否为真,然后检索旧数据,否则添加新数据(或任何您想要的数据) .
firstlogin: true
这是与facebook登录的javascript代码,你可能有一个想法 .