저장된 게임 서비스를 사용하면 플레이어의 게임 진행 상황을 Google 서버에 편리하게 저장할 수 있습니다. 게임이 저장된 게임 데이터를 검색할 수 있으므로, 다시 돌아온 플레이어는 어느 기기에서든 마지막 저장 지점에서 게임을 계속할 수 있습니다.
저장된 게임 서비스를 사용하면 여러 기기 간에 플레이어의 게임 데이터를 동기화할 수 있습니다. 예를 들어 Android에서 실행되는 게임이 있는 경우, 저장된 게임 서비스를 사용하면 플레이어가 Android 휴대전화에서 게임을 시작한 다음 진행 상황을 놓치지 않고 태블릿에서 계속 플레이할 수 있습니다. 또한 이 서비스를 사용하면 기기가 분실 또는 폐기되거나 최신 모델로 보상 판매된 경우에도 플레이어가 게임플레이를 중단된 부분부터 이어서 진행할 수 있습니다.
플랫폼에 저장된 게임을 구현하는 방법은 클라이언트 구현을 참고하세요.
저장된 게임 기본사항
저장된 게임은 다음 두 부분으로 구성됩니다.
- 구조화되지 않은 바이너리 blob - 이 데이터는 개발자가 선택한 모든 항목을 나타낼 수 있으며 게임은 그 항목을 파싱하고 작성합니다.
- 구조화된 메타데이터 - 바이너리 데이터와 관련된 추가 속성입니다. 이 속성을 통해 Google Play 게임즈 서비스는 저장된 게임 목록의 기본 사용자 인터페이스(UI)에서 저장된 게임을 시각적으로 표시하고, Google Play 게임즈 앱에 유용한 정보(예: 마지막으로 업데이트된 타임스탬프)를 표시할 수 있게 됩니다.
게임은 사용자 할당량에 따라 단일 플레이어의 저장된 게임 수를 임의로 작성할 수 있으므로 플레이어를 단일 저장 파일로 제한하기 위한 엄격한 요구사항은 없습니다.
커버 이미지
저장된 게임 서비스는 지속성 기능 외에 시각적 사용자 환경을 제공합니다. 따라서 대표 이미지를 관련 저장 파일과 연결하는 것이 좋습니다. 게임에 Play 게임즈 SDK에서 제공되는 저장된 게임 목록의 기본 사용자 인터페이스(UI)를 사용하는 경우 UI에 커버 이미지가 표시됩니다. 커버 이미지는 Google Play 게임즈 앱에도 표시될 수 있습니다.
설명
저장된 특정 게임의 콘텐츠에 관해 간단하게 텍스트로 설명할 수 있습니다. 그러한 설명은 플레이어에게 직접 표시되며 저장된 게임이 나타내는 상태를 요약하는 내용이어야 합니다(예: '어둠의 숲에서 마귀와의 싸움').
할당량
개발자에게는 클라우드에 저장된 게임 데이터의 요금이 청구되지 않습니다. 대신 그러한 데이터는 플레이어의 Google Drive 저장용량에 포함되므로 걱정할 필요가 없습니다. 게임 개발자가 신경 써야 할 유일한 할당량은 Google Drive API 할당량입니다.
읽기/쓰기 보호
저장된 모든 게임은 플레이어의 Google Drive 애플리케이션 데이터 폴더에 저장됩니다. 데이터 손상을 방지하기 위한 추가 보호를 위해 이 폴더는 개발자 자신의 게임에서만 읽고 쓸 수 있습니다. 즉, 다른 개발자의 게임에서 보거나 수정할 수 없습니다. 또한 저장된 게임은 플레이어가 직접 조작하지 못하도록 보호되므로, 플레이어는 각 저장된 게임을 수정할 수 없습니다.
오프라인 작동
플레이어의 기기가 오프라인 상태이더라도 게임은 저장된 게임에 대한 읽기 및 쓰기 작업을 할 수 있습니다. 하지만 네트워크 연결이 설정될 때까지 Google Play 게임즈 서비스와는 동기화될 수 없습니다. 다시 연결되면 Google Play 게임즈 서비스가 Google 서버에 저장된 게임 데이터를 비동기식으로 업데이트합니다.
충돌 해결
저장된 게임 서비스를 사용할 때 데이터를 저장하려고 하면 게임에서 충돌이 발생할 수 있습니다. 이러한 충돌은 사용자가 여러 기기 또는 컴퓨터에서 애플리케이션의 인스턴스를 두 개 이상 실행하는 경우에 발생할 수 있습니다. 애플리케이션은 최상의 사용자 환경을 제공하는 방식으로 이러한 충돌을 해결할 수 있어야 합니다.
대개 데이터 로드나 저장을 시도할 때 애플리케이션의 인스턴스가 저장된 게임 서비스에 도달하지 못하는 경우 데이터 충돌이 발생합니다. 일반적으로 데이터 충돌을 피하는 가장 좋은 방법은 애플리케이션이 시작되거나 다시 시작될 때 항상 서비스에서 최신 데이터를 로드하고 합리적인 빈도로 서비스에 데이터를 저장하는 것입니다. 하지만 데이터 충돌을 항상 방지할 수 있는 것은 아닙니다. 사용자의 데이터를 보존하고 사용자에게 좋은 환경을 제공하기 위해 애플리케이션은 충돌을 처리하기 위해 최선을 다해야 합니다.
제한
Google Play 게임즈 서비스는 현재 바이너리 데이터와 커버 이미지 크기에 각각 3MB와 800KB의 크기 제한을 적용합니다.
저장된 게임 메타데이터
저장된 게임의 구조화된 메타데이터에는 다음과 같은 속성이 포함됩니다.
속성 | 설명 |
---|---|
ID | Google Play 게임즈 서비스에서 저장된 게임과 관련해 생성한 고유 문자열입니다. 게임 클라이언트에 저장된 게임을 참조하려면 이 ID를 사용합니다. |
이름 | 저장된 게임과 관련해 개발자가 제공한 짧은 이름(예: '저장 슬롯 1' 또는 'PlayerName_Save1')입니다. 이는 플레이어에게 표시되지 않습니다. |
설명 | 저장된 게임과 관련해 개발자가 제공한 설명입니다. |
최종 수정 날짜 | 저장된 게임이 마지막으로 업데이트될 때 Google Play 게임즈 서비스에서 생성한 밀리초 단위의 타임스탬프입니다. |
플레이 시간 | 저장된 게임에 표시할 개발자 제공 시간(밀리초)입니다. 이 값은 플레이어가 저장된 게임을 플레이한 시간을 나타내야 합니다. 예를 들어 Google Play 게임즈 서비스에서 3600000의 플레이 시간 값은 '1시간'으로 표시됩니다. |
커버 이미지 | 개발자가 제공한 속성(선택사항)으로, 커버 이미지 정보가 포함되어 있습니다. |
클라이언트 구현
플랫폼에 저장된 게임을 구현하는 방법은 다음 리소스를 참고하세요.