Обзор миграции

Пакет SDK для игровых сервисов Google Play версии 1 использует функцию входа Google для Android, которая устарела и будет удалена из пакета SDK аутентификации сервисов Google Play ( com.google.android.gms:play-services-auth ) в 2025 году. Новые игровые приложения смогут использовать версию 1 до 2025 года. Удаление функции входа Google приводит к проблемам с зависимостями для существующих игровых приложений. Перенос существующих игровых приложений из SDK для игр версии 1 в SDK для игр версии 2 решает проблемы с зависимостями, возникшие при удалении функции входа Google.

Этот документ поможет вам разобраться во взаимодействии игрового приложения с различными пакетами SDK. В нём также сравниваются функции приложения с функциями пакетов SDK игровых сервисов Play Games Services v1 и v2.

Взаимодействие SDK

На схемах показано взаимодействие игрового приложения на Android, ядра Google Mobile Services (GMS), игровых сервисов Play и стороннего игрового сервера (3P). На диаграммах показано, как приложение использует сервисы Google для аутентификации и игровых функций, а также взаимодействует с отдельной сторонней системой.

игры v2 (Текущие)

Взаимодействие между игровым приложением на Android, GMS Core, игровыми сервисами Play и сторонним игровым сервером (3P).
Взаимодействие между игровым приложением на Android, GMS Core, игровыми сервисами Play и сторонним (3P) игровым сервером. (кликните для увеличения).

игры v1 (устаревшие)

Взаимодействие между игровым приложением на Android, GMS Core, игровыми сервисами Play и сторонним игровым сервером (3P).
Взаимодействие между игровым приложением на Android, GMS Core, игровыми сервисами Play и сторонним (3P) игровым сервером. (кликните для увеличения).

Ниже приведен краткий обзор компонентов и SDK:

  • Игровое приложение.
    • Это игровое приложение пользователя, работающее на устройстве под управлением Android.
    • Он состоит из двух основных компонентов:
      • SDK для игр v1 или games v2. Клиентский SDK, отвечающий за взаимодействие с игровыми сервисами Play.
      • Auth SDK. Auth SDK сервисов Google Play отвечает за обработку потоков аутентификации и авторизации пользователей в играх v1.
    • Оба SDK взаимодействуют с помощью AIDL (язык определения интерфейса Android), что указывает на шаблон взаимодействия между различными процессами или службами.
  • GMS Core также называется Google Play Services.
    • Это фирменный слой Google на Android.
    • Игровое приложение использует два модуля GMS Core:
      • Игровой модуль. предоставляет специфичные для игр функции, такие как таблицы лидеров, достижения и управление состоянием игры.
      • Модуль аутентификации. Обрабатывает операции аутентификации и авторизации пользователей.
    • SDK игр и аутентификации в игровом приложении взаимодействуют с соответствующими модулями с помощью интерфейсов AIDL , что указывает на межпроцессное взаимодействие (IPC).

  • Шлюз Play Games Services.
    • Логический шлюз, обеспечивающий связь между ядром GMS и сервером Play Games Services.
    • Обрабатывает запросы API, преобразование данных и аутентификацию для связи с сервером.
  • Сервер Play Games Services.
    • Представляет собой внутренние службы Play Games Services, отвечающие за хранение игровых данных, управление учетными записями пользователей и обеспечение многопользовательских функций.
  • Шлюз для сторонних игр.
    • Если ваше игровое приложение квалифицируется как стороннее (3P) приложение, клиентская библиотека взаимодействует с серверами Play Games Services через сторонние игровые серверы.
    • Подразумевает, что приложение также может проходить аутентификацию у другого поставщика услуг.
  • Сторонний игровой сервер.
    • Представляет собой дополнительный внешний сервер, с которым может взаимодействовать игровое приложение, вероятно, для пользовательских функций или управления данными.
    • Связь с приложением происходит через сторонний игровой шлюз.

Сравнение характеристик

В этой таблице приведено сравнение функций SDK игр v1 и игр v2:


Особенность

игры v1 SDK

игры v2 SDK

Аутентификация

Требуется интеграция с play-services-auth .

Упрощенный и оптимизированный; не требуется play-services-auth .

Авторизация

Дополнительный код для успешного выполнения, неудач и повторных попыток.

Управляется SDK

Токен доступа к серверу

Можно запросить дополнительные области OAuth 2.0 с помощью GoogleSigninClient .

Дополнительный код для обработки ошибок при входе в систему.

При запросе доступа на стороне сервера к веб-API Play Games Services можно запросить три базовые области идентификации OAuth 2.0 с помощью GamesSignInClient .

Дополнительные сведения см. в разделах Доступ к игровым сервисам Play со стороны сервера и Получение кодов аутентификации сервера .


Процесс входа в систему

Использует GoogleSigninClient .

Дополнительный код для обработки шаблонного кода для автоматического входа и обработки ошибок.

Использует GamesSignInClient .

SDK обрабатывает шаблонный код, обеспечивает автоматический вход и обработку ошибок.

Приветственное всплывающее окно

Требуется дополнительный код.
Разработчики могут контролировать его размещение и время.

Дополнительный код не требуется. Единообразный пользовательский интерфейс во всех играх, настроенный с помощью SDK для игр v2.

Зависимости

Требуется play-services-auth .

Модуль «Игры» отвечает за авторизацию и аутентификацию. Вам не нужно добавлять никаких дополнительных зависимостей.
Выход

Использует GoogleSignInClient.signOut .

API выхода не поддерживается.

Несколько учетных записей Play Games Services и настройки для каждой игры

Управление аккаунтом возможно внутри вашей игры.

Пользователи могут изменить профиль Play Games Services в настройках мобильного устройства. Подробнее см. в статье «Как переключить профили Play Games на мобильном устройстве» .