Аутентификация платформы

Первым шагом в интеграции вашей игры с сервисами Google Play Games (PGS) является внедрение аутентификации платформы. Это необходимо для доступа ко всем остальным функциям, таким как достижения, таблицы лидеров и события.

Поскольку SDK Play Games Services автоматически выполняет аутентификацию платформы при запуске игры, вам необходимо интегрировать SDK PGS v2 в вашу игру и реализовать рекомендуемый процесс аутентификации, чтобы ваша игра была готова к внедрению и соответствию рекомендациям Google Play Games Level Up по улучшению пользовательского опыта .

Концепции аутентификации

В Play Games Services v2 концепция «входа в систему» ​​разделена на два отдельных уровня: аутентификация платформы и внутриигровая аутентификация .

Аутентификация платформы

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

  • Бесшумно и автоматически: аутентификация происходит автоматически в фоновом режиме при запуске игры. Сервисы Play Games не требуют нажатия кнопки «Вход вручную».
  • Идентификатор игрока: После успешной аутентификации на платформе Play Games Services предоставляет стабильный идентификатор игрока . Этот идентификатор остается неизменным на всех устройствах для одной и той же игры. Используйте этот идентификатор в основном для отслеживания функций платформы, таких как прогресс достижений.
  • Разделение: Вы не должны использовать Play Games Services в качестве основной системы идентификации вашей игры для управления внутриигровой учетной записью игрока (IGA), игровым прогрессом или инвентарем. Play Games Services служит постоянным идентификатором платформы.

Идентификатор игрока

Идентификатор игрока (Implayer ID) — это идентификатор учетной записи игрока в сервисах Play Games Services. Ваша игра может получить идентификатор игрока для любого игрока, который входит в вашу игру, используя аутентификацию Play Games Services. Интеграция вашего игрового клиента , интеграция игрового сервера и облачный сервис сохранения могут использовать этот идентификатор для безопасного доступа к данным игрока из Play Games Services.

Идентификатор игрока (Player ID) остается неизменным для пользователя при игре на нескольких устройствах. Однако он не всегда совпадает между играми. Для получения дополнительной информации см. раздел «Идентификаторы игроков нового поколения» .

Внутриигровая аутентификация

Вы управляете внутриигровым аккаунтом (IGA), который представляет собой систему идентификации, связывающую прогресс игрока, инвентарь и игровую валюту в вашей игре.

  • Основной способ авторизации: В качестве основного метода авторизации вы можете использовать собственную серверную часть, вход через Google (SiWG) или других поставщиков.
  • Независимость: Игроки могут войти в Play Games Services (Platform Identity), чтобы зарабатывать достижения, будучи авторизованными под любой конкретной учетной записью IGA (например, гостевой учетной записью или конкретной учетной записью SiWG).
  • Управление несколькими IGA: Сервисы Play Games обрабатывают только аутентификацию платформы. Ваша игра управляет основной аутентификацией игроков в их IGA. Это означает, что существующие процессы переключения игроков между IGA в вашей игре не меняются. Когда игроки меняют учетные записи, они остаются аутентифицированными на платформе Play Games через PGS, и вы продолжаете отправлять их данные, связанные с достижениями и другими функциями PGS, используя постоянный идентификатор игрока .

Кроссплатформенная совместимость с SiWG

Чтобы игроки могли сохранять свой прогресс на платформах Android, iOS и в веб-версии, используйте вход через Google в качестве основного метода аутентификации в игре. Учтите следующее:

  • Кнопка «Вход через Google»: В PGS v1 кнопка Google Play часто обрабатывала как вход на платформу, так и вход в игру. В v2 это отдельные процессы. Реализуйте стандартную кнопку «Вход через Google» , чтобы игроки могли аутентифицироваться и получить доступ к своим IGA.
  • SDK для входа через Google:
    • Для Android и iOS используйте стандартные SDK Google Sign-in для аутентификации игроков в их IGA-приложениях.
    • Используйте Google Open ID в качестве основного идентификатора внутриигрового аккаунта игрока.
    • Используйте идентификатор игрока Play Games Services, чтобы сообщать о прогрессе игрока в использовании функций Play Games, таких как достижения.

Рекомендуемая интеграция

Для интеграции вашей игры с сервисами Play Games выполните следующие рекомендуемые шаги:

Инициализация и аутентификация

Этот шаг необходим для инициализации и аутентификации вашей игры:

Реализуйте аутентификацию платформы, инициализировав SDK Play Games Services v2 при запуске. Дополнительную информацию см. в разделе «Аутентификация платформы для игр Android» . Этот шаг необходим для доступа к функциям Play Games Services, таким как достижения и таблицы лидеров.

Аутентификация выполняется в фоновом режиме во время запуска игры. Существующие пользователи Play Games Services видят приветственное сообщение после успешной аутентификации. Пользователям, у которых нет профиля Play Games Services, предлагается создать профиль во время инициализации SDK.

Автоматическое приглашение к входу в систему

Создание профиля

Для взаимодействия с платформой игрокам необходим профиль Play Games Services. У некоторых игроков может отсутствовать профиль Play Games Services на момент начала игры. Таким игрокам будет предложено его создать.

Запросы на создание профиля, запускаемые автоматически, появляются по умолчанию при запуске игры без профиля Play Games Services.

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

Внутриигровая аутентификация

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

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

Области действия OAuth

Сервисы Play Games Services используют систему OAuth , чтобы позволить игрокам предоставлять вашей игре доступ к своей учетной записи. Сервисы Play Games Services имеют уникальную область действия для игр ( games-lite ) и используют другую область действия ( drive.appdata ), если ваша игра использует функцию сохранения игр. Функция сохранения игр предоставляет доступ к учетной записи Google Drive пользователя, где хранятся данные игры.

При использовании SDK Play Games Services v2 вы можете запросить дополнительные области действия OAuth . Если вам нужны дополнительные области действия OAuth, мы рекомендуем вызвать requestServerSideAccess . Для получения дополнительной информации см. раздел «Получение кода аутентификации сервера» или «Получение кодов аутентификации сервера» .

Рекомендации по улучшению пользовательского опыта для идеального процесса аутентификации

В приведенных ниже рекомендациях описан рекомендуемый процесс аутентификации при интеграции с PGS v2. Они охватывают сценарии для новых, существующих и повторно использующих систему пользователей, а также для гостевого режима.

Новый игрок

Этот алгоритм применяется к пользователю, впервые запускающему игру на устройстве, на котором ранее не было истории игр в эту игру.

  1. При запуске SDK PGS инициализируется для аутентификации идентификатора платформы пользователя (идентификатор игрока PGS).
  2. После этого фонового процесса установления соединения игра отображает игроку варианты создания учетной записи IGA, например, «Создать новую учетную запись» , «Войти через Google» или другие способы авторизации через социальные сети.
  3. После того как игрок создаст или выберет IGA, игра привяжет эту учетную запись к выбранному основному идентификатору в его административной панели.
  4. Игра также привязывает выбранный IGA к идентификатору игрока PGS, отмечая его как последний сыгранный IGA для бесшовного восстановления .
Новый игрок с зарегистрированным профилем PGS
Новый игрок с авторизованным профилем PGS (нажмите для увеличения).
Новый игрок без профиля PGS
Новый игрок без профиля PGS (нажмите для увеличения).
Новый игрок с зарегистрированным профилем PGS
Новый игрок с авторизованным профилем PGS. (Нажмите для увеличения).

Игроки с активными сессиями

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

  1. Когда игрок запускает приложение, PGS незаметно проходит аутентификацию в фоновом режиме, предоставляя вам идентификатор игрока для отслеживания прогресса в достижении достижений и использования других функций игры.
  2. Одновременно, если это применимо, игра пропускает экраны входа в систему и немедленно авторизует игрока в его активной сессии IGA или в последней сыгранной сессии IGA, связанной с его идентификатором игрока, чтобы он мог немедленно возобновить игровой процесс.
Запустите игру на том же устройстве, используя вошедший в систему профиль PGS.
Запустите игру на том же устройстве, используя вошедший в систему профиль PGS (нажмите для увеличения).
Запустите игру на том же устройстве, используя неактивный профиль PGS.
Запустите игру на том же устройстве, но без профиля PGS (нажмите для увеличения).
Запустите игру на том же устройстве без профиля PGS.
Запустите игру на том же устройстве без профиля PGS (нажмите для увеличения).
Запустите игру на новом устройстве, войдя в свой профиль PGS и связав IGA-файл.
Запустите игру на новом устройстве, войдя в свой профиль PGS и связав IGA-файл (нажмите для увеличения).
Запустите игру на новом устройстве, войдя в свой профиль PGS и не подключая IGA.
Запустите игру на новом устройстве, войдя в свой профиль PGS и не подключая IGA (нажмите для увеличения).
Запустите игру на новом устройстве, не используя профиль PGS.
Запустите игру на новом устройстве, не используя профиль PGS (нажмите для увеличения).
Запустите игру на новом устройстве без профиля PGS.
Запустите игру на новом устройстве без профиля PGS (нажмите для увеличения).

Игроки меняют учетные записи

Этот процесс происходит, когда игрок с активной сессией переходит в настройки игры, чтобы сменить учетную запись. Например, выйти из основной учетной записи, чтобы использовать дополнительную.

  1. Игрок выходит из текущей учетной записи IGA, но соединение с платформой PGS остается активным.
  2. Когда игрок входит в систему с другим IGA, игра привязывает эту новую учетную запись к текущему идентификатору игрока PGS как к последнему сыгранному IGA, чтобы обеспечить бесшовное восстановление.
Переключитесь на IGA, не связанный ни с одним профилем PGS.
Переключитесь на IGA, не связанный ни с одним профилем PGS (нажмите для увеличения).
Переключитесь на IGA-соединение с тем же зарегистрированным профилем PGS.
Переключитесь на IGA-архив с тем же зарегистрированным профилем PGS (нажмите для увеличения).
Переключитесь на ограничение IGA с другим профилем PGS.
Переключитесь на IGA-ограничение с другим профилем PGS (нажмите для увеличения).
Переключение IGA без профиля PGS на устройстве.
Переключение IGA без профиля PGS на устройстве (нажмите для увеличения).
Переключение IGA с подписанным профилем PGS
Замена профиля IGA на профиль PGS, который был авторизован (нажмите для увеличения).
Переключитесь на IGA, которого не существует.
Переключитесь на несуществующий IGA (нажмите для увеличения).

Беспроблемное восстановление для вернувшихся игроков

Этот сценарий применим, когда игрок запускает игру после периода бездействия, переустановки или на совершенно новом устройстве. Рекомендуется, чтобы в игре была реализована функция бесшовного восстановления .

  1. При запуске PGS аутентифицирует пользователя и предоставляет игре идентификатор игрока PGS.
  2. Игра проверяет свой бэкэнд (или полученный токен отзыва, если используется API отзыва ), чтобы узнать, связана ли последняя сыгранная игра IGA уже с этим идентификатором PGS.
  3. Если связь найдена, игра автоматически восстанавливает прогресс игрока и выполняет вход в систему, полностью пропуская экран ручного входа.
  4. В противном случае игра покажет игроку экран входа в систему.
    1. Затем игрок выбирает способ входа и авторизуется в IGA.
    2. Затем игра связывает этот IGA с идентификатором игрока PGS как с последним сыгранным IGA для бесшовного восстановления.
Игрок, вернувшийся в команду, но уже подписавший контракт с PGS.
Игрок, вернувшийся в команду, но уже подписавший контракт с PGS (профиль игрока, ранее не зарегистрированного в системе), может увеличить изображение.
Игрок, вернувшийся в команду, с зарегистрированным профилем PGS и связанным IGA.
Игрок, вернувшийся в команду, с зарегистрированным профилем PGS и связанным IGA (нажмите для увеличения).
Игрок, вернувшийся в команду, с зарегистрированным профилем PGS и без привязанного IGA.
Игрок, вернувшийся в команду, с зарегистрированным профилем PGS и без привязанного IGA (нажмите для увеличения).
Игрок, вернувшийся в игру, но не имеющий профиля PGS.
Игрок, вернувшийся в игру, но не имеющий профиля PGS (нажмите для увеличения).

Гостевой режим

Игроки могут запустить игру и играть, используя локальную гостевую учетную запись. PGS по-прежнему выполняет аутентификацию в фоновом режиме. Если игрок выберет сохранение прогресса , игра преобразует гостевую сессию в постоянную IGA-запись и привязывает ее к идентификатору игрока PGS.

Гостевой режим - IGA не создан
Гостевой режим — файл IGA не создан (нажмите для увеличения).
Гостевой режим - создан IGA
Гостевой режим - создан IGA (нажмите для увеличения).