Проблемы с плагином Google Play Games For Unity
novadev | Пользователь | www | 10 янв. 2018 | 18:47 | #0 |
---|
Я проверил настройки плагина, настройки в консоли разработчика и значение записи Credentials в Google API console. Все корректно.
Версия плагина: 0.9.40
Unity версия: 5.4
Init code:
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() .RequestEmail() .RequestServerAuthCode(false) .RequestIdToken() .Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate();
Logs (Я скрыл персональные данные звездочками "*"):
01-10 18:13:19.947: I/Unity(1893): Starting Auth with token client. 01-10 18:13:19.947: I/Unity(1893): 01-10 18:13:19.947: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.977: W/Unity(1893): !!! [Play Games Plugin DLL] 01/10/18 18:13:19 +03:00 WARNING: Creating new PlayGamesPlatform 01-10 18:13:19.977: W/Unity(1893): 01-10 18:13:19.977: W/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.977: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:19 +03:00 DEBUG: Activating PlayGamesPlatform. 01-10 18:13:19.977: I/Unity(1893): 01-10 18:13:19.977: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.977: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:19 +03:00 DEBUG: PlayGamesPlatform activated: GooglePlayGames.PlayGamesPlatform 01-10 18:13:19.977: I/Unity(1893): 01-10 18:13:19.977: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.977: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:19 +03:00 DEBUG: Creating platform-specific Play Games client. 01-10 18:13:19.977: I/Unity(1893): 01-10 18:13:19.977: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.977: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:19 +03:00 DEBUG: Creating Android IPlayGamesClient Client 01-10 18:13:19.977: I/Unity(1893): 01-10 18:13:19.977: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:19.997: I/Unity(1893): ---- [0] -- 500170789 01-10 18:13:19.997: I/Unity(1893): 01-10 18:13:19.997: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.457: D/GamesUnitySDK(1893): Performing Android initialization of the GPG SDK 01-10 18:13:20.477: I/Unity(1893): Building GPG services, implicitly attempts silent auth 01-10 18:13:20.477: I/Unity(1893): 01-10 18:13:20.477: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.497: E/Unity(1893): Get auth code in callback! 01-10 18:13:20.497: E/Unity(1893): 01-10 18:13:20.497: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.497: E/Unity(1893): Auth code: 01-10 18:13:20.497: E/Unity(1893): 01-10 18:13:20.497: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.497: E/Unity(1893): Token: 01-10 18:13:20.497: E/Unity(1893): 01-10 18:13:20.497: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.497: E/Unity(1893): Email: 01-10 18:13:20.497: E/Unity(1893): 01-10 18:13:20.497: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.517: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: 10 01-10 18:13:20.517: I/Unity(1893): 01-10 18:13:20.517: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.517: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Invoking callbacks, AuthState changed from silentPending to Unauthenticated. 01-10 18:13:20.517: I/Unity(1893): 01-10 18:13:20.517: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.517: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: there are pending auth callbacks - starting AuthUI 01-10 18:13:20.517: I/Unity(1893): 01-10 18:13:20.517: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.577: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: VALID 01-10 18:13:20.577: I/Unity(1893): 01-10 18:13:20.577: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.597: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Entering internal callback for PlayerManager#InternalFetchSelfCallback 01-10 18:13:20.597: I/Unity(1893): 01-10 18:13:20.597: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.597: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Populating User 01-10 18:13:20.597: I/Unity(1893): 01-10 18:13:20.597: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.607: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Found User: [Player: '***' (id ***)] 01-10 18:13:20.607: I/Unity(1893): 01-10 18:13:20.607: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.607: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Maybe finish for User 01-10 18:13:20.607: I/Unity(1893): 01-10 18:13:20.607: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:20.607: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:20 +03:00 DEBUG: Auth not finished. User=[Player: '***' (id ***)] achievements= 01-10 18:13:20.607: I/Unity(1893): 01-10 18:13:20.607: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.607: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Entering internal callback for AchievementManager#InternalFetchAllCallback 01-10 18:13:21.607: I/Unity(1893): 01-10 18:13:21.607: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.607: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Populating Achievements, status = VALID 01-10 18:13:21.607: I/Unity(1893): 01-10 18:13:21.607: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.627: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Found 1 Achievements 01-10 18:13:21.627: I/Unity(1893): 01-10 18:13:21.627: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.627: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Maybe finish for Achievements 01-10 18:13:21.627: I/Unity(1893): 01-10 18:13:21.627: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.627: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Auth finished. Proceeding. 01-10 18:13:21.627: I/Unity(1893): 01-10 18:13:21.627: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.627: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Invoking Callbacks: System.Action`2[System.Boolean,System.String] 01-10 18:13:21.627: I/Unity(1893): 01-10 18:13:21.627: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.627: E/Unity(1893): Auth is: True 01-10 18:13:21.627: E/Unity(1893): 01-10 18:13:21.627: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:21.647: I/Unity(1893): [Play Games Plugin DLL] 01/10/18 18:13:21 +03:00 DEBUG: Invoking user callback on game thread 01-10 18:13:21.647: I/Unity(1893): 01-10 18:13:21.647: I/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:22.127: E/Unity(1893): auth code: 01-10 18:13:22.127: E/Unity(1893): 01-10 18:13:22.127: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:22.127: E/Unity(1893): token id: 01-10 18:13:22.127: E/Unity(1893): 01-10 18:13:22.127: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) 01-10 18:13:22.127: E/Unity(1893): email: 01-10 18:13:22.127: E/Unity(1893): 01-10 18:13:22.127: E/Unity(1893): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42) |
Буду очень признателен за любую помощь.
seaman | Постоялец | www | 10 янв. 2018 | 20:31 | #1 |
---|
> После успешной авторизации
Встречный вопрос.
Авторизация проходит без проблем? У меня просто проблема.
Использую плагин https://github.com/playgameservices/play-games-plugin-for-unity.
При первом запуске просит разрешение на доступ приложения к аккаунту. После чего нормально авторизуется и все работает, показывает ачивки, лидербоард...
При последующих запусках приложения авторизация не проходит. Ну и естественно все связанное с Google Play Service не работает. Ошибок не выдает.
Код инициализации и авторизации (урезанный)
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; } } |
Нашел такой тред. https://github.com/playgameservices/pla ... -310877125 Изначально контрольная сумма сертификата разработчика (в консоли разработчика) совпадает с контрольной суммой сертификата для подписи приложения. Т.е. вроде ничего и делать не надо. Однако в других местах говорят, что нужно делать как нарисовано тут: https://imgur.com/a/zw0Os. Попробовал - то же самое - не авторизуется.
Да, если, почистить кеш приложения и сохраненные данные - окно авторизации всплывает и дает выбрать каким профилем входить, но авторизации все равно нет.
Покопался в консоли. Обнаружил, что на все вопросы был ответ с кодом 200. По аналогии с http - это должно означать "ОК". Получается, что авторизация на сервере проходит, а вот ответ до устройства не доходит, или приходит с ошибкой!
Нашел вот тут комментарий: https://habrahabr.ru/post/230377/ (в конце), что авторизацию лучше делать не через Social, как рекомендуют в уроках, а через PlayGamesPlatform. Тогда якобы ответ будет более верен.
Попробовал типа PlayGamesPlatform.Instance.Authenticate(OnAuth); - не помогло.
Есть только одна мысль. Когда выкладывал приложение Гугл спрашивает кто будет подписывать - он или я самостоятельно. Я выбрал - Гугл. Он тогда извлекает из загруженного приложения мою подпись и запаковывает свою. Можно попробовать самому подписывать - может тогда будет все ОК.
Вы сами подписываете или дали Гуглу?
Что еще можно посмотреть - попробовать?
Правка: 10 янв. 2018 20:31
X-rus | Постоялец | www | 11 янв. 2018 | 9:35 | #2 |
---|
> функции "GetServerAuthCode", "GetIdToken" и "GetUserEmail" возвращает пустые строки
Нужно задать корректный Web App Client ID. Я в Linked apps добавил Web link (привязал на PlayFab аккаунт), взял оттуда ссылку на ID и всё заработало. Ещё, насколько я понял, при первом запросе email вылезет окно, которое запросит доступ к персональным данным. Поэтому почту лучше вообще не запрашивать.
seaman
> Вы сами подписываете или дали Гуглу?
Я сам задаю нужный SHA в Google API. Узнать его можно так "keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v". Для этих целей проще всего создать новый Game service для тестов. И там вручную задавать все нужные данные, после быстренько тестировать через Юнити. Попробуй убрать RequestIdToken, потому что для него нужен Web link, которого у тебя видимо нет:
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() .Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); |
P.S. Ещё нужно не забыть добавить свой аккаунт в тестеры.
Правка: 11 янв. 2018 9:37
novadev | Пользователь | www | 11 янв. 2018 | 12:11 | #3 |
---|
Спасибо большое!
А Вы давно пользуетесь PlayFab? И есть ли ограничения по авторизациям у бесплатного аккаунта?
Правка: 11 янв. 2018 12:12
novadev | Пользователь | www | 11 янв. 2018 | 12:16 | #4 |
---|
Я сам подписывал. Причем Unity 5.4 в этом вопросе лучше не доверять (не уверен за новые версии), так как при подписи размер ключа < 2048, на что Google плюется.
X-rus | Постоялец | www | 11 янв. 2018 | 15:28 | #5 |
---|
> А Вы давно пользуетесь PlayFab? И есть ли ограничения по авторизациям у бесплатного аккаунта?
Недавно начал. По авторизациям нет. Есть только лимиты, которые можно посмотреть в настройках:
Правка: 11 янв. 2018 15:28
novadev | Пользователь | www | 12 янв. 2018 | 13:19 | #6 |
---|
/ Форум / Программирование игр / Общее
Тема закрыта.