Recall API를 사용하면 게임에서 Google 서버에 리콜 토큰을 저장하여 PGS 사용자와 게임 내 계정 간의 링크를 관리할 수 있습니다. 다음은 Recall API를 사용하는 방법에 관한 샘플 시나리오입니다.
사용자는 개발자가 사용자 진행 상황을 추적하는 ID 시스템을 보유하고 다른 인증 방법과 함께 PGS를 사용하여 사용자를 게임에 로그인시키는 게임을 플레이합니다. 이 예에서는 사용자가 PGS 계정 Laura에 로그인하고 개발자의 ID 시스템 Racer94로 게임 내 계정을 만듭니다. 사용자가 게임을 플레이하면 개발자의 게임 서버가 진행 상황을 동기화합니다.
별도로 개발자는 사용자의 게임 내 계정에 해당하는 리콜 토큰을 Google에 저장합니다. Google은 사용자의 PGS 프로필에 대해 해당 리콜 토큰을 자동으로 저장합니다.
이제 사용자는 처음으로 PC의 GPG에서 게임을 플레이하기로 합니다. 사용자는 PGS 계정으로 자동으로 로그인되고 게임 클라이언트는 이 PGS 사용자에게 진행 상황이 있는지 확인합니다. 그러면 게임 서버가 Google에 쿼리하여 이 PGS 계정의 토큰이 있는지 확인합니다. 토큰이 있으므로 Google은 리콜 토큰을 다시 보내고, 게임 서버는 이 토큰을 사용하여 사용자의 연결된 계정 Racer94를 찾아 진행 상황을 복원합니다. PGS로 로그인하는 것은 원활한 환경이므로 사용자가 사용자 이름이나 비밀번호를 입력하지 않고도 사용자의 진행 상황이 앱에서 복원됩니다. 또한 개발자는 기존 ID 시스템으로 PGS 로그인을 사용할 수 있으며 Google을 통해 플레이어 진행 상황과 PGS 계정 간의 링크를 저장할 수 있습니다.
위의 예에서 볼 수 있듯이 Recall API는 두 가지 기본 작업을 실행합니다. 사용자가 게임 내 계정 중 하나로 로그인할 때 Google에 토큰을 저장하는 작업과 게임 내 계정을 복원하기 위해 사용자의 토큰을 검색하는 작업입니다.
리콜 토큰 외에도 Recall API에는 카디널리티 제약 조건을 적용하기 위해 캐릭터라고 하는 게임 내 계정에 해당하는 안정적인 식별자가 필요합니다. 캐릭터는 개발자의 ID 시스템 내에서 사용자의 게임 내 계정을 나타내는 라벨로, 리콜 토큰은 사용자의 게임 내 계정을 게임에 복원하는 데 사용되는 키로 생각할 수 있습니다. 캐릭터 및 토큰 값은 여러 PGS 프로젝트에서 재사용되면 안 됩니다. 또한 리콜 토큰은 시간이 지남에 따라 변경될 수 있지만 캐릭터는 사용자의 게임 내 계정에 따라 안정적이어야 합니다.
카디널리티 규칙
Recall API는 PGS 프로필과 게임 내 계정 간에 1:1 관계를 적용합니다(카디널리티 규칙이라고 함). 이 경우 하나의 캐릭터는 하나의 PGS 프로필에만 연결될 수 있고 하나의 PGS 프로필은 하나의 캐릭터에만 연결될 수 있습니다. 캐릭터는 게임 내 계정의 안정적인 식별자로 사용됩니다. 리콜 토큰은 시간이 지남에 따라 변경될 수 있기 때문입니다.
PGS 프로필에 연결된 캐릭터도 시간이 지남에 따라 변경될 수 있습니다(다양한 게임 내 계정이 PGS 프로필에 연결되어 있기 때문).
리콜 토큰 저장 및 검색을 위한 자세한 기술 흐름
이 섹션에서는 리콜 토큰을 저장하고 검색할 때 게임 클라이언트와 Google 서버가 있는 서버 간의 기술 흐름을 설명합니다.
1단계: PGS 사용자 로그인 및 세션 ID 검색
게임은 PGS SDK를 초기화하고 PGS로 사용자 로그인을 시도합니다.
사용자가 로그인 상태라고 가정하고 게임 클라이언트의 게임 SDK에서 세션 ID를 요청하고 Google의 OAuth 백엔드에서 OAuth 2.0 토큰을 요청합니다. 세션 ID 및 OAuth 2.0 토큰은 Google 게임 백엔드와 통신하는 데 사용됩니다.
2단계: 사용 가능한 리콜 토큰 검색
PGS 사용자 계정과 연결된 리콜 토큰을 요청합니다. 토큰이 있으면 3a단계로 진행하여 진행 상황을 복원합니다. 신규 사용자이고 토큰이 없는 경우 3b단계로 진행하여 새 토큰을 저장합니다.
3a단계: 토큰이 있는 경우 진행 상황 복원
토큰이 있는 경우 토큰을 검색 및 복호화하고 사용자 데이터를 복원합니다.
3b단계: 토큰이 없는 경우 토큰 저장
토큰이 없으므로 진행 상황이 복원되지 않습니다. 사용자는 개발자의 ID 시스템으로 로그인하거나 계정이 없는 경우 새 계정을 만듭니다. 참고: 이는 이미 완료된 PGS로 로그인하는 것이 아니라 PGS 외부의 개발자 ID 시스템으로 로그인하는 것입니다.
사용자의 게임 내 계정을 인코딩하는 암호화된 리콜 토큰을 만들고 세션 ID 및 OAuth 2.0 토큰과 함께 Google에 전송합니다. 이 시점에서 Google은 전송된 리콜 토큰과 플레이어의 PGS 계정 간에 연결을 만듭니다.
다음 단계
Recall API를 클라이언트 및 게임 서버와 통합하려면 이 안내를 따르세요.