Войти

При входе в игровые сервисы Play вы получаете игровую идентификацию игрока, которая представляет собой игровую идентификацию на уровне платформы для игроков Android. Эта идентичность помогает построить отношения между вашей игрой и игроком. Игроки охотнее используют эту личность для входа в систему, чем с альтернативными централизованными системами.

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

  • Продолжайте с того места, где они остановились, если они меняют или перезагружают свое устройство.
  • Играйте в игру на нескольких устройствах (например, на другом телефоне или Chromebook).
  • Удалите, а затем переустановите игру

Вы можете использовать идентификатор Play Games Services в качестве ключа для своего собственного решения для сохранения в облаке или воспользоваться бесплатным сервисом Saved Games .

Play Games Services (PGS) поддерживает автоматический вход в систему, простой способ входа в систему игроков, а также ручной вход, который выполняется одним щелчком мыши. В этом документе описываются эти различные методы входа.

Рекомендуемый процесс входа

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

  1. Во время запуска игры попробуйте выполнить автоматический вход , чтобы автоматически выполнить вход игрока.
  2. Если автоматический вход не работает, а устройство пользователя находится в сети, попробуйте войти вручную .
  3. Если ручной вход отклонен, запомните выбор пользователя и больше не показывайте ручной вход, а продолжайте попытки автоматического входа при запуске.

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

Автоматический вход

Автоматический вход позволяет пользователям входить в вашу игру без каких-либо затруднений — это происходит автоматически! Если ваша игра запрашивает вход пользователя и включена настройка автоматического входа (в приложении Google Play Games), вы получите учетные данные пользователя PGS, и пользователь увидит процесс входа в PGS.

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

Автоматический вход

Ручной вход

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

Ручной вход

Разрешить всплывающие окна PGS для правильного входа в систему

При использовании PGS пользователи должны знать, что они вошли в систему. Это делается путем демонстрации процесса входа в PGS.

Чтобы показать процесс входа, вызовите метод setViewForPopups() класса GamesClient во время запуска игры. Это очень важно для обеспечения правильного взаимодействия с пользователем.

OAuth Scope и PGS

PGS полагается на систему OAuth , чтобы пользователи могли предоставлять вашей игре доступ к своей учетной записи. OAuth Scopes — это разрешения, которые вы, как разработчик, можете запросить. Если они предоставлены, эти разрешения позволяют вашей игре вызывать определенные API от имени пользователя, а также предоставлять вам доступ к определенным частям их учетной записи Google.

PGS имеет уникальную область для игр ( games-lite ) и полагается на другую область ( drive.app_data ), если ваша игра использует функцию сохраненных игр. Функция сохраненных игр дает доступ к учетной записи Google Диска пользователя, где хранятся игровые данные.

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

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

Доступ OAuth предоставляется с использованием разных экранов для каждой области. Это позволяет пользователям детально решать, к каким областям предоставлять доступ. Используя автоматический вход только с областями PGS, пользователям не придется взаимодействовать с какими-либо подсказками OAuth, что снижает трудности при входе.

Поддержка нескольких способов входа

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

Надежно извлекайте и проверяйте личность игрока для интеграции с серверной частью

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

Кроме того, для некоторых старых игр и игроков идентификатор игрока, возвращаемый Android SDK для игрока, может не совпадать с идентификатором, который другие игроки видят при просмотре этого игрока в той же игре — это особенно актуально при использовании списка друзей. Однако player_id , возвращаемый в REST API, всегда согласован и всегда является идентификатором, который видят другие игроки.

Дополнительные сведения см. в разделе Автономный доступ и документацию по REST API .

Реализация клиента

Чтобы узнать, как реализовать поддержку входа в систему на Android, см. раздел Вход в игры для Android .