В связи с прекращением поддержки API входа Google мы удалим SDK для игр v1 в 2026 году. После февраля 2025 года вы не сможете публиковать в Google Play игры, недавно интегрированные с SDK для игр v1. Вместо этого мы рекомендуем использовать SDK для игр v2.
Хотя существующие игры с интеграцией предыдущих игр v1 продолжат функционировать еще пару лет, вам рекомендуется перейти на v2, начиная с июня 2025 года.
Это руководство посвящено использованию SDK Play Games Services v1. Информацию о последней версии SDK см. в документации v2 .
Вход в Play Games Services предоставляет вам игровой идентификатор игрока, который является платформенно-зависимым для игроков Android. Этот идентификатор помогает выстроить взаимодействие между вашей игрой и игроком. Игроки охотнее используют этот идентификатор для входа, чем в других централизованных системах.
Кроме того, вход в систему даёт вам надёжный и постоянный идентификатор, который можно использовать в качестве ключа к системе облачных сохранений. Облачные сохранения очень ценны; они позволяют игрокам делать следующее:
- Продолжить с того места, где остановились, если они поменяли или сбросили настройки устройства
- Играйте в игру на нескольких устройствах (например, на другом телефоне или Chromebook)
- Удалите и переустановите игру.
Вы можете использовать удостоверение Play Games Services в качестве ключа для собственного решения для сохранения в облаке или воспользоваться бесплатной службой сохраненных игр .
Игровые сервисы Play (PGS) поддерживают автоматический вход — простой и удобный способ входа игроков, а также ручной вход в один клик. В этом документе описаны различные способы входа.
Рекомендуемый процесс входа в систему
Чтобы успешно регистрировать игроков в свою игру, используйте следующую процедуру входа:
- Во время запуска игры попробуйте использовать функцию автоматического входа , чтобы игрок автоматически авторизовался.
- Если автоматический вход не работает и устройство пользователя подключено к сети, попробуйте выполнить ручной вход .
- Если ручной вход отклонен, запомните выбор пользователя и больше не показывайте ручной вход, но продолжайте пытаться выполнить автоматический вход при запуске.
Кроме того, вам следует убедиться, что пользователи могут войти в вашу игру, используя свою учетную запись в сервисах Play Игр, с помощью специальной, легкодоступной кнопки.
Автоматический вход
Автоматический вход позволяет пользователям входить в вашу игру без каких-либо проблем — он происходит автоматически! Если ваша игра требует входа в систему и включена настройка автоматического входа (в приложении Google Play Игры), вы получите учётные данные 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 Games Services через REST API с разрешения вошедшего в систему игрока. Это обеспечивает прямой доступ к идентификатору игрока, его профилю и другой информации (например, списку друзей, если он авторизован). Если вы храните идентификаторы игроков, идентификаторы друзей или другие связанные данные в своей системе, необходимо использовать этот метод, чтобы исключить возможность манипуляций с этими полями на стороне устройства.
Кроме того, для некоторых старых игр и плееров идентификатор игрока, возвращаемый Android SDK, может не совпадать с идентификатором, который видят другие игроки при просмотре этого игрока в той же игре — это особенно актуально при использовании списка друзей. Однако возвращаемый в REST API идентификатор player_id
всегда един и всегда соответствует идентификатору, который видят другие игроки.
Более подробную информацию см. в разделе Автономный доступ и документации по REST API .
Реализация клиента
Чтобы узнать, как реализовать поддержку входа на Android, ознакомьтесь со статьей Вход в играх для Android .