Recall API

Recall API를 사용하면 게임에서 Google 서버에 리콜 토큰을 저장하여 Google Play 게임즈 서비스 (PGS) 사용자와 게임 내 계정 간의 링크를 관리할 수 있습니다. 다음은 Recall API를 사용하는 방법에 관한 샘플 시나리오입니다.

  1. 사용자는 개발자가 사용자 진행 상황을 추적하는 ID 시스템을 보유하고 다른 인증 방법과 함께 PGS를 사용하여 사용자를 게임에 로그인시키는 게임을 플레이합니다. 이 예에서는 사용자가 PGS 계정 Laura에 로그인하고 개발자의 ID 시스템 Racer94로 게임 내 계정을 만듭니다. 사용자가 게임을 플레이하면 개발자의 게임 서버가 진행 상황을 동기화합니다.

    사용자가 PGS 및 게임 내 계정으로 로그인함

  2. 별도로 개발자는 사용자의 게임 내 계정에 해당하는 리콜 토큰을 Google에 저장합니다. Google은 사용자의 PGS 프로필에 대해 해당 리콜 토큰을 자동으로 저장합니다.

    게임 서버는 Google 서버에 리콜 토큰을 저장함

  3. 이제 사용자는 처음으로 PC의 GPG에서 게임을 플레이하기로 합니다. 사용자는 PGS 계정으로 자동 인증되고 게임 클라이언트는 이 PGS 사용자에게 진행 상황이 있는지 확인합니다. 그러면 게임 서버가 Google에 쿼리하여 이 PGS 계정의 토큰이 있는지 확인합니다. 토큰이 있으므로 Google은 리콜 토큰을 다시 보내고, 게임 서버는 이 토큰을 사용하여 사용자의 연결된 계정 Racer94를 찾아 진행 상황을 복원합니다. PGS로 인증하는 것은 원활한 환경이므로 사용자가 사용자 이름이나 비밀번호를 입력하지 않고도 사용자의 진행 상황이 앱에서 복원됩니다. 또한 개발자는 기존 ID 시스템으로 PGS 인증을 사용할 수 있으며 Google을 통해 플레이어 진행 상황과 PGS 계정 간의 링크를 저장할 수 있습니다.

    게임 서버가 리콜 토큰으로 진행 상황을 복원함

앞의 예에서 볼 수 있듯이 Recall API는 두 가지 기본 작업을 실행합니다.

  • 사용자가 게임 내 계정 중 하나로 로그인할 때 Google에 토큰을 저장합니다.

  • 게임 내 계정을 복원하기 위해 사용자의 토큰을 검색합니다.

리콜 토큰 외에도 Recall API에는 캐릭터라고 하는 게임 내 계정에 해당하는 안정적인 식별자가 필요합니다. 캐릭터는 개발자의 ID 시스템 내에서 사용자의 게임 내 계정을 나타내는 라벨로, 리콜 토큰은 사용자의 게임 내 계정을 게임에 복원하는 데 사용되는 키로 생각할 수 있습니다. 페르소나 및 토큰 값은 여러 PGS 프로젝트에서 재사용되면 안 됩니다. 또한 리콜 토큰은 시간이 지남에 따라 변경될 수 있지만 캐릭터는 사용자의 게임 내 계정에 따라 안정적이어야 합니다.

리콜 토큰 저장 및 검색을 위한 기술 흐름

이 섹션에서는 리콜 토큰을 저장하고 검색할 때 게임 클라이언트와 Google 서버가 있는 서버 간의 기술 흐름을 설명합니다.

1단계: PGS 사용자 인증 및 세션 ID 검색

게임은 PGS SDK를 초기화하고 PGS로 사용자 인증을 시도합니다.

PGS를 사용한 사용자 인증

사용자가 인증되었다고 가정하고 게임 클라이언트의 게임 SDK에서 세션 ID를 요청하고 Google의 OAuth 백엔드에서 OAuth 2.0 토큰을 요청합니다. 세션 ID 및 OAuth 2.0 토큰은 Google 게임 백엔드와 통신하는 데 사용됩니다.

개발자가 세션 ID를 요청함

2단계: 사용 가능한 리콜 토큰 검색

PGS 사용자 계정과 연결된 리콜 토큰을 요청합니다. 토큰이 있으면 3a단계로 진행하여 진행 상황을 복원합니다. 신규 사용자이고 토큰이 없는 경우 3b단계로 진행하여 새 토큰을 저장합니다.

개발자가 리콜 토큰을 검색함

3a단계: 토큰이 있는 경우 진행 상황 복원

토큰이 있는 경우 토큰을 검색 및 복호화하고 사용자 데이터를 복원합니다.

개발자가 리콜 토큰에서 데이터를 복원함

3b단계: 토큰이 없는 경우 토큰 저장

토큰이 없으므로 진행 상황이 복원되지 않습니다. 사용자는 개발자의 ID 시스템으로 플랫폼 인증을 진행하거나 계정이 없는 경우 새 계정을 만듭니다. 참고: 이는 이미 완료된 PGS로 인증하는 것이 아니라 PGS 외부의 개발자 ID 시스템으로 인증하는 것입니다.

사용자가 게임 내 계정으로 인증함

사용자의 게임 내 계정을 인코딩하는 암호화된 리콜 토큰을 만들고 세션 ID 및 OAuth 2.0 토큰과 함께 Google에 전송합니다. 이 시점에서 Google은 전송된 리콜 토큰과 플레이어의 PGS 계정 간에 연결을 만듭니다.

개발자가 리콜 토큰을 저장함

PGS 프로필이 없는 사용자의 흐름

프로필 없는 모드를 사용하면 아직 PGS 프로필을 만들지 않은 사용자의 리콜 토큰을 저장할 수 있습니다. 하지만 두 가지 중요한 주의사항이 있습니다.

  • PGS 프로필이 없는 사용자의 토큰은 가져올 수 없습니다. 사용자가 두 번째 기기에서 Play 게임즈 서비스로 게임에 로그인하려고 하면 프로필 생성이 자동으로 표시됩니다.
  • 다음 항목을 설명하고 적절한 최종 사용자 동의를 얻기 위한 적절한 알림을 표시하려면 추가 가이드라인을 따라야 합니다.
    • Play 게임 계정 연결 기능을 사용 설정하기 위해 Google과 데이터를 공유하는 경우
    • Play 게임즈 설정과 같이 이 공유를 관리하는 설정의 사용 가능 여부
    • Google 개인정보처리방침에 따른 이러한 데이터의 처리

토큰 및 페르소나 쌍 저장

PGS 프로필이 없는 사용자가 게임을 엽니다.

  1. PGS 프로필이 없는 사용자가 프로필 없는 리콜이 사용 설정된 게임을 엽니다.
  2. 게임 SDK는 자동 플랫폼 인증을 트리거하지만 사용자가 PGS 프로필이 없기 때문에 실패합니다.
  3. 게임 SDK는 게임이 Google과 통합되었음을 사용자에게 알리는 스낵바를 표시합니다. 이 스낵바는 실행 가능합니다. 사용자는 프로필이 생성될 때까지 리콜을 사용 중지할 수 있습니다.
  4. 게임에서 리콜 액세스를 요청합니다. 기기에 PGS 프로필이 있거나 기기에 Google 계정이 없는 경우 PGS는 회상 액세스 요청을 거부합니다. 이 경우 게임은 PGS를 사용하지 않고 진행해야 합니다.
  5. 사용자가 게임 내 계정으로 로그인하면 게임에서 사용자의 게임 내 계정에 해당하는 토큰과 페르소나 쌍을 만듭니다. 게임은 이 쌍을 Google에 저장합니다. 사용자가 다른 게임 내 계정에 로그인하면 게임에서 나중에 더 많은 토큰을 저장할 수 있습니다.

새 기기에서 게임 실행

  1. PGS 프로필이 없는 사용자가 프로필 없는 리콜이 사용 설정된 게임을 기기에서 엽니다.
  2. 게임은 토큰 및 페르소나 쌍 저장에 설명된 대로 프로필이 없는 리콜 토큰을 기록합니다.
  3. 사용자가 동일한 계정 설정이 있는 다른 기기에서 동일한 게임을 엽니다.
  4. 게임 SDK가 프로필 생성을 트리거합니다. 사용자는 이전에 저장된 리콜 토큰을 검토하고 거부할 수 있습니다. 사용자가 이 시점에 PGS 프로필을 만듭니다.
  5. PGS로의 자동 플랫폼 인증이 완료되고 게임이 인증된 상태를 수신합니다.
  6. 게임은 평소와 같이 사용자의 리콜 토큰을 가져옵니다.

다음 단계

Recall API를 클라이언트 및 게임 서버와 통합하려면 이 안내를 따르세요.