在 Unity 3D 中使用 playgameservices sdk 时如何获取 google 用户的电子邮件 ID?
Posted
技术标签:
【中文标题】在 Unity 3D 中使用 playgameservices sdk 时如何获取 google 用户的电子邮件 ID?【英文标题】:How can I get email id of the google user while using playgameservices sdk in Unity 3D? 【发布时间】:2016-04-02 07:26:53 【问题描述】:我在我的游戏中使用 playgameservices sdk 来实现统一。但是,我无法在 ios 上获取登录用户的电子邮件 ID。初始化 playgamesserviceplatform 类时是否需要定义任何权限?请让我知道获取电子邮件 ID 的正确程序。
谢谢
【问题讨论】:
目前 Google Play Game Services for iOS SDK 中存在一个错误,无法获取电子邮件地址。 【参考方案1】:我发现这个link 可能会有所帮助。以下是链接中描述的过程
为了访问玩家的电子邮件或访问令牌,您需要在 Play 游戏控制台中配置与您的游戏关联的网络应用。如果您的游戏不使用自定义后端应用程序,您可以将启动 URL 设置为 https://localhost。
从 Web 应用程序复制客户端 ID,并将其输入到此插件的设置对话框中。这将配置访问电子邮件地址和访问令牌所需的正确权限和设置。
要获取电子邮件:
Debug.Log("Local user's email is " + ((PlayGamesLocalUser)Social.localUser).Email);
获取访问令牌:
Debug.Log("AccessToken is " + ((PlayGamesLocalUser)Social.localUser).accessToken);
获取 id 令牌:
Debug.Log("IdToken is " + ((PlayGamesLocalUser)Social.localUser).idToken);
注意:电子邮件和访问令牌仅在 UI 线程上可用。如果需要从非UI线程获取这些,可以使用辅助函数RunOnGameThread:
GooglePlayGames.OurUtils.PlayGamesHelperObject.RunOnGameThread( () => Debug.Log("Local user's email is " + ((PlayGamesLocalUser)Social.localUser).Email); // use the email as needed );
【讨论】:
以上是关于在 Unity 3D 中使用 playgameservices sdk 时如何获取 google 用户的电子邮件 ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Unity 中从 3D 对象中获取 2D 视图/纹理