首页 > 解决方案 > 有没有办法在 Firebase 中自动为用户分配 ID?IOS

问题描述

我是 Firebase 的新手,我一直在 IOS 中工作,通过自动生成的密钥来识别用户。本质上,我正在创建一个具有高分和级别的排行榜。我希望他们已经拥有一个 ID,而不是让用户注册一个帐户,这样他们就可以开始玩并将他们的高分写到排行榜上。目前我有这个代码:

let user = Auth.auth().currentUser
ref?.child("Highscore").child((user?.uid)!).setValue(highscoreArray)

出于某种原因,我收到“用户”不存在的错误。有没有一种方法可以自动生成一个而不必强制用户选择用户名等。我也尝试过 childByAutoID 并且每次运行它时都会在模拟器中获取新的 ID。

谢谢您的帮助。

标签: swiftfirebasefirebase-authentication

解决方案


最低限度,您必须让用户完成登录过程。 Auth.auth().currentUser在该过程完成之前,不会返回除 null 之外的任何内容。没有针对此要求的解决方法。您获得 uid 的唯一方法是在用户登录后创建帐户。

如果您不希望用户必须做任何事情来登录,您可以启用并实施匿名身份验证来登录,而不需要他们的任何输入。然后,您可以稍后升级他们的帐户以使其永久化,因为匿名帐户不会在设备之间转移或在应用程序卸载后仍然存在。


推荐阅读