Google Play 게임 서비스 품질 체크리스트

게임 품질은 설치 수, 플레이어 평점 및 리뷰, 참여도, 플레이어 유지율의 측면에서 게임의 장기적 성공에 영향을 미칩니다. 게임을 게시하기 전에 매력적인 기능과 직관적이고 멋지게 디자인된 UI를 통해 게임 플레이어의 기본적인 기대치를 충족하는지 확인해야 합니다.

이 체크리스트를 사용하면 게임의 성공에 큰 영향을 미칠 수 있는 품질, 기능 세트, UI와 같은 핵심적인 측면에 집중할 수 있습니다. 각 중점 영역에는 최소 요구사항, 권장사항, 유용한 참고사항으로 구성된 체크리스트가 제시되어 있습니다. 플레이어에게 최고의 제품을 제공하려면 체크리스트의 권장사항을 가능한 한 충실하게 따르시기 바랍니다.

1. 로그인

다음 체크리스트에 포함된 작업은 게임에서 플레이어 로그인 기능을 구현하는 데 적용됩니다. 모바일 게임에서 로그인을 구현하는 방법과 관련된 코드 예제는 Android에서 로그인 구현하기를 참조하세요.

ID 중요도 설명
1.1 필수사항 플레이어에게 Google Play 게임 서비스 로그인 옵션을 제공합니다.

플레이어가 로그인할 수 있도록 다음 방법 중 하나를 게임에 구현해야 합니다.

1.1.1. 게임이 실행될 때 플레이어에게 로그인하라는 메시지를 자동으로 표시합니다.

모든 연령대 앱에서는 플레이어가 신속하게 인증 및 승인되어 Google Play 게임 서비스에서 제공하는 모든 기능을 사용할 수 있도록 숨김 로그인 기능을 구현해야 합니다. 숨김 로그인에 실패한 경우 앱에서 플레이어에게 상호작용식 로그인을 하라고 요청하는 메시지를 표시해야 합니다.

플레이어가 로그인하지 않으려 하는 경우에는 이를 기억해 플레이어에게 다시 메시지를 표시하지 않도록 하고, 대신 로그인 버튼을 제공하세요. 로그인 버튼은 플레이어가 쉽게 찾을 수 있어야 합니다. 예를 들어, 기본 화면에서 로그인 버튼에 액세스할 수 있어야 하며 게임 메뉴에서 몇 단계를 거쳐야만 찾을 수 있도록 숨겨져 있으면 안 됩니다.

1.1.2. 게임에서 로그인 옵션을 제공합니다.
메시지가 자동으로 표시되지 않는 경우, 플레이어는 로그인 버튼을 사용하거나 문맥적으로 관련된 트리거(멀티플레이어 대결 시작 중, 높은 점수 기록, 업적 달성 등)를 통해 로그인할 수 있어야 합니다. 로그인 버튼에는 Play 게임 아이콘이 있어야 합니다.
1.2 필수사항 로그인 클라이언트를 만들 때 불필요한 스콥(scope)을 요청하지 마시기 바랍니다.

GoogleSignInOptions 구조에서 더 이상 사용하지 않는 API와 함께 불필요한 스콥을 삭제하세요.

예를 들어 Google 로그인 클라이언트를 만들 때 G+ 스콥을 요청해서는 안 됩니다. 이렇게 하면 신규 사용자가 불필요하게 (1) G+ 계정을 만들고 (2) 추가 동의 화면을 검토하지 않아도 됩니다.


// This way you won’t get a consent screen
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 필수사항 플레이어가 로그인 상태를 유지할 수 있게 합니다.

플레이어가 게임에 로그인하고 나면 플레이어가 일부러 로그아웃하지 않는 이상 게임이 시작할 때 자동으로 플레이어를 연결합니다.

1.4 필수사항 플레이어에게 로그아웃 옵션을 제공합니다.

로그인 후에는 플레이어에게 로그아웃 옵션이 항상 제공되어야 합니다. Play 게임 SDK에서 제공하는 기본 업적 및 리더보드 UI에는 이미 로그아웃 옵션이 포함되어 있으므로 이러한 UI에 로그아웃 버튼을 구현할 필요는 없습니다.

앱에 있는 다른 게임 화면에서 로그아웃 옵션을 제공하는 것이 좋습니다. 예를 들어 다음과 같이 로그아웃 버튼을 만들 수 있습니다.

Type-a-Number 샘플, 기본 메뉴, 로그인됨
1.5 필수사항 플레이어의 로그인 거부 사실을 기억합니다.

게임에서 처음으로 로그인 과정이 시작될 때 플레이어가 로그인을 거부한 경우 (예: 로그인 UI에서 취소를 클릭)에도 플레이어가 게임플레이를 할 수 있도록 허용해야 합니다.

플레이어가 게임을 다시 실행할 때 로그인 과정을 자동으로 시작하지 마세요. 이렇게 하면 플레이어가 게임을 시작할 때마다 로그인을 거부하지 않아도 됩니다.

멀티플레이어 게임 시작하기 등 로그인 상태가 필요한 게임플레이 기능에 플레이어가 액세스하려고 하는 경우는 예외입니다. 이 경우 게임플레이를 계속 진행하기 전에 플레이어에게 로그인하라는 메시지를 표시하세요.

1.6 권장사항 가능한 한 많은 플레이어가 로그인하게 합니다.

Google Play 게임 서비스에 로그인되어 있는 플레이어가 많을수록 게임을 플레이하면서 힘을 합치거나 경쟁할 기회가 늘어나기 때문에 플레이어에게 유리합니다. Google Play 게임 서비스에 로그인된 플레이어의 수를 최대화하려면 위에서 설명한 대로 플레이어에게 로그인하라는 메시지를 자동으로 표시하는 것이 좋습니다.

또는 다음 시점 중 하나에 플레이어를 최대한 빨리 로그인 과정으로 유도하세요. 아래 시점은 가장 추천되는 순으로 나열되어 있습니다.

  • 게임 시작 직후
  • 컷신이나 튜토리얼과 같은 입문용 환경이 끝난 직후
  • 게임 내 아무 곳에서나 플레이어가 Google 로그인 버튼을 클릭했을 때
1.7 참고사항 Google 브랜드 가이드라인을 준수합니다.

플레이어에게 매력적, 일관적, 포괄적인 환경을 제공하려면 Google Play 게임 서비스 브랜드 가이드라인을 따라 게임을 구현하세요.

1.8 참고사항 플레이어에게 로그인 상태라는 사실을 알립니다.

로그인된 플레이어를 대신하여 게임에서 어떤 작업을 수행하는 경우, 이에 관해 적절한 알림 또는 힌트를 표시합니다. 예를 들어, 로그인된 플레이어가 레벨을 완료하면 다음과 같은 메시지를 통해 플레이어의 점수와 업적이 자동으로 업로드된다는 사실을 알릴 수 있습니다. '현재 Google 계정을 통해 로그인되어 있습니다. 게임 내 업적과 점수는 자동으로 저장됩니다.'

1.9 참고사항 로그인하는 동안 '연결 중' 팝업을 적절하게 표시합니다.

Android 기기에서는 로그인 과정이 호출될 때마다 기본적으로 Google Play 게임의 '연결 중' 팝업이 표시됩니다. Android에서 게임 시작 시 플레이어 계정에 자동으로 로그인할 때 이 팝업이 표시되는지 확인하세요.

로그인 버튼 클릭과 같은 UI 상호작용을 바탕으로 플레이어 계정에 로그인하는 경우 이 팝업을 표시하지 않을 수도 있습니다. Android에서 로그인 구현하기에서 팝업 표시 여부를 관리하는 방법을 알아보세요.

다음 예에서 로그인 중에 Android 게임에 '연결 중' 팝업이 표시된 다음, Google Play 게임 서비스 로고 애니메이션이 짧게 표시되는 모습을 확인할 수 있습니다.

'연결 중' 팝업을 보여주는 스크린샷
1.10 참고사항 플레이어의 진행 상황 정보가 손실되지 않도록 주의합니다.

가능하다면 플레이어의 진행 상황을 로컬에 보관한 다음 플레이어가 로그인하면 진행 상황을 동기화하세요. 이렇게 하면 플레이어가 게임에 바로 로그인하지 않아도 진행 상황이 손실되는 일을 방지할 수 있습니다.

2. 업적

다음 체크리스트에 포함된 작업은 게임에서 업적 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
2.1 필수사항 모든 업적이 달성 가능한지 확인합니다.

플레이어는 개발자가 만든 모든 업적을 획득할 수 있어야 합니다.

2.2 권장사항 각 업적을 차별화합니다.

이미지, 텍스트, 설명은 모두 업적별로 달라야 합니다.

2.3 권장사항 업적 점수를 균형 있게 매깁니다.

업적 점수는 업적을 달성하는 데 필요한 시간이나 기술의 정도에 비례해야 합니다.

2.4 권장사항 업적의 난이도를 다양하게 설계합니다.

플레이어가 캐주얼 게임을 플레이하여 얻을 수 있는 쉬운 업적 몇 개, 더 많은 기술이나 노력이 필요한 중간 난이도의 업적 여러 개, 가장 게임을 열심히 플레이하는 플레이어를 위한 매우 어려운 업적 1, 2개 정도를 준비합니다.

예를 들면, 다음의 스크린샷에서는 플레이어들이 게임을 계속 플레이하도록 동기를 부여하고 팬층을 유지하기 위한 어려운 난이도의 업적을 확인할 수 있습니다.

보석 5,000개 획득을 요구하는, 달성하기 어려운 업적
2.5 참고사항 업적을 게임 초반에 배치하지 않습니다.

게임플레이의 초반 5분 이내에 2개 이상의 업적을 제공하지 마세요. 게임을 처음 접하는 플레이어가 게임에 관심을 갖게 될 정도로 열심히 플레이하지 않게 되기 때문입니다.

의도치 않게 게임플레이 중 너무 초반에 업적이 부여되도록 정의하지 마세요. 예를 들어 '피해를 입지 않고 레벨 완료'와 같이 게임 초반에 쉽게 얻게 될 가능성이 높은 업적은 피해야 합니다.

2.6 참고사항 매력적인 게임 내 활동과 관련된 업적을 만듭니다.

업적 달성을 유도할 수 있도록 게임에 한층 매력을 더하고 다시 플레이하고 싶어지게 만드는 측정항목을 선택합니다. 예를 들어 '죽은 좀비 숫자''캐릭터가 걸은 거리'보다 좀 더 흥미로운 측정항목입니다.

2.7 참고사항 색이 있는 업적 아이콘을 사용합니다.

Google Play 게임 서비스에서는 그레이 스케일 버전의 업적 아이콘을 사용하여 업적 달성 여부를 표시합니다. 모든 업적 아이콘에 검은색(또는 흰색)을 사용해야 하는 경우 색이 있는 배경에 아이콘을 표시하세요.

2.8 참고사항 숨겨진 업적 사용을 최소화합니다.

숨겨진 업적은 게임 내 스포일러를 피하기 위해서만 사용해야 하며 흔하게 사용해서는 안 됩니다.

2.9 참고사항 우연히 얻을 가능성이 높은 업적은 피합니다.

'보물상자 100개 찾기''보물상자에서 나올 확률이 1%인 아이템 찾기' 보다 나은 업적입니다.

2.10 참고사항 '업적 사냥꾼'의 입장에서 생각합니다.

개발자가 만드는 모든 업적을 얻으려고 시도하는 플레이어도 있습니다. 이러한 플레이어를 만족시킬 수 있는 업적을 제공하세요. 플레이어가 제어할 수 없는 요소에 너무 많이 의존하거나 플레이어가 게임 내에서 어떤 결정을 내린 후에는 얻을 수 없는 업적을 만들지 마세요.

2.11 참고사항 업적 아이콘이 올바르게 표시되는지 확인합니다.

업적 아이콘이 Android 토스트에 표시되면 아이콘이 동그라미와 겹쳐지면서 바깥쪽 모서리가 숨겨집니다. 이러한 상황에서도 아이콘이 보기 좋게 표시되는지 확인하세요.

3. 리더보드

다음 체크리스트에 포함된 작업은 게임에서 리더보드 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
3.1 권장사항 기본 메뉴뿐만 아니라 핵심 전환 후에도 리더보드를 표시합니다.

리더보드는 게임이 로드되고 나서 간편하게 액세스할 수 있어야 합니다. 또한 레벨 끝부분에 도달하거나 플레이어가 죽었을 때와 같이 게임 내에서 중요한 전환이 발생했을 때, 플레이어가 즉시 관련 리더보드로 연결되는 링크를 볼 수 있어야 합니다.

3.2 권장사항 제출할 수 있는 점수의 상한선을 정의합니다.

가능하다면 가짜가 분명한 점수가 삭제될 수 있도록 리더보드를 정의할 때 상한선을 추가하세요.

3.3 권장사항 맞춤 아이콘을 사용합니다.

정의하는 리더보드별로 맞춤 아이콘을 만듭니다. 게임 아이콘을 그대로 사용하지 마세요. 그러면 Google Play 게임 앱에서 제대로 표시되지 않습니다.

3.4 권장사항 점수 제출 빈도를 적절하게 유지합니다.

레벨 끝부분에 도달하거나 플레이어의 게임 캐릭터가 죽었을 때와 같이 게임에서 중요한 전환이 발생했을 때 점수를 제출합니다. 'Endless Runner' 유형의 게임과 같이 중요한 전환이 발생하지 않는 게임이라면 점수를 얼마나 자주 제출할지를 적절히 판단하시기 바랍니다. 점수를 계속해서 제출하거나 지나치게 자주 제출해서는 안 됩니다.

3.5 참고사항 스코어 태그를 활용합니다.

스코어 태그는 점수를 제출할 때 함께 보낼 수 있는 추가 데이터입니다. 예를 들어 플레이어가 제출한 점수가 유효한지 확인하는 플래그로 스코어 태그를 구현할 수 있습니다.

맞춤 리더보드에서도 이 태그 데이터를 읽을 수 있습니다. 예를 들어, 스코어 태그가 플레이어의 게임플레이가 포함된 YouTube 동영상의 ID로 구성된 경우, 리더보드 내에서 이 동영상을 볼 수 있는 링크를 만들 수 있습니다.

3.6 참고사항 독창적인 리더보드 UI를 디자인합니다.

리소스가 있는 경우, 맞춤 리더보드 뷰에 소셜 리더보드 데이터를 표시하세요. 일반적으로 소셜 리더보드가 공개 리더보드보다 사용자의 참여를 유도하는 데 더욱 효과적입니다. 먼저 소셜 리더보드에 포함된 항목이 있는지 확인하세요. 그렇지 않다면 공개 리더보드를 활용하세요.

3.7 참고사항 다른 플레이어와 비교한 실적을 보여 줍니다.

리더보드 API는 점수 창 표시 기능(예: 플레이어의 순위 위아래로 10위 정도까지 표시)을 지원합니다. 맞춤 뷰는 사용자의 참여를 유도하는 강력한 방법입니다. 또한 레벨의 끝에 도달하거나 플레이어의 게임 캐릭터가 죽었을 때와 같은 게임 내 중요한 전환이 발생했을 때 맞춤 뷰를 바로 표시할 수도 있습니다. 플레이어가 자신의 순위 정보를 확인하기 위해 불필요한 클릭을 하지 않도록 조정하세요.

4. 멀티플레이어(일반)

다음 체크리스트에 포함된 작업은 게임에서 실시간 멀티플레이어 또는 턴 방식 멀티플레이어 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
4.1 필수사항 게임에서 초대 기능을 사용하는 경우 플레이어가 멀티플레이어 대결에 참여할 수 있도록 합니다.

게임에서 멀티플레이어 API를 사용해 방 또는 턴 방식 대결을 만들었으나 플레이어가 멀티플레이어 대결에 참여할 수 없다면, 서비스 악용사례로 간주될 수 있으며 Google Play 게임 서비스에 액세스하지 못하게 될 수도 있습니다.

4.2 필수사항 Google Play 게임 서비스 서비스 약관을 이해하고 철저히 준수합니다.

또한 멀티플레이어 게임에서 Google Play 게임 서비스가 일반적으로 공유하는 세부정보를 넘어선 플레이어의 개인 세부정보를 다른 플레이어에게 공개하려면 플레이어의 명시적인 동의를 받아야 합니다.

4.3 권장사항 플레이어가 경쟁 대결에 바로 참여할 수 있도록 '빠른 대결' 버튼을 제공합니다.

자동 매치를 통해 플레이어가 무작위로 선택된 상대방과 간편하게 플레이를 시작할 수 있는 방법을 제공합니다. 실제 예를 보려면 멍청한 새 게임을 참조하세요.

4.4 권장사항 게임에서 초대를 받으면 플레이어에게 알립니다.

개발자는 게임 중에 초대를 받았다고 플레이어에게 알릴 수 있도록 초대 콜백을 구현해야 합니다.

4.5 권장사항 플레이어가 바로 게임플레이에 들어갈 수 있게 합니다.

플레이어가 멀티플레이어 대결 초대를 클릭하여 수락하면 즉시 대결에 참여할 수 있어야 합니다. 이 동작을 구현하려면 Google Play 게임 서비스에서 게임 클라이언트에 전달하는 connectionHint 매개변수에 포함된 대결 정보를 사용하세요.

4.6 권장사항 Android 게임이 백그라운드에서 실행될 때 초대를 적절히 처리합니다.

게임이 백그라운드로 전환되면 게임의 멀티플레이어 초대 콜백은 들어오는 초대를 삭제합니다. 이렇게 하면 초대가 알림 창에 표시되지 않기 때문에 플레이어가 들어오는 초대를 수락할 수 없습니다.

활동의 onPause()에서 콜백 등록을 취소하는 것이 좋습니다. 그렇게 하지 않으면 시스템에서 콜백을 자동으로 해제하고 경고를 보냅니다. 모든 콜백이 해제되면 알림이 창에 제대로 표시됩니다.

4.7 권장사항 비트마스크 또는 변형을 사용할 때 플레이어 풀을 과도하게 분할하지 않습니다.

잠재적인 플레이어 풀이 작아질수록 플레이어가 자동 매치를 사용하여 대결을 시작하기까지 더 오래 걸립니다.

4.8 권장사항 다른 대안이 없는 경우에만 변형 또는 비트마스크를 사용합니다.

플레이어가 원하는 유형의 게임을 플레이하지 못하면 게임을 그만둘 수도 있습니다. 이 경우 멀티플레이어 대결을 시작할 때 플레이어가 선택할 수 있도록 이러한 유형의 게임을 변형으로 제공하세요. 또는 플레이어가 상대방과 매치된 후에만 게임 유형을 선택할 수 있게 해 보세요.

4.9 참고사항 멀티플레이어 대결이 끝난 후 다시 플레이하기 쉽게 만듭니다.

멀티플레이어 대결이 종료된 후 같은 상대방과 재대결을 시작하거나 새로운 상대방과 새로운 대결을 시작할 수 있게 함으로써 플레이어가 즉시 게임에 다시 참여할 수 있게 합니다.

5. 실시간 멀티플레이어

다음 체크리스트에 포함된 작업은 게임에서 실시간 멀티플레이어 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
5.1 권장사항 실시간 멀티플레이어 방을 정리합니다.

방에서 제대로 나가지 않으면 Google Play 게임 서비스에서 클라이언트에 이벤트 및 초대 알림을 계속 전송합니다. 다음의 시나리오 중 하나가 발생할 때마다 활성 상태의 방에서 나가야 합니다.

  • 게임플레이가 종료됨(예: 플레이어가 대결에서 승리함)
  • 게임이 백그라운드로 전환됨
  • Android의 경우 다음과 같은 상황이 발생하면 방에서 나옵니다.
    • 플레이어가 대기실 UI에서 게임을 취소했습니다.
    • onActivityResult() 콜백에서 반환된 응답 코드가 GamesActivityResultCodes. RESULT_LEFT_ROOM입니다.
    •          Activity onStop()이 호출되었습니다. 이는 Activity가 손상되고 있다는 의미일 수도 있습니다. 이 경우 방에서 나온 다음 disconnect()를 호출합니다.

6. 턴 방식 멀티플레이어

다음 체크리스트에 포함된 작업은 게임에서 턴 방식 멀티플레이어 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
6.1 권장사항 주의를 기울여야 하는 턴 방식 대결에 관해 플레이어에게 알립니다.

기본 메뉴에 있는 멀티플레이어 옵션 옆에 작은 아이콘이나 숫자를 추가하여 플레이어의 턴 진행 또는 초대 수락을 기다리고 있는 대결이 있다고 알릴 수 있습니다. 실제 예를 보려면 1941 Frozen Front 게임을 참조하세요.

6.2 참고사항 한 턴을 플레이하는 데 15초 이상 걸리도록 설계합니다.

게임플레이에서 빠른 턴 전환이 이루어지도록 설계하지 마세요. 이는 게임에서 스팸과 비슷한 행위가 발생하여 API 할당량 한도를 초과하거나 플레이어가 턴 알림을 제대로 수신하지 못하는 일을 방지하기 위해서입니다.

7. 선물 및 요청

다음 체크리스트에 포함된 작업은 게임에서 게임 선물 기능을 사용하는 경우에 적용됩니다.

ID 중요도 설명
7.1 필수사항 플레이어가 명시적으로 승인하지 않은 경우, 플레이어를 대신하여 인게임 선물을 보내거나, 요청하거나, 수락하지 마시기 바랍니다.

게임 선물 기능 사용과 관련된 Google Play 게임 서비스 서비스 약관을 숙지하고 철저히 준수하세요.

7.2 필수사항 게임 선물 요청을 수락하는 기능을 구현합니다.

게임에서 플레이어가 게임 선물 요청을 보낼 수는 있지만 게임 선물 요청을 수락할 수는 없다면, 서비스 악용사례로 간주될 수 있으며 Google Play 게임 서비스에 액세스하지 못하게 될 수도 있습니다.

7.3 권장사항 게임 선물 요청 수락을 위한 리스너를 구현합니다.

플레이어가 게임 중에 게임 선물 요청을 받으면 알림을 받을 수 있도록 요청 리스너를 구현해야 합니다.

8. 할당량 및 비율 한도

다음 체크리스트에 포함된 작업은 게임에서 할당량 및 비율 한도를 관리하는 데 적용됩니다. 게임의 할당량을 관리하고 비율 한도 초과를 감지하는 방법을 알아보려면 할당량 및 비율 한도 관리를 참조하세요.

ID 중요도 설명
8.1 권장사항 클라이언트 라이브러리를 사용합니다.

모바일 클라이언트 라이브러리는 개발자가 서비스에 보내는 호출을 줄이기 위해 여러 가지 전략을 사용합니다. 예를 들어, 업적 및 리더보드 데이터가 캐시되어 서비스가 여러 차례 호출을 보내지 않아도 플레이어가 원할 때마다 자신의 업적을 확인할 수 있습니다.

Android 클라이언트 라이브러리는 플레이어의 점수가 최근 제출한 점수보다 좋지 않은 경우 점수를 서버에 전송하지 않습니다. 또한 비율 한도에 도달했음이 감지되면 Android 라이브러리가 높은 빈도의 업적 상승 호출을 자동으로 통합합니다.

8.2 참고사항 신뢰할 수 있는 메시지 전송을 제한합니다.

Android 앱에서 RealTimeMultiplayerClient.sendReliableMessage()를 사용하여 신뢰할 수 있는 호출을 보내는 경우, 메시지 전송 빈도를 초당 50건 이하로 유지합니다.

팁: 이보다 더 자주 데이터를 전송해야 하는 경우, 신뢰할 수 없는 메시지 전송을 대신 사용해 보세요. 신뢰할 수 없는 메시지에는 할당량이 없습니다.

8.3 참고사항 높은 빈도의 단계별 업적 호출을 통합합니다.

개발하고 있는 격투 게임에 '펀치 5,000번 날리기'라는 업적이 있다면 플레이어가 펀치를 날릴 때마다 업적 상승 호출을 보내지 마세요. 라운드가 종료될 때까지 기다린 다음 increment(xxx) 호출(xxx는 그 라운드에서 펀치를 날린 총 횟수)을 한 번 전송하거나, 펀치를 50번 날릴 때까지 기다렸다가 increment(50) 호출을 한 번 전송합니다.

8.4 참고사항 사용량을 파악합니다.

Google Play 게임 서비스에 보내는 호출 횟수를 파악합니다. 비율 한도에 걸리지 않더라도 호출을 자주 보내면 네트워크 트래픽이 증가하고 기기 배터리가 빨리 소모될 수 있습니다. 잦은 호출을 피하려면 다음 방법을 사용하세요.

  • 클라우드 저장을 실행할 때 버튼을 클릭할 때마다가 아니라 몇 분마다 한 번씩 호출을 보냅니다.
  • 플레이어의 게임이 끝날 때까지 기다린 후에 최고점수를 제출합니다.
  • Google API 콘솔의 프로젝트 대시보드에서 앱의 일일 할당량을 검토합니다.

9. 이벤트 및 퀘스트

다음 체크리스트에 포함된 작업은 게임에서 이벤트 및 퀘스트 기능을 사용하는 경우에 적용됩니다.

ID 중요도 설명
9.1 필수사항 퀘스트를 잘 보이는 곳에 표시합니다.

플레이어가 퀘스트를 게임의 기본 메뉴나 주요 게임플레이 뷰에서 쉽게 찾을 수 있는지 확인합니다.

9.2 필수사항 플레이어가 Play 게임 앱에서 퀘스트를 수락할 수 있도록 허용합니다.

플레이어가 Play 게임 앱에서 퀘스트 타일을 클릭하면 게임에서 퀘스트를 수락할 수 있는 뷰가 표시되어야 합니다.

9.3 필수사항 퀘스트 수락 및 완료를 확인합니다.

플레이어가 퀘스트를 수락하거나 완료하면 게임에서 명시적으로 이를 확인해 줘야 합니다. 토스트나 이에 상응하는 알림 형식을 사용하여 확인 여부를 표시하세요.

9.4 필수사항 보상 받기 기능을 구현합니다.

퀘스트 설명에 보상이 언급되어 있는 경우 퀘스트가 완료되면 게임에서 보상이 지급되어야 합니다.

다음 방법 중 하나를 사용하여 플레이어가 퀘스트 완료 보상을 받을 수 있게 하세요.

  • 사용자가 기본 퀘스트 목록 UI에서 완료된 퀘스트의 보상받기 버튼을 클릭하면 실행되는 보상받기 리스너를 구현합니다.
  • 퀘스트 완료 시 자동으로 보상을 요청합니다.
9.5 필수사항 퀘스트 브랜드 가이드라인을 따릅니다.

퀘스트에 연결할 때 공식 퀘스트 아이콘이 게임에 표시되어야 합니다. Google Play 게임 서비스 브랜드 가이드라인에 따라 실루엣을 크게 왜곡하지 않는 아이콘 변형도 허용됩니다.

9.6 권장사항 보상을 적절하게 설명합니다.

Play 게임 앱의 퀘스트 요약 뷰를 통해 퀘스트 설명의 첫 150자(영문 기준) 내에서 보상이 무엇인지 알 수 있도록 설명해야 합니다.

9.7 권장사항 퀘스트 진행 상황을 시각적으로 나타냅니다.

플레이어가 퀘스트 완료까지의 진행 상황을 간편하게 볼 수 있는지 확인합니다. 플레이어의 퀘스트 진행 상황(활성화된 퀘스트가 1개만 있는 경우)이나 완료에 가장 가까운 퀘스트(활성화된 퀘스트가 여러 개 있는 경우)를 게임에 표시해야 합니다.

다음과 같은 게임 내 위치에 게임 진행 상황을 시각적으로 표시할 수 있습니다.

  • 게임 시작 시 표시되는 팝업 대화상자
  • 기본 메뉴
  • 기본 게임플레이 화면
9.8 권장사항 퀘스트를 완료하기까지 남은 시간을 표시합니다.

플레이어에게 카운트다운을 표시하거나 다른 방법을 사용하여 기한이 임박한 퀘스트에 관해 알리면, 퀘스트가 끝나기 전에 퀘스트 목표를 달성하기 위해 더욱 적극적으로 게임을 플레이하도록 동기를 부여할 수 있습니다.

퀘스트 종료 시간이 가까워지면 토스트나 다른 인게임 경고를 사용해 종료 시간까지의 카운트다운을 표시하세요.

9.9 권장사항 퀘스트를 재사용하거나 반복할 수 있게 만듭니다.

퀘스트를 재사용하면 새로운 바이너리를 실행하지 않고도 신규 플레이어에게 퀘스트를 플레이해 볼 기회를 제공할 수 있습니다. 인기 게임 중에는 요일별 일일 퀘스트를 매주 반복하는 경우가 많습니다.

퀘스트를 매주 또는 매월 반복하면 모든 플레이어에게 비슷한 사용자 환경을 제공할 수 있습니다.

10. 저장된 게임

다음 체크리스트에 포함된 작업은 게임에서 저장된 게임 기능을 구현하는 데 적용됩니다.

ID 중요도 설명
10.1 필수사항 메타데이터를 추가하여 저장된 게임에 관한 추가 컨텍스트를 제공합니다.

저장된 게임을 커밋하는 경우 최소한 다음의 메타데이터를 포함해야 합니다.

  • 표지 이미지 - 게임 진행 상황을 보여 주고 플레이어에게 마지막으로 플레이한 부분을 상기시켜 주는 스크린샷입니다.
  • 설명 - 표지 이미지에 관한 추가적인 컨텍스트를 제공하는 간단한 설명입니다.
  • 타임스탬프 - 플레이어가 이 저장된 게임을 얼마나 오랫동안 플레이했는지 나타냅니다.
10.2 필수사항 플레이어가 저장된 게임을 로드할 수 있게 합니다.

플레이어가 Play 게임 앱이나 기본 저장된 게임 선택 UI에서 저장된 게임을 선택하면 해당하는 게임을 정확히 로드합니다.