Unity Google Play游戏插件-登录/身份验证不起作用

时间:2019-02-20 13:25:20

标签: unity3d google-play-services google-play-games google-play-console

我尝试了所有事情,现在已经困扰了几天。无论我如何尝试,都会在应用中打开Goog​​le Play的登录屏幕,但随后突然停止,并且用户未登录。

在共享代码之前,我将总结我所做的事情:

  • 导入的Unity GPG插件(最新版本)也尝试使用旧版本,但结果相同。我进行了设置,尝试在jar解析器上强制解析。
  • 使用密钥库签名的已创建版本
  • 将已签名的APK上传到内部测试轨道
  • playstore中的GPG链接设置正确
  • 尝试通过Playstore手动安装应用程序
  • 创建了一个仅测试GPG部分中的Sign的新项目,我将共享的代码将属于该测试项目
  • 尝试在API控制台中更改SHA1键,并尝试了APK安装(Playstore /手动)和SHA1键(签名,上传)的所有可能组合
  • 将测试电子邮件添加到我本人和我的同事的测试轨道中,并使这些电子邮件能够进行测试。

我希望有人能帮助我。我再也无法在互联网上找到任何东西,而且似乎无法自己弄清楚这一点。这是唯一阻止我们发布第一款游戏的事情。

这是我用于测试应用程序的所有代码。我在场景中添加了一个按钮以登录GPG,并添加了一个文本字段来显示状态字符串。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using GooglePlayGames.BasicApi.SavedGame;
using UnityEngine.UI;

public class ClickManagerScript : MonoBehaviour
{

    public GameObject textField;

    public void LogInClick()
    {
        PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
            .EnableSavedGames().Build();
        PlayGamesPlatform.DebugLogEnabled = true;
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.Activate();

        SignIn();
    }

    void SignIn()
    {
        //when authentication process is done (successfuly or not), we load cloud data
        Debug.Log("Going to log in to GPG");
        Social.localUser.Authenticate(success => { UpdateTextField(); });
    }

    void UpdateTextField()
    {
        Text text = textField.GetComponent<Text>();

        if (Social.localUser.authenticated)
        {
            text.text = "Sign in succesfull";
        }
        else
        {
            text.text = "Sign in failed";
        }
    }
}

2 个答案:

答案 0 :(得分:1)

我将在此标记。我遇到的问题与您执行的步骤完全相同。看代码,它也非常相似。

答案 1 :(得分:0)

对于那些看到此帖子并遇到相同问题的人:在您的代码中禁用已保存的游戏并登录即可。云存储现在已中断。以下链接上的最新评论就是关于此问题的。希望Google能够尽快修复它,云存储对于保存IAP购买等非常方便。

https://github.com/playgameservices/play-games-plugin-for-unity/issues/2429