Вход в игровые сервисы Play предоставляет вам игровую идентификацию игрока, которая представляет собой игровую идентификацию на уровне платформы для игроков Android. Эта идентичность помогает построить отношения между вашей игрой и игроком. Игроки более охотно используют эту учетную запись для входа в систему, чем при использовании альтернативных централизованных систем.
Кроме того, вход в систему дает вам надежный и последовательный идентификатор, который вы можете использовать в качестве ключа к облачной системе сохранения. Сохранение в облаке очень ценится; он позволяет игрокам делать следующее:
- Продолжайте с того места, где они остановились, если они изменят или перезагрузят свое устройство.
- Играйте в игру на нескольких устройствах (например, на другом телефоне или Chromebook)
- Удалите, а затем переустановите игру
Вы можете использовать идентификатор игровых сервисов Play в качестве ключа для собственного решения для сохранения в облаке или воспользоваться бесплатной службой сохраненных игр .
Play Games Services (PGS) поддерживает автоматический вход в систему (упрощенный способ входа в систему игроков), а также вход в систему вручную, который выполняется одним щелчком мыши. В этом документе описаны различные способы входа в систему.
Рекомендуемый порядок входа
Чтобы успешно зарегистрировать игроков в вашей игре, используйте следующий процесс входа:
- Во время запуска игры попробуйте автоматический вход , чтобы автоматически войти в систему игрока.
- Если автоматический вход не работает и устройство пользователя находится в сети, попробуйте войти в систему вручную .
- Если вход в систему вручную отклонен, запомните выбор пользователя и не показывайте вход в систему вручную снова, но продолжайте пробовать автоматический вход при запуске.
Кроме того, вы должны убедиться, что пользователи могут войти в вашу игру со своей учетной записью сервисов Play Games с помощью специальной, легко находимой кнопки.
Автоматический вход
Автоматический вход позволяет пользователям без проблем входить в вашу игру — это происходит автоматически! Если ваша игра запрашивает вход пользователя в систему и включена настройка автоматического входа (в приложении Google Play Games), вы получите учетные данные пользователя PGS, и пользователь увидит процесс входа в систему PGS.
Автоматический вход — это настройка, которой могут управлять пользователи. Пользователи могут автоматически входить во все игры или получать запрос каждый раз.
Ручной вход
Если пользователь не входит в игру автоматически, вы можете попросить его войти в систему вручную. Пользователи могут войти в систему одним щелчком мыши в диалоговом окне, отображаемом в верхней части вашей игры.
Разрешите всплывающие окна PGS для правильного входа в систему.
При использовании PGS пользователи должны знать, что они вошли в систему. Это достигается путем отображения процесса входа в систему PGS.
Чтобы показать процесс входа в систему, вызовите метод setViewForPopups()
класса GamesClient
во время запуска игры. Это очень важно для обеспечения правильного взаимодействия с пользователем.
Области OAuth и PGS
PGS использует систему OAuth , чтобы позволить пользователям предоставлять вашей игре доступ к своей учетной записи. Области OAuth — это разрешения, которые вы как разработчик можете запросить. Если они предоставлены, эти разрешения позволяют вашей игре вызывать определенные API от имени пользователя, а также предоставляют вам доступ к определенным частям его учетной записи Google.
PGS имеет уникальную область действия для игр ( games-lite
) и использует другую область действия ( drive.appdata
), если ваша игра использует функцию сохраненных игр. Функция сохраненных игр предоставляет доступ к учетной записи пользователя на Google Диске, где хранятся игровые данные.
Ваша игра может запросить любые возможности, необходимые для создания отличного игрового опыта для ваших пользователей. Ваша игра может запрашивать все необходимые ей области в одном пакете, ограничивая количество запросов на доступ к учетной записи Google. Однако у этого подхода есть существенный недостаток. Если вы запрашиваете больше, чем области, специфичные для PGS, автоматический вход не удастся. Автоматический вход — лучший способ вовлечь игроков в вашу игру.
Лучшей практикой является использование дополнительных запросов области. Ваша игра должна сначала запрашивать области только для PGS в первоначальном запросе, а другие области запрашивать отдельно в более подходящий момент.
Доступ OAuth предоставляется с использованием отдельного экрана для каждой области. Это позволяет пользователям детально решать, к каким областям предоставлять доступ. Используя автоматический вход только с областями PGS, пользователям не придется взаимодействовать с какими-либо запросами OAuth, что снижает сложность входа.
Поддержка нескольких методов входа
PGS предоставляет игровую идентификацию для игроков Android, но она не обязательно должна быть единственной идентификацией, связанной с вашими пользователями. Вы можете одновременно авторизовать игроков, используя PGS, идентификатор социальной сети и собственную внутриигровую систему идентификаторов. Каждая система представляет собой уникальную ценность как для вас, так и для ваших игроков, и все они могут работать вместе, чтобы доставить удовольствие игрокам Android.
Безопасное получение и проверка личности игрока для интеграции с серверной частью
Вы можете запросить код аутентификации сервера, чтобы ваш сервер мог напрямую взаимодействовать с серверами игровых сервисов Play через REST API с полномочиями вошедшего в систему игрока. Это обеспечивает прямой доступ к идентификатору игрока, профилю и другой информации (например, списку друзей, если это разрешено). Если вы храните какие-либо идентификаторы игроков, идентификаторы друзей или другие связанные данные в своем бэкэнде, этот метод необходимо использовать, чтобы исключить возможность манипулирования этими полями на стороне устройства.
Кроме того, для некоторых старых игр и игроков идентификатор игрока, возвращаемый Android SDK для игрока, может не совпадать с идентификатором, который видят другие игроки при просмотре этого игрока в той же игре — это особенно актуально при использовании списка друзей. Однако player_id
, возвращаемый в REST API, всегда единообразен и всегда является идентификатором, который видят другие игроки.
Дополнительные сведения см. в разделе Автономный доступ и документации по REST API .
Реализация клиента
Чтобы узнать, как реализовать поддержку входа в систему на Android, см. раздел Вход в игры для Android .