Unity Play Games не может аутентифицироваться - PullRequest
2 голосов
/ 07 марта 2019

У меня проблема со службами игровых игр и единством. Я сделал все по документации. Я тестировщик, тестирование разрешено, и я изменил sha1 в консоли API на тот, который используется приложением. Я использую код из документов и примеров, так что вот краткое:

PlayGamesClientConfiguration conf = new PlayGamesClientConfiguration.Builder().Build();
PlayGamesPlatform.InitializeInstance(conf);
PlayGamesPlatform.DebugLogEnabled = true;
PlayGamesPlatform.Activate();

Debug.Log("Authenticating...");
Social.localUser.Authenticate((bool success) =>
{
    if (success)
    {
        Debug.Log("Welcome " + Social.localUser.userName);
    }
    else
    {
        Debug.Log("Authentication failed.");
    }
});

Когда я создаю приложение в режиме разработки, появляется всплывающее окно Play Games, начинает загрузку, исчезает и выдает сообщение «Ошибка аутентификации». Но когда я создаю приложение без режима разработки, ничего не происходит, и я сразу получаю сообщение об ошибке аутентификации. И да, я правильный ключ sha1.

Пожалуйста, помогите мне

Ответы [ 2 ]

1 голос
/ 08 марта 2019

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

  1. Соответствует сертификатам SHA-1. Если вы используете приложение, загруженное из Play Store, используйте «сертификат подписи приложения», в противном случае используйте сертификат загрузки. Они находятся в консоли Play в разделе «Ваше приложение / Управление релизами / Подписание приложений». Как примечание, если вы собираете Unity непосредственно на свое устройство, вам следует убедиться, что вы строите с тем же ключом, который использовался для загрузки в Google Play. Подробнее здесь

  2. Если вы используете пользовательскую конфигурацию и запрашиваете такие вещи, как .RequestServerAuthCode(false), вы должны создать дополнительное Веб-приложение . Перейдите в консольный проект и в разделе create credentials выберите OAuth client ID, а затем выберите Web App.

  3. Если вы используете внутреннее тестирование, не забудьте авторизовать учетные записи в игровой консоли в разделе «Сервисы / Ваше приложение / Тестирование».

  4. Попробуйте отключить Anti-Piracy в консоли Play в разделе Игровые сервисы / Ваше приложение / Связанные приложения / Ваше приложение. Делайте это только если вы тестируете приложение за пределами Google Play. Я думаю, что если вы входите в систему с использованием проверенных тестовых аккаунтов, это не имеет значения.

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

  1. Попробуйте очистить кэш вашего приложения на вашем устройстве, я снова столкнулся с этой проблемой, и это решило ее для меня.

Я, наконец, думаю, что исправил это навсегда ... спустя почти месяц. : o Надеюсь, это поможет.

0 голосов
/ 07 марта 2019

Сервисы Google могут публиковаться / не публиковаться отдельно от вашего приложения. Проверьте правильность их публикации, выполнив следующие действия:

  1. Консоль Google Play
  2. Игровые услуги
  3. Выберите игру
  4. Издательство

Проверьте, опубликованы ли игровые сервисы.

enter image description here

enter image description here

...