Переход на Play Games Services v2 (Unity)

В этом документе описывается, как перенести существующие игры с SDK games v1 на SDK games v2 . Плагин Play Games для Unity, версий 10 и более ранних, использует SDK games v1.

Прежде чем начать

  • Убедитесь, что вы уже настроили Play Console и установили редактор Unity.

Скачайте плагин Google Play Games для Unity.

Чтобы воспользоваться последними функциями сервисов Play Games, загрузите и установите последнюю версию плагина. Скачать его можно из репозитория GitHub .

Удалите старый плагин

В редакторе Unity удалите следующие папки или файлы.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Удалите выделенные папки в вашем проекте Unity.
Удалите выделенные папки в вашем проекте Unity (нажмите для увеличения).

Импортируйте новый плагин в свой проект Unity.

Чтобы импортировать плагин в ваш проект Unity, выполните следующие шаги:

  1. Откройте свой игровой проект.
  2. В редакторе Unity нажмите Assets > Import Package > Custom Package, чтобы импортировать загруженный файл unitypackage в ресурсы вашего проекта.
  3. Убедитесь, что в качестве текущей платформы сборки выбрана Android .

    1. В главном меню нажмите Файл > Настройки сборки .

    2. Выберите Android и нажмите «Переключить платформу» .

    3. В меню «Окно» > «Google Play Games» должен появиться новый пункт. Если его нет, обновите ресурсы, нажав «Ресурсы» > «Обновить» , а затем попробуйте снова установить платформу сборки.

  4. В редакторе Unity нажмите File > Build Settings > Player Settings > Other Settings .

  5. В поле «Уровень целевого API» выберите версию.

  6. В поле «Бэкенд скриптов» введите IL2CPP .

  7. В поле «Целевые архитектуры» выберите значение.

  8. Обратите внимание на имя пакета package_name . Эта информация пригодится вам позже.

    Настройки проигрывателя в вашем проекте Unity
    Настройки проигрывателя в вашем проекте Unity.
  9. Скопируйте ресурсы Android из Play Console.

  10. Добавьте ресурсы Android в свой проект Unity.

Обновить код автоматического входа

Замените класс инициализации PlayGamesClientConfiguration на класс PlayGamesPlatform.Instance.Authenticate() . Инициализация и активация PlayGamesPlatform не требуются. Вызов PlayGamesPlatform.Instance.Authenticate() получает результат автоматического входа в систему.

C#

В редакторе Unity найдите файлы с классом PlayGamesClientConfiguration .

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

И обновите его следующим образом:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Выберите социальную платформу

Чтобы выбрать социальную платформу, см. раздел «Выбор социальной платформы» .

Получение кодов аутентификации сервера

Чтобы получить коды доступа на стороне сервера, см. раздел «Получение кодов аутентификации сервера» .

Удалить код выхода

Удалите код для выхода из системы. Сервисы Play Games больше не требуют кнопки выхода из игры.

Удалите код, показанный в следующем примере:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Протестируйте свою игру

Убедитесь, что ваша игра работает так, как задумано, протестировав её. Тесты, которые вы будете проводить, зависят от особенностей вашей игры.

Ниже приведён список распространённых тестов, которые можно запустить.

  1. Вход в систему пройден успешно .

    1. Автоматический вход в систему работает. Пользователь должен быть авторизован в Play Games Services при запуске игры.

    2. Отображается приветственное всплывающее окно.

      Пример всплывающего окна приветствия.
      Пример всплывающего окна приветствия (нажмите для увеличения).

    3. Отображаются сообщения об успешном завершении операции. Выполните следующую команду в терминале:

      adb logcat | grep com.google.android.

      В следующем примере показано сообщение об успешном завершении операции:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Обеспечьте согласованность компонентов пользовательского интерфейса .

    1. Всплывающие окна, таблицы лидеров и достижения корректно и стабильно отображаются на экранах различных размеров и ориентаций в пользовательском интерфейсе Play Games Services.

    2. Функция выхода из системы не отображается в пользовательском интерфейсе сервисов Play Games.

    3. Убедитесь, что вы можете успешно получить идентификатор игрока, и, если применимо, серверные функции работают должным образом.

    4. Если в игре используется аутентификация на стороне сервера, тщательно протестируйте поток requestServerSideAccess . Убедитесь, что сервер получает код аутентификации и может обменять его на токен доступа. Протестируйте как успешные, так и неудачные сценарии на наличие сетевых ошибок и сценариев с недействительным client ID .

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

  • Таблицы лидеров : Отправляйте результаты и просматривайте таблицы лидеров. Проверяйте правильность рейтинга и отображения имен игроков и результатов.
  • Достижения : Разблокируйте достижения и убедитесь, что они правильно записаны и отображаются в пользовательском интерфейсе Play Games.
  • Сохраненные игры : Если игра использует сохраненные игры, убедитесь, что сохранение и загрузка игрового прогресса работают безупречно. Это особенно важно проверить на разных устройствах и после обновления приложения.

Задачи после миграции

После перехода на SDK для игр версии 2 выполните следующие шаги.

  1. Используйте функцию подписи приложений Play.

  2. Создайте файл AAB

  3. Создайте внутренний тестовый релиз.

  4. Проверьте учетные данные для подписи вашего приложения.