Вызов API

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

  1. Пользователь играет в игру, в которой разработчик имеет систему идентификации для отслеживания прогресса пользователя и использует PGS параллельно с другими методами аутентификации для входа пользователей в свою игру. В этом примере пользователь входит в свою учетную запись PGS Laura и создает внутриигровую учетную запись с системой идентификации разработчика под названием Racer94 . Пока пользователь играет в игру, игровой сервер разработчика синхронизирует его прогресс.

    Пользователь вошел в систему с помощью PGS и внутриигровой учетной записи.

  2. Отдельно разработчик сохраняет в Google токен отзыва, который соответствует внутриигровому аккаунту пользователя. Google автоматически сохраняет этот токен отзыва в профиле PGS пользователя.

    Игровой сервер хранит токен отзыва на серверах Google

  3. Теперь пользователь решает впервые сыграть в игру в Google Play Games на ПК . Пользователь автоматически входит в свою учетную запись PGS, и игровой клиент проверяет, доступен ли какой-либо прогресс для этого пользователя PGS. Затем игровой сервер запрашивает Google, есть ли токены для этой учетной записи PGS. Поскольку они есть, Google отправляет обратно токен отзыва, и игровой сервер использует этот токен, чтобы найти связанную учетную запись пользователя Racer94 и восстановить его прогресс. Поскольку вход в систему с помощью PGS не вызывает затруднений, прогресс пользователя восстанавливается приложением без необходимости ввода имени пользователя или пароля. Кроме того, разработчик может использовать вход в PGS со своей существующей системой идентификации и полагаться на Google, чтобы сохранить связь между прогрессом игрока и его учетной записью PGS.

    Игровой сервер восстанавливает прогресс с помощью токена отзыва

Как видно из приведенного выше примера, Recall API выполняет два основных действия:

  • Сохранение токена в Google, когда пользователь входит в систему под одной из игровых учетных записей.
  • Получение токена для пользователя для восстановления его внутриигровых учетных записей.

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

Правила мощности

API отзыва обеспечивает связь 1:1 между профилями PGS и игровыми учетными записями (называемыми правилами кардинальности ), где один персонаж может быть связан только с одним профилем PGS, а один профиль PGS может быть связан только с одним человеком. Персона используется как стабильный идентификатор внутриигровой учетной записи, поскольку жетоны отзыва могут со временем меняться.

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

Подробные технические процессы хранения и получения токенов отзыва.

В этом разделе описывается технический процесс между игровым клиентом, игровым сервером и серверами Google при хранении и получении токенов отзыва:

Шаг 1. Войдите в систему пользователя PGS и получите идентификатор сеанса.

Игра инициализирует PGS SDK и пытается войти в систему с помощью PGS.

Пользователь входит в систему с помощью PGS

Предполагая, что пользователь вошел в систему, запросите идентификатор сеанса из Games SDK в игровом клиенте и запросите токен OAuth 2.0 из серверной части OAuth Google. Идентификатор сеанса и токены OAuth 2.0 используются для связи с серверной частью Google Games.

Разработчик запрашивает идентификатор сеанса

Шаг 2. Получите любой доступный токен отзыва.

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

Разработчик получает токен отзыва

Шаг 3а. Если токен присутствует, восстановите прогресс.

Если токен присутствует, извлеките и расшифруйте его, а также восстановите пользовательские данные.

Разработчик восстанавливает данные из токена отзыва

Шаг 3б. Если токена нет, сохраните токен.

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

Пользователь входит в свою учетную запись в игре.

Создайте зашифрованный токен отзыва, который закодирует внутриигровую учетную запись пользователя, и отправьте его в Google вместе с идентификатором сеанса и токеном OAuth 2.0. На этом этапе Google создает связь между отправленным токеном отзыва и учетной записью PGS игрока.

Разработчик хранит токен отзыва

Следующие шаги

Чтобы интегрировать Recall API с вашим клиентом и игровым сервером, следуйте этому руководству по реализации .