我正在迅速开发iOS游戏,并且我使用Firebase数据库存储有关用户的一些信息(昵称,得分,友好挑战......)。我的想法是制作类似于Supercell的游戏,玩家可以使用自己的电子邮件登录,然后如果他想要一些社交功能,他可以使用Facebook SDK登录。
我有他们两个都在工作,但我找不到加入这两者的方法。使用Facebook Graph API,我得到所有用户的朋友已经在使用我的游戏,我想将它们链接到我们数据库中他们自己的个人资料。
我尝试使用登录期间获得的Facebook UID以及从朋友列表中获取的Facebook UID,但我发现它们不一样。如果用户成功登录,我使用FBSDKLoginButtonDelegate函数
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
print(result.token.userID)
}
但据我所知,这个令牌在每个应用程序中都有所不同。然后我通过这个图表请求让所有已经使用我的游戏的Facebook朋友
let request = FBSDKGraphRequest(graphPath: "me/friends?fields=name,picture", parameters: nil)
对于每一个我采取" id" JSON响应中的字段。
我想过生成一个UID,然后将其存储在firebase中,也许在某些Facebook领域,我可以从Facebook Graph API获得,但我不知道哪个领域。
也许解决方案比我想象的要容易。
答案 0 :(得分:0)
好吧,我认为我误解了一些东西,因为它现在有效了。我在我的问题中发布的代码可以正常使用Facebook信息加入私人数据库。 感谢@CBroe的评论,我试了好几次并让它发挥作用。