원활한 복원은 복귀한 플레이어가 새 기기에 게임을 설치하거나 게임을 다시 설치할 때 로그인 화면의 불편함을 없애고 진행 상황에 즉시 다시 연결되는 메커니즘입니다. 이상적으로는 원활한 복원이 적용되는 시나리오에서 게임이 플레이어가 마지막으로 플레이한 게임 내 계정을 복원해야 합니다.
원활한 복원은 Level Up 프로그램의 권장 가이드라인입니다.
게임은 다음 시나리오에서 플레이어가 마지막으로 플레이한 게임 내 계정을 복원합니다.
구현 가이드
원활한 복원 사용 방법에 관한 다음 가이드라인을 참고하세요.
원활한 복원을 사용해야 하는 경우
- 새 기기 / 새 설치: 복귀한 플레이어가 새 기기에 게임을 설치하면 게임은 Google Play 게임즈 서비스 플레이어 ID에 연결된 마지막으로 플레이한 게임 내 계정 (IGA)을 복원해야 합니다. 플레이어는 마지막으로 저장한 진행 상황으로 계속 플레이할 수 있기를 기대합니다.
- 다시 설치: 복귀한 플레이어가 어느 기기에나 게임을 설치하는 경우 이를 새 기기 설치로 취급하고 원활한 복원을 구현합니다.
원활한 복원을 사용하지 말아야 하는 경우
- 앱 업데이트: 플레이어가 앱을 업데이트하면 로컬 데이터가 이미 있어야 합니다(예: 플레이어가 Google Play를 통해 앱을 업데이트함). 이 경우 원활한 복원을 트리거하지 말고 로컬 상태를 존중하세요. 하지만 사용 가능한 로컬 데이터가 없고 마지막으로 플레이한 IGA가 PGS 플레이어 ID와 연결되어 있으면 게임에서 이 IGA를 복원하거나 플레이어에게 게임의 로그인 화면을 표시할 수 있습니다.
- 명시적 로그아웃: 플레이어가 IGA에서 명시적으로 로그아웃하는 경우 계정을 전환하거나 게임에서 로그아웃된 상태를 유지하려는 의도일 가능성이 높습니다. 이 경우 다음 실행 시 이전 계정을 강제로 복원하지 마세요. 대신 로그인 화면을 표시합니다. 이를 통해 플레이어는 여러 게임 내 계정 간에 전환할 수 있습니다.
분쟁 해결:
게임에서 이상적인 인증 흐름을 위한 사용자 환경 가이드라인을 구현하고 원활한 복원 구현 가이드라인을 따르면 게임에서 충돌 해결이 발생하지 않습니다. 하지만 플레이어의 진행 상황이 상당한 로컬 Guest 계정이 있지만 PGS에 연결된 마지막으로 플레이한 IGA의 클라우드 백업도 있는 상황이 게임에 발생하면 게임에서 로컬 데이터를 자동으로 덮어쓰면 안 됩니다. 대신 플레이어에게 두 상태 중에서 선택하라는 메시지를 표시합니다.
예를 들어 다음과 같은 메시지를 표시합니다. '클라우드 저장 파일을 찾았습니다. 레벨 50을 복원하시겠어요? 아니면 로컬 레벨 5를 유지하시겠어요?'
마지막으로 플레이한 IGA를 PGS 플레이어 ID와 바인딩
원활한 복원을 구현하려면 게임에서 플레이어가 플레이한 최신 IGA와 인증된 PGS 플레이어 ID 간에 연결이 있는지 확인해야 합니다. 다음 방법 중 하나를 사용하여 이 작업을 수행할 수 있습니다.
- 자체 백엔드: 백엔드에서 플레이어 ID와 게임 내 식별자의 연결을 유지하고, 마지막으로 플레이한 상태를 게임 내 식별자에 매핑하여 플랫폼 인증 후 플레이어 ID를 가져오는 즉시 플레이어의 마지막으로 플레이한 IGA를 검색할 수 있습니다.
Recall API (권장): 자체적인 강력한 ID 백엔드가 없는 경우 Recall API는 원활한 복원을 구현하는 데 권장되는 방법입니다. 이를 통해 Google은 사용자의 플레이어 ID와 내부 인게임 계정 ID (페르소나) 간의 링크를 저장할 수 있습니다. Recall API 작동 방식:
저장: 사용자가 플레이할 때 Google에 '리콜 토큰'(IGA에 대한 암호화된 링크)을 전송합니다.
검색: 새 기기에서 PGS 인증 후 Recall API를 쿼리합니다. 토큰이 있으면 토큰을 복호화하여 IGA ID를 찾고 즉시 진행 상황을 복원합니다.