Авторизация на Google Play Service

Авторизация на Google Play Service

Сообщение seaman 05 янв 2018, 14:36

Использую плагин https://github.com/playgameservices/play-games-plugin-for-unity.
При первом запуске просит разрешение на доступ приложения к аккаунту. После чего нормально авторизуется и все работает, показывает ачивки, лидербоард...
При последующих запусках приложения авторизация не проходит. Даже окно о подключении к GooglePlay не всплывает. Ну и естественно все связанное с Google Play Service не работает. Ошибок не выдает.
Плагин настроен:
Изображение
Ну, если не настроить перед билдом, то вообще не будет авторизации, а она первый то раз проходит!
Код инициализации и авторизации (урезанный)
Синтаксис:
Используется csharp
public class GooglePlayManager : Singleton<GooglePlayManager>
{
        private bool __auth;

        public void Start()
        {
                var config = new PlayGamesClientConfiguration.Builder().RequestIdToken().Build();
                PlayGamesPlatform.InitializeInstance(config);
                PlayGamesPlatform.DebugLogEnabled = true;
                PlayGamesPlatform.Activate();
                Social.localUser.Authenticate(OnAuth);
        }
        public void OnAuth(bool success, string message)
        {
                Debug.Log("On auth - " + success + " Message - " + message);
                __auth = success;
        }
}

adb логи
Скрытый текст:
I/Unity (10723): Starting Auth with token client.
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
W/Unity (10723): !!! [Play Games Plugin DLL] 01/05/18 14:56:38 +03:00 WARNING: Creating new PlayGamesPlatform
W/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:38 +03:00 DEBUG: Activating PlayGamesPlatform.
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:38 +03:00 DEBUG: PlayGamesPlatform activated: GooglePlayGames.PlayGamesPlatform
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:38 +03:00 DEBUG: Creating platform-specific Play Games client.
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:38 +03:00 DEBUG: Creating Android IPlayGamesClient Client
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): ---- [0] -- 497025061
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): Building GPG services, implicitly attempts silent auth
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: 13
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: Invoking callbacks, AuthState changed from silentPending to Unauthenticated.
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: there are pending auth callbacks - starting AuthUI
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: AuthState == Unauthenticated calling auth callbacks with failure
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): On auth - False Message - Authentication failed
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
I/Unity (10723): [Play Games Plugin DLL] 01/05/18 14:56:39 +03:00 DEBUG: Invoking user callback on game thread
I/Unity (10723): (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

Нашел такой тред. https://github.com/playgameservices/pla ... -310877125 Изначально контрольная сумма сертификата разработчика (в консоли разработчика) совпадает с контрольной суммой сертификата для подписи приложения. Т.е. вроде ничего и делать не надо. Однако в других местах говорят, что нужно делать как нарисовано тут: https://imgur.com/a/zw0Os. Попробовал - то же самое - не авторизуется.

Да, если, почистить кеш приложения и сохраненные данные - окно авторизации всплывает и дает выбрать каким профилем входить, но авторизации все равно нет.

Может кто сталкивался - подскажет что можно сделать. Мне что-то ничего в голову уже не лезет...

Да, сразу заодно. Пытался сбилдить не встроенным сборщиком, а Graddle - вообще не создается GameService объект. В логах ошибки:
Скрытый текст:
E/Unity ( 8823): InvalidOperationException: There was an error creating a GameServices object. Check for log errors from GamesNativeSDK
E/Unity ( 8823): at GooglePlayGames.Native.PInvoke.GameServicesBuilder.Build (GooglePlayGames.Native.PInvoke.PlatformConfiguration configRef) [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayGames.Native.NativeClient.InitializeGameServices () [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayGames.Native.NativeClient.Authenticate (System.Action`2 callback, Boolean silent) [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action`2 callback, Boolean silent) [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action`2 callback) [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayGames.PlayGamesLocalUser.Authenticate (System.Action`2 callback) [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GooglePlayManager.Init () [0x00000] in <filename unknown>:0
E/Unity ( 8823): at GameManager.Start () [0x00000] in <filename unknown>:0

Graddle похоже пока не нужно использовать? И где этот "log errors from GamesNativeSDK"?
seaman
Адепт
 
Сообщения: 7491
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Авторизация на Google Play Service

Сообщение seaman 06 янв 2018, 15:05

Я так понимаю ни у кого таких проблем не было. Потому как не верю, что никто не пытался прицепить GooglePlayService к проекту.
PS: да, проект - под андроид.
seaman
Адепт
 
Сообщения: 7491
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Авторизация на Google Play Service

Сообщение seaman 06 янв 2018, 22:12

Еще информация.
Покопался в консоли. Обнаружил, что на все вопросы был ответ с кодом 200. По аналогии с http - это должно означать "ОК". Получается, что авторизация на сервере проходит, а вот ответ до устройства не доходит, или приходит с ошибкой!

Нашел вот тут комментарий: https://habrahabr.ru/post/230377/ (в конце), что авторизацию лучше делать не через Social, как рекомендуют в уроках, а через PlayGamesPlatform. Тогда якобы ответ будет более верен.

Попробовал - не помогло. :(
seaman
Адепт
 
Сообщения: 7491
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Авторизация на Google Play Service

Сообщение seaman 14 янв 2018, 18:04

Вроде заработало.
1. Гугл предлагает чтобы он подписывал приложения. Если соглашаешься он твою подпись при загрузке удаляет, а своей подписывает. В таком варианте мне заставить нормально работать не удалось. А вот если отказаться от этого, то нормально все работает. Только при создании клиента Oauth нужно указывать SHA сертификата, которую можно узнать keytools.
2. Не нужно запрашивать IdToken и т.п., т.к. это требует Web link. С ним я пока не разобрался.

Если кто в этом понимает - подскажите где почитать про этот самый Web link. Что-то я ничего толкового не нашел.
seaman
Адепт
 
Сообщения: 7491
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Авторизация на Google Play Service

Сообщение Tolking 10 май 2018, 14:24

Seaman, нашел что за фигня? У меня сейчас такая-же. Раньше социал хватало, а сейчас требуют сейв в облако делать... Не хочет авторизироваться после активации плагина... :(

Сейчас все работает? Может роскомнадзор чего заблочил?

P.S. Что-то сейчас задумался... А в едиторе, вообще, должно работать или только на устройстве?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2108
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Авторизация на Google Play Service

Сообщение seaman 10 май 2018, 18:43

В редакторе много что не работает из ГуглПлей. Нужно проверять.
seaman
Адепт
 
Сообщения: 7491
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Авторизация на Google Play Service

Сообщение Tolking 10 май 2018, 19:49

А на гугл грузить нужно или можно просто сбилдить на устройство?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2108
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула


Вернуться в Социальные сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2