如何立即从谷歌播放服务Unity插件获取id令牌

时间:2016-01-27 07:07:10

标签: c# android unity3d google-play-services

我正在使用https://github.com/playgameservices/play-games-plugin-for-unity插件使用他的Google帐户登录用户,然后我想获取Id令牌并将其发送到我的服务器并在我自己的数据库中为此用户注册帐户。这是我获取Id令牌的代码:

PlayGamesPlatform.Instance.Authenticate(success =>
{
    if (success)
    {
        Debug.Log("Id Token :");
        Debug.LogFormat("{0}", PlayGamesPlatform.Instance.GetIdToken());
        Debug.Log("End Of Id Token");
    }
});

问题是它第一次打印空字符串时,当我第二次调用它时(或片刻之后)它会打印令牌。我希望立即获取令牌 或使用回调以确保收到令牌。

如何确保收到令牌?对此有任何回调吗?

由于

2 个答案:

答案 0 :(得分:1)

他们更改了新版本的插件,现在

PlayGamesPlatform.Instance.GetIdToken(Callback)

有一个回调函数。

答案 1 :(得分:1)

如果要在自己的Web服务上标识用户,最好使用服务器身份验证代码。将此邮件发送到您的服务器,并通过谷歌的jwt获取用户身份。

                GooglePlayGames.OurUtils.PlayGamesHelperObject.RunOnGameThread(() => {

                    PlayGamesPlatform.Instance.GetServerAuthCode((CommonStatusCodes status, string code) =>
                    {                            
                        Debug.Log("Status: " + status.ToString());
                        Debug.Log("Code: " + code);

                    });

                });