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

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

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

1. 로그인

다음 체크리스트에 포함된 작업은 게임에서 플레이어 로그인 기능을 구현하는 데 적용됩니다. 로그인 개념에서 로그인이 어떻게 작동하고 로그인을 어떻게 구현해야 하는지 자세히 알아보세요. 모바일 게임에서 로그인을 구현하는 방법과 관련된 코드 예제는 Android에서 로그인 구현하기를 참고하세요.

ID 중요도 설명
1.1 필수 Google Play 게임즈 서비스로 플레이어를 로그인합니다.
1.1.1. 게임이 시작될 때 자동으로 플레이어 로그인 및 백업으로 수동 로그인 사용

게임에서 구현되어야 하는 자동 로그인으로 플레이어는 빠르게 인증되고 승인을 받아 기능을 사용하는 것이 좋습니다. 자동 로그인에 실패하는 경우 앱은 다음을 충족해야 합니다. 플레이어에게 대화형으로 로그인할 수 있습니다. 플레이어는 대화형 로그인을 사용하여 로그인할 수 있습니다. Play 게임즈에서 프로필이 올바르게 구성되어 있는지 확인합니다. 무음 모드 결합 대화형 로그인이 가장 높은 로그인율을 보임 얻습니다.

플레이어가 로그인하지 않도록 선택하는 경우 이 사실을 기억하고 메시지를 표시하지 않습니다. 반환합니다. 대신 로그인 버튼을 클릭하세요. 플레이어가 로그인 버튼을 쉽게 찾을 수 있어야 합니다. 예를 들어 기본 화면에서 액세스할 수 있거나 설정 화면 이 버튼은 여러 층으로 가려서는 안 됩니다. 찾을 수 있습니다. 플레이어가 게임을 플레이할 때마다 자동으로 로그인하도록 사용자가 환경설정을 변경할 수 있고 자동으로 로그인합니다.

1.2 필수 로그인할 때 Play 게임즈 이외의 범위를 요청하지 마세요. 클라이언트입니다 이렇게 하면 플레이어가 자동으로 비 Play 게임즈 범위를 요청하면 사용자가 대화형 로그인을 사용합니다

이미 Play 게임즈 이외의 범위를 요청하는 경우 필요하지 않은 범위를 모두 삭제하세요. 포드의 범위를 <ph type="x-smartling-placeholder"></ph> GoogleSignInOptions 생성할 수 있습니다. 모든 광고 애셋에서 다른 범위 (예: 마케팅을 위해 사용자의 이메일을 확인하려는 경우) 목적)으로 진행해야 합니다.

// This is the proper way to do it
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 필수 플레이어가 로그인 상태를 유지할 수 있습니다.

플레이어가 게임에 로그인하면 플레이어를 연결합니다. 플레이어가 명시적으로 서명할 때까지 게임이 시작될 때마다 자동으로 있습니다.

1.4 필수 '연결 중'이라는 팝업이 적절하게 표시되도록 해야 합니다.

Android 기기에서 Google Play 게임즈 '연결 중' 팝업이 표시되어야 함 로그인 흐름이 호출될 때마다 이렇게 하려면 GamesClient 클래스의 setViewForPopups() 메서드 다음을 확인합니다. 시작 시 플레이어가 자동으로 로그인할 때 이 팝업이 표시됩니다 있습니다. 이를 통해 플레이어는 게임에 올바르게 로그인하고 있는지 알 수 있습니다.

다음 예는 '연결 중' 명령이 어떻게 팝업이 표시될 수 있는 Android 게임이 표시된 후 Google Play 게임즈 서비스 로고

&#39;연결 중&#39;을 보여주는 스크린샷 표시됩니다.
1.5 필수 플레이어에게 로그아웃 옵션을 제공합니다.

로그인한 후에는 플레이어에게 로그아웃 옵션이 항상 제공되어야 합니다.

관련 탭에 로그아웃 버튼을 제공하는 것을 고려해 보세요. 게임 화면 (예: 플레이어 설정 화면)에 표시될 수 있습니다.

1.6 권장사항 플레이어가 로그인을 거부했는지 확인합니다.

게임이 처음 시작되었을 때 플레이어가 로그인을 거부하면 로그인 절차 (예: 사용자가 로그인 절차에서 취소를 클릭한 경우) UI)가 포함된 경우 플레이어가 게임플레이를 계속 진행할 수 있도록 허용해야 합니다.

플레이어가 게임을 다시 실행할 때 대화형 로그인 흐름을 호출하지 마세요. 자동으로 확장 및 축소할 수 있습니다 이러한 플레이어는 나중에 설정 시스템에 있는 로그인 버튼 이렇게 하면 플레이어가 게임을 시작할 때마다 로그인을 거부하지 않아도 됩니다.

한 가지 예외는 플레이어가 게임 플레이 기능에 액세스하려고 하는 경우 로그인 여부에 따라 달라집니다 (예: 표시됩니다. 이 경우 계속 진행하기 전에 로그인하라는 메시지를 표시하세요. 있습니다.

1.7 권장사항 로그인하는 플레이어의 수를 최대화합니다.

Google Play 게임즈 서비스에 로그인하는 플레이어가 많을수록 협동하고 경쟁할 수 있는 기회를 늘림으로써 있습니다. 게임에 로그인하는 플레이어의 수를 최대화하기 위해 Google Play 게임즈 서비스를 사용 중이라면 로그인해야 합니다.

또는 가능한 한 빨리 다음 사항 중 하나 (가장 권장됨):

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

플레이어에게 매력적이고 원활한 엔드 투 엔드 경험을 제공하기 위해 Google Play 게임 서비스를 브랜드 가이드라인을 참고하세요.

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

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

1.10 필수 Play 게임즈 서비스 ID를 사용하여 플레이어의 진행 상황을 백업합니다.

플레이어가 기기를 전환하거나 재설정할 때 또는 여러 기기에서 플레이할 때 플레이어의 진행 상황이 손실되지 않도록 하려면 진행 상황을 클라우드 저장 솔루션에 백업하고, 자체 백엔드 게임 서버를 사용하는 경우에는 Play 게임즈 서비스 ID를 안전하게 키로 사용합니다. 플레이어가 Play 게임즈 서비스 ID의 진행 상황이 있는지 확인하세요. 이 경우 플레이어가 중단한 부분부터 이어서 시작할 수 있도록 하세요. 사용 중지됩니다. 자체 클라우드 저장 솔루션 또는 Play 게임즈 서비스의 저장된 게임을 사용할 수 있습니다.

사용자가 로그인하지 않은 경우 플레이어의 진행 상황을 로컬에 유지하도록 시도한 다음 플레이어가 마침내 로그인할 때 진행 상황을 동기화합니다. 이렇게 하면 플레이어가 게임에 바로 로그인하지 않아도 진행 상황이 손실되는 일을 방지할 수 있습니다.

2. 업적

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

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

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

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

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

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

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

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

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

예를 들어 다음 스크린샷은 얻기 힘든 업적을 보여줍니다. 동기를 부여하고 팬을 유지하는 데 도움이 됩니다.

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

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

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

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

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

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

Google Play 게임즈 서비스에서는 그레이 스케일 버전의 업적 아이콘을 사용하여 수익 창출 여부를 확인할 수 있습니다. 모든 Google Cloud 제품 및 검은색 (또는 전부 흰색) 업적 아이콘에 추가하여 색이 있는 배경에 표시합니다.

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. 친구

다음 체크리스트에 포함된 작업은 Friends API도 사용할 수 있습니다.

ID 중요도 설명
4.1 필수 플레이어가 목록에 표시되면 Play 게임즈 아이콘 '+' 아이콘을 클릭합니다.

이 목록은 기존 친구 목록, 최근 재생한 친구 목록 또는 그 외 친구 목록일 수 있습니다.

4.1.1. Play 게임즈 아이콘은 클릭할 수 있어야 합니다.
사용자가 이 아이콘을 누르면 게임에서 getCompareProfileIntent() 또는 getCompareProfileIntentWithAlternativeNameHints()를 호출하여 사용자가 다른 플레이어와 프로필을 비교해 볼 수 있는 UI를 표시합니다.
4.1.2. 인게임 플레이어 이름을 맞춤설정할 수 있는 플레이어 프로필 및 친구 초대 지원
플레이어가 게임 내에서 자신의 Play 게임즈 프로필과 다른 이름을 설정하여 사용하는 경우, getCompareProfileIntentWithAlternativeNameHints()를 사용하여 현재 플레이어와 상대방 플레이어에게 인게임 대체 이름을 제공합니다. 그러면 프로필 조회 환경과 프로필에서 전송된 친구 초대에 대체 이름이 사용됩니다. 영구적인 전역 플레이어 이름만 값으로 전달하고 임의의 사용자 콘텐츠는 전달하지 않습니다. 이 요구사항을 따르면 게임 내에서 전송된 친구 초대를 통해 두 플레이어의 환경이 설정됩니다.
  • 받는 사람은 게임 이름과 함께 초대를 보낸 사람의 인게임 이름을 보게 됩니다.
  • 보낸 사람이 친구 상태를 확인하면 받는 사람의 인게임 이름과 초대를 보낸 게임이 표시됩니다.
4.2 권장사항 서로 다른 아이콘을 사용하여, 이미 친구인 Play 게임즈 사용자를 표시하고 아직 Play 게임즈 친구는 아니지만 Play 게임즈로 로그인한 사용자를 표시합니다. Play 게임즈 사용자에게는 두 개의 아이콘을 사용합니다. 즉, '친구'를 나타내는 아이콘 하나와 '친구 아님'을 나타내기 위한(또는 우정 상태를 알 수 없는 경우) 아이콘 하나를 사용합니다.
친구 아이콘
침구 아님 아이콘
4.3 권장사항 친구 목록이 최신 상태가 되도록 로그인할 때마다 loadFriends()를 호출하고 친구 목록을 표시합니다. 플레이어에게 업데이트된 목록이 표시되도록 합니다.
4.4 권장사항 게임에 게임 내 친구가 이미 포함되어 있다면 Friends API를 사용하여 Play 게임즈 친구를 추가하여 친구 목록을 늘릴 수 있습니다. 플레이어가 인게임 친구 목록에 있고 동시에 Play 게임즈 친구인 경우 '친구' 아이콘을 표시합니다.
4.5 권장사항 플레이어가 친구 목록에 대한 액세스 요청을 거부한 경우 사용자가 액세스 권한을 부여하고자 함을 나타내는 작업 (예: "Play 게임즈 친구 가져오기" 버튼)을 클릭합니다.
4.6 권장사항 플레이어가 친구 목록에 대한 액세스를 거부한 경우 향후 친구 목록 액세스 권한을 부여하는 방법 (예: 'Play 게임즈 친구 가져오기'를 누른 후 버튼)을 클릭합니다.
4.7 권장사항 백엔드 서버에서 플레이어 ID나 친구 목록을 사용하는 경우 ID 또는 목록에 안전하게 액세스해야 합니다. 또한 이전의 게임과 플레이어의 경우 플레이어용 Android SDK에서 반환되는 플레이어 ID는 다른 플레이어가 동일한 게임에서 그 플레이어를 볼 때 보게 되는 ID와 다를 수 있습니다. 이는 친구 목록을 사용할 때 특히 관련 있습니다. 그러나 REST API 내에서 반환되는 player_id는 항상 일관적이며 항상 다른 플레이어에게 표시되는 ID입니다.

5. 할당량 및 비율 제한

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

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

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

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

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

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

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

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

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

6. 저장된 게임

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

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

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

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

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