Social.localUser.Authenticate обратный вызов никогда не вызывается - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь добавить сервис Google Play в свое приложение для Android.Когда я вызываю Social.localUser.Authenticate в редакторе Unity, он возвращает false в функцию обратного вызова.Но когда мой мобильный телефон запускает отладочную сборку, функция обратного вызова не вызывается.И сообщение об ошибке не появляется.

enter image description here

А вот и мой код.

public void Init()
{
    // Initialize Play Games Configuration and Activate it.
    PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
    .EnableSavedGames()
    .RequestEmail()
    .RequestServerAuthCode(false)
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    PlayGamesPlatform.DebugLogEnabled = true;
    PlayGamesPlatform.Activate();
    Debug.LogFormat("SignInOnClick: Play Games Configuration initialized");
}

public void SignInWithPlayGames()
{
    if (Social.localUser.authenticated) {
        return;
    }
    // Sign In and Get a server auth code.
    Debug.Log("Start Auth GPGS");
    Social.localUser.Authenticate((bool success) =>
    {
        Debug.Log("The lines below never call :("); // <<<<<<<<<<<<<<<<<<<<<<<<<<<
        if (!success) {
            Debug.LogError("SignInOnClick: Failed to Sign into Play Games Services.");
            return;
        }
        string authCode = PlayGamesPlatform.Instance.GetServerAuthCode();
        Debug.LogFormat("SignInOnClick: Auth code is: {0}", authCode);
        if (string.IsNullOrEmpty(authCode))
        {
            Debug.LogError("SignInOnClick: Signed into Play Games Services but failed to get the server auth code.");
            return;
        }

        // Use Server Auth Code to make a credential
        Credential credential = PlayGamesAuthProvider.GetCredential(authCode);
        // ......
    });
}

Я смотрел несколько видео.Я не уверен, что все мои шаги верны, поскольку в этом видео рассказывается, как создать новое приложение с помощью службы Google Play.Но мой проект уже запущен.Некоторые другие настройки, такие как учетные данные API, уже выполнены другими.

Я обнаружил, что кто-то сказал, что идентификаторы клиента SHA-1 в Android должны быть заменены с «Сертификат подписи приложения» на «Загрузить сертификат». Ссылка здесь.

И я также обнаружил, что использую идентификаторы веб-клиентов вместо Android. Ссылка здесь.

Я уже пробовал эти методы исправления, но, похоже, у меня не работает.У кого-нибудь есть такая же проблема со мной?Или есть какие-либо настройки, отображающие более подробную информацию об этой проблеме?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

В выводе logcat должно отображаться несколько ошибок.Что-то вроде «Это приложение неправильно настроено для использования GameServices, потому что ...»

0 голосов
/ 31 января 2019

У меня возникла та же проблема, и я решил ее, отключив минификацию.

«Сборка»> «Настройки игрока»> «Настройки публикации»> «Минифицировать», здесь я установил «Выпуск» и «Отладка» на «Нет», и этобыло исправлено.

...