如何在 Unity 中使用 Google 帐户对用户进行身份验证?

Phe*_*dg1 9 android unity-game-engine ios google-signin unity-editor

Firebase 身份验证允许您使用来自其他登录提供商(Facebook、Twitter 等)的身份验证令牌进行身份验证。我的应用程序打算在 iOS 和 Android 上发布。我认为通过 Google 和 Apple 进行身份验证将使我能够覆盖所有潜在用户的 99%。到目前为止,我发现在 Unity 中使用 Google 对用户进行身份验证是一种可怕的体验。

https://firebase.google.com/docs/auth/unity/google-signin 有关 Google 身份验证的 Firebase 指南仅提供了有关如何将 Google 身份验证令牌交换为 Firebase 身份验证令牌的指南。与其他 Firebase 身份验证提供程序的页面不同,它甚至没有首先提示您如何获取 Google 身份验证令牌,甚至没有提到可能的插件。

https://github.com/googlesamples/google-signin-unity 网上有一个项目,可以让用户使用 Unity 项目登录 Google。但是,只有在项目已构建并在 iOS 或 Android 上运行时才可以登录,而在编辑器中则无法登录。特别是对于 iOS,这会让开发变得很累。一位乐于助人的用户发布了一个解决方法,以便它可以在编辑器中运行,但此解决方案似乎已过时。如果 Google 认真地支持 Google 登录,它早就会添加此功能。事实上,该项目已经一年多没有更新了。

https://github.com/playgameservices/play-games-plugin-for-unity Google 似乎正在积极为 Unity 开发 Google Play Games api。但是,它不再支持 iOS。此外,我的应用程序不是游戏,这可能会引起一些混乱。我希望用户能够使用任何 Google 帐户登录我的应用,而不仅仅是当前的 Play 游戏帐户。

我不知道该怎么做。我的搜索结果越来越少。Google 似乎不希望开发人员能够实施登录解决方案。与此同时,Apple 正在强行将他们的新登录解决方案作为应用商店批准的条件。我不知道该怎么办。有人可以帮忙吗?

小智 1

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

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

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