【问题标题】:How to use a Google account to authenticate users in Unity?如何在 Unity 中使用 Google 帐户对用户进行身份验证?
【发布时间】:2019-11-15 17:22:33
【问题描述】:

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 正在强行将他们的新登录解决方案作为应用商店批准的条件。我不知道该怎么办。有人可以帮忙吗?

【问题讨论】:

  • 你好,我正在尝试和你做同样的事情,我相信其他人也会这样做,遇到同样的文章,并且卡在同一个地方,因为我无法弄清楚首先如何获取 Google 身份验证令牌。你设法解决了你的问题吗?
  • 这并不能直接解决您的问题,但我能够让 amazon cognito 与统一合作。但是,我不得不使用标准的 .NET 包,因为亚马逊没有统一插件。也许您也可以使用 .NET 解决方案来解决这个问题?
  • 两年后,它仍然不仅仅是一次可怕的经历。过去两天我一直在试图弄清楚如何实施 Google 登录,但我发现文档不完整或代码无法按预期工作。

标签: android ios unity3d google-signin unity-editor


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 2021-02-08
    • 2017-03-20
    相关资源
    最近更新 更多