如何在Unity 3D中使用playgameservices sdk时获取Google用户的电子邮件ID?

时间:2015-12-28 12:35:20

标签: unity3d google-plus google-play-services google-play-games google-plus-signin

我在游戏中使用playgameservices sdk来统一。但是,我无法在iOS上获取登录用户的电子邮件ID。初始化playgamesserviceplatform类时是否需要定义任何权限?请让我知道获取电子邮件ID的正确程序。

由于

1 个答案:

答案 0 :(得分:3)

我发现此link可能会有所帮助。以下是链接

中描述的过程
  

要访问播放器的电子邮件或访问令牌,您需要在Play游戏机中配置与您的游戏相关联的网络应用。如果您的游戏未使用自定义后端应用程序,则可以将启动网址设置为https://localhost

     

从Web应用程序复制客户端ID,然后在此插件的设置对话框中输入该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
          });