(Unity) Ошибка аутентификации с помощью сервисов Google Play на Android

У меня проблемы с аутентификацией в моей игре для Android, я использую сервисы playfab + google play для аутентификации в Google, но я даже не могу добраться до той части, где я аутентифицирую в playfab с учетной записью Google, Social.localUser.Authenticate никогда не завершается успешно и сообщение об этом в обратном вызове возвращается "Аутентификация отменена", единственные полезные сообщения журнала, которые я получаю, это

[Play Games Plugin DLL] Application is pausing, which disconnects the RTMP client. Leaving room. Authentication canceled [Play Games Plugin DLL] DEBUG: Invoking user callback on game thread

иногда это бросает

[Play Games Plugin DLL] Starting Auth Transition. Op: SIGN_IN status: ERROR_TIMEOUT

или

[Play Games Plugin DLL] Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED

но это об этом. Самое странное, что он открывает всплывающее окно Google Play Games, он запрашивает разрешения, я принимаю его, и все идет так, как должно быть, но в приложении это никогда не удается. Я уже зарегистрировал надстройку платформы на Playfab, добавил веб-приложение, привязанное к консоли разработчика Google, скопировал идентификатор и секрет клиента oauth в playfab, настроил перенаправленный uri и ссылку на конечную точку (ссылки: https://thewikihow.com/video_FIse9VOk-FE, https://api.playfab.com/docs/tutorials/landing-players/sign-in-with-google). Но ничего из этого не работает, я не могу аутентифицироваться с ним, независимо от того, установлен ли он через игровой магазин или нет, единственное, что я еще не пробовал, это тестирование его как альфа-версии в игровом магазине, на данный момент он находится на внутренних тестах .

[Обновление 1:] Код, который я использую при пробуждении:

PlayGamesClientConfiguration config = new 
PlayGamesClientConfiguration.Builder()
        .AddOauthScope("profile")
        .WithInvitationDelegate(GoogleInvitation)
        .WithMatchDelegate(GoogleMatch)
        .RequestEmail()
        .RequestServerAuthCode(false)
        .RequestIdToken()
        .Build();
    PlayGamesPlatform.InitializeInstance(config);
    PlayGamesPlatform.DebugLogEnabled = true;
    PlayGamesPlatform.Activate();

Код, который я использую для входа в систему:

Social.localUser.Authenticate((success, message) =>
    {
        Debug.Log("Authentication Message: " + message);

        if (success)
        {
            var serverAuthCode = PlayGamesPlatform.Instance.GetServerAuthCode();
            _AuthService.AuthTicket = serverAuthCode;
            _AuthService.Authenticate(Authtypes.Google);
        }
        else
        {

            Debug.Log("Failed  authenticating with google");
        }
    });
0
0
5 112
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете предоставить код? Прежде всего, я думаю, тебе нужно вызвать

PlayGamesPlatform.Activate()

После этого все социальные функции должны работать.

Кроме того, чтобы протестировать сервисы Google Play, вам необходимо развернуть свое приложение для альфа / бета-тестирования или выпуска в Play Market и загрузить его с рынка, без этого оно фактически не будет работать.

Я уже вызываю эту функцию, и приложение находится в альфа-версии, поскольку оно загружено и протестировано через рынок, оно все еще не работает (я добавил код, который я использую в вопросе)

khofez 15.01.2019 18:28

Вы настроили платформу Google с идентификатором приложения, идентификатором достижений и т. д.? Это можно сделать с помощью Unity Edtior, просто проверьте руководство Google.

Areyana 16.01.2019 12:34

да, все это было сделано ... ну, оказывается, меня не было в другом списке для тестирования внутри конфигурации Google Play, я не владелец учетной записи, теперь все остальное решено, спасибо за ваше время, сэр!

khofez 16.01.2019 20:02
Ответ принят как подходящий

Оказалось, что меня не было в списке доступа для тестирования игровых сервисов приложения, так как я не был владельцем, о котором не узнал. Сейчас это решено.

Я получал "Authentical Cancelled" и решил это через этот пост:

в основном это произошло из-за того, что я разрешил Google подписывать приложение своим собственным ключом. Это стало очевидно после того, как я перешел в GooglePlayConsole-> Release Management -> App Signing.

«Для этого приложения включена подписка на Google Play».

Поскольку он был включен, мне пришлось побеспокоиться о другой веб-странице «API Google». Там мне пришлось выбрать «Моя игра» из раскрывающегося списка на ленте, перейти на вкладку «Учетные данные» и создать новые учетные данные с соответствующим SHA-1.

Но ссылка (в этом ответе) объясняет это более подробно.

Другие вопросы по теме