unity3d 如何使用Google帐户在Unity中验证用户?

3phpmpom  于 2023-02-23  发布在  Go
关注(0)|答案(2)|浏览(210)

Firebase Authentication允许你使用来自其他登录提供商(Facebook、Twitter等)的auth令牌进行身份验证。我的应用打算在iOS和Android上发布。我认为通过谷歌和苹果进行身份验证可以给予99%的潜在用户。到目前为止,我发现通过谷歌在Unity中进行身份验证是一种可怕的体验。
https://firebase.google.com/docs/auth/unity/google-signin关于Google auth的Firebase指南只给出了如何将Google auth令牌交换为Firebase auth令牌的指南。与其他Firebase auth提供商的页面不同,它甚至没有给出如何首先获得Google auth令牌的提示,甚至没有提到可能的插件。
https://github.com/googlesamples/google-signin-unity有一个在线项目可以让用户使用Unity项目登录Google。但是,只有在iOS或Android上构建并运行项目时才能登录,在编辑器中是不可能的。特别是对于iOS,这使得开发变得筋疲力尽。一个有帮助的用户发布了一个变通方法,这样它就可以在编辑器中运行,但这个解决方案似乎已经过时了。如果谷歌真的支持谷歌登录,它早就添加了这个功能,因为它是该项目已经超过一年没有更新。
https://github.com/playgameservices/play-games-plugin-for-unity谷歌似乎正在积极开发Unity的Google Play游戏API。但是,它不再支持iOS。此外,我的应用程序不是一个游戏,这可能会引起一些混乱。我希望用户能够登录到我的应用程序与任何谷歌帐户,而不仅仅是目前的Play Games帐户。
我不知道接下来该怎么办。我的搜索结果越来越少。谷歌似乎不希望开发者能够实现登录解决方案。与此同时,苹果正在强制要求他们的新登录解决方案成为应用商店批准的一个条件。我不知道该怎么办。有人能帮忙吗?

dddzy1tm

dddzy1tm1#

因为我不能发表评论而留下了答案。这对某些人来说可能不是一个理想的解决方案,但绝对是一个有效的解决方案。我在我的应用程序中使用**PassportJS**来验证用户登录。

  • 使用NodeJS和PassportJS创建一个Web登录页面。
  • 当用户点击“使用Google登录”时,使用device id打开此网页。
  • 用户登录后,将登录用户与设备ID关联。
  • 当用户返回Unity应用程序时,向您的Web服务请求与设备ID关联的Google ID。

当用户登录时,您可以使数据库中的此设备ID过期,以允许其他用户登录同一设备。

qjp7pelc

qjp7pelc2#

按照以下步骤在您的Unity应用程序中验证google登录。

  • 在Firebase上设置Unity应用程序。
  • 导入存储库中提到的两个插件。
  • 打开播放器设置中的发布设置,然后单击密钥库管理器以生成发行密钥库。
  • 转到密钥存储所在的文件夹并打开终端。
  • 运行随Java提供的keytool实用程序来获取证书的SHA-1指纹。您应该同时获得发行证书指纹和调试证书指纹。
  • 要获取发行证书指纹:
keytool -list -v -alias <your-key-name> -keystore <path-to-production-keystore>

更多信息:

下面的链接是一个演示库,它使用google官方的unity库来实现google认证。
演示项目存储库:https://github.com/codemaker2015/google-signin-unity3d-demo

相关问题