Unity не удалось войти в систему с помощью Google Play GamesC#

Место общения программистов C#
Ответить
Anonymous
 Unity не удалось войти в систему с помощью Google Play Games

Сообщение Anonymous »

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

Код: Выделить всё

Exception: Failed
GPmanager.Start () (at Assets/Scripts/menu/GPmanager.cs:25)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+c.b__7_0 (System.Object state) (at :0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at :0)
UnityEngine.UnitySynchronizationContext.Exec () (at :0)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at :0)
и мой сценарий GPManager (показан ниже) выводит эту ошибку: Не удалось получить код авторизации игр Google Play
GPManager (как показано в уроке):

Код: Выделить всё

    public string Token;
public string Error;

void Awake()
{
PlayGamesPlatform.Activate();
}

async void Start()
{
await UnityServices.InitializeAsync();
await LoginGooglePlayGames();
await SignInWithGooglePlayGamesAsync(Token);
}
//Fetch the Token / Auth code
public Task LoginGooglePlayGames()
{
var tcs = new TaskCompletionSource();
PlayGamesPlatform.Instance.Authenticate((success) =>
{
if (success == SignInStatus.Success)
{
Debug.Log("Login with Google Play games successful.");
PlayGamesPlatform.Instance.RequestServerSideAccess(true, code =>
{
Debug.Log("Authorization code: " + code);
Token = code;
// This token serves as an example to be used for SignInWithGooglePlayGames
tcs.SetResult(null);
});
}
else
{
Error = "Failed to retrieve Google play games authorization code";
Debug.Log("Login Unsuccessful");
tcs.SetException(new Exception("Failed"));
}
});
return tcs.Task;
}

async Task SignInWithGooglePlayGamesAsync(string authCode)
{
try
{
await AuthenticationService.Instance.SignInWithGooglePlayGamesAsync(authCode);
Debug.Log($"PlayerID: {AuthenticationService.Instance.PlayerId}"); //Display the Unity Authentication PlayerID
Debug.Log("SignIn is successful.");
}
catch (AuthenticationException ex)
{
// Compare error code to AuthenticationErrorCodes
// Notify the player with the proper error message
Debug.LogException(ex);
}
catch (RequestFailedException ex)
{
// Compare error code to CommonErrorCodes
// Notify the player with the proper error message
Debug.LogException(ex);
}
}
Я попытался полностью перенастроить свои согласия OAuth, протестировать на устройствах Android и эмуляторах, добавить все учетные записи на устройствах в списки тестировщиков, установить из внутреннего теста Google Play (используя там Ключи SHA1) и из сборок .apk из Unity (с использованием ключей SHA1 из хранилища ключей) — все безрезультатно.
Есть идеи?
Unity — 2022.3.18f1
Плагин GPS — v11.01
Unity Auth — 3.3.1

Подробнее здесь: https://stackoverflow.com/questions/784 ... play-games
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»