출시 체크리스트

이 체크리스트를 사용하여 PC용 Google Play 게임즈에서 검토를 위해 제출하기 전에 게임이 모든 요구사항과 권장사항을 충족하는지 확인하세요.

프로젝트 설정 및 구성

  • SDK 다운로드 및 가져오기: 환경에 맞는 최신 Play 게임즈 PC SDK를 통합합니다. 자세한 내용은 Unity 가이드 또는 C++ 가이드를 참고하세요.
  • 애플리케이션 매니페스트 생성: <PackageName>을 클레임된 Play Console 패키지에 매핑하는 manifest.xml 파일을 만듭니다. 자세한 내용은 매니페스트 가이드를 참고하세요.
  • 실행 파일 디지털 서명: Authenticode 디지털 서명을 사용하여 게임에 서명하고 향후 모든 업데이트를 위해 인증서를 보호합니다. 개발자 모드를 사용 설정하여 로컬 개발 중에 이 단계를 건너뛸 수 있지만, 알려진 인증 기관의 실제 프로덕션 인증서로 최종 바이너리에 서명해야 합니다. 자세한 내용은 게임에 디지털 서명하기를 참고하세요.
  • 인증서 형식 지정 및 전송: 인증서 정보를 Google 담당자에게 전송합니다. 인증서 파일에는 인증서 관련 정보만 포함되어야 합니다. 인증서가 아닌 블록이 모두 삭제되었는지 확인하세요. OpenSSL을 사용하여 DER/CER 파일을 필요한 PEM 형식으로 변환할 수 있습니다.

API 및 기능 통합

  • SDK 초기화: 다른 기능을 사용하기 전에 시작 중에 InitializeAsync와 같은 SDK 초기화 로직을 구현합니다. 자세한 내용은 초기화 가이드를 참고하세요.
  • 원활한 로그인 구현: Recall API를 통해 Play 게임즈 클라이언트 계정을 사용하여 플레이어를 자동으로 인증합니다. 자세한 내용은 원활한 로그인 가이드를 참고하세요.
  • Play Integrity 통합: IntegrityClient를 사용하여 토큰을 요청하고 백엔드에서 게임 세션의 적법성을 확인합니다. 자세한 내용은 Play Integrity 가이드를 참고하세요.
  • Play Install Referrer 추가: PC의 사용자 획득 소스를 추적해야 하는 경우 Install Referrer API를 통합합니다. 자세한 내용은 설치 리퍼러 가이드를 참고하세요.
  • 초기화 오류 처리: SDK를 사용하려면 GooglePlayInitialize (C++) 또는 GooglePlayInitialization.InitializeAsync(C#)를 호출하여 API를 초기화합니다. 다른 API를 사용하려면 이 함수를 호출하고 연속 콜백이 InitializeResult::ok() (C++)로 완료되거나 Result.IsOk (C#)가 true를 반환하는지 확인해야 합니다.
  • 필수 종료 처리: 가능한 한 빨리 클라이언트 프로세스를 종료하여 kActionRequiredShutdownClientProcess를 처리합니다.
  • Google Play 게임즈 설치 요구사항 처리: Google Play 게임즈와 SDK 런타임을 설치해야 계속 진행할 수 있다고 사용자에게 알려 kSdkRuntimeUnavailable를 처리합니다.
  • Google Play 게임즈 업데이트 처리: 사용자에게 Google Play 게임즈 런타임 업데이트가 필요하다고 알림으로써 kSdkRuntimeUpdateRequired를 처리합니다.

Play 결제 구현

  • 구매 유형 확인: 반복 결제 및 정기 결제는 지원되지 않으므로 게임이 인앱 구매만 사용하는지 확인합니다. 자세한 내용은 결제 FAQ를 참고하세요.
  • 제품 세부정보 쿼리: QueryProductDetails를 사용하여 현지화된 매장 데이터를 가져옵니다. 제품이 50개를 초과하는 경우 요청을 여러 호출로 분할하세요. 자세한 내용은 제품 쿼리 가이드를 참고하세요.
  • 구매 흐름 시작: LaunchPurchaseFlow를 사용하여 트랜잭션을 네이티브로 처리합니다. 결제하지 않고 결제 브라우저를 닫으면 5분 시간 제한 오류가 발생합니다. 자세한 내용은 구매 흐름 가이드를 참고하세요.
  • 기존 구매 복원: 시작 및 포그라운딩 시 QueryPurchases를 호출하여 확인되지 않은 교차 기기 구매를 포착합니다. 자세한 내용은 구매 복원 가이드를 참고하세요.
  • 백엔드 처리 보안: 권한을 부여하고 AcknowledgePurchase 또는 ConsumePurchase로 완료하기 전에 백엔드에서 purchaseToken를 검증합니다. 자세한 내용은 보안 처리 가이드를 참고하세요.

개발자 모드에서 테스트하고 출시 전 품질 보증 실행

  • 개발자 모드에서 테스트: 매니페스트에 <IsDeveloperMode>true</IsDeveloperMode>를 추가하고 로컬 통합 개발 환경 (IDE) 테스트를 위해 사전 체험 파트너 GUID를 구성합니다. 사전 체험판 파트너 GUID가 없는 경우 관심 표현 양식을 작성하세요.
  • 개발자 모드 구매 관리: 개발자 모드에서 구매를 테스트할 때는 자동 환불을 방지하기 위해 3분 이내에 구매를 사용해야 합니다. 자세한 내용은 테스트 FAQ를 참고하세요.
  • 개발자 모드 삭제: 출시 빌드를 패키징하기 전에 가능한 한 빨리 <IsDeveloperMode> 태그를 삭제해야 합니다. 자세한 내용은 개발자 모드 가이드를 참고하세요.
  • 서드 파티 런처를 사용하여 인수 전달: 런처가 Google Play 게임즈 클라이언트로부터 수신한 알 수 없는 명령줄 인수를 생성된 게임 프로세스에 직접 전달합니다. 자세한 내용은 다중 프로세스 가이드를 참고하세요.
  • VPN으로 테스트: 지원되지 않는 지역에서 테스트하는 경우 TUN 모드가 사용 설정된 가상 사설망 (VPN)을 사용하여 지원되는 IP 주소를 획득하세요. 자세한 내용은 VPN 테스트 FAQ를 참고하세요.
  • 데스크톱 바로가기 지원: 원활한 바로가기 지원을 위해 바로가기 실행에 관한 바로가기 FAQ를 참고하세요. 바로가기를 사용하여 게임이나 서드 파티 런처를 직접 실행하면 초기화 오류가 발생할 수 있습니다.

게임 패키징, 테스트, 게시

  • WAB 패키징: Play 게시 도구를 사용하여 게임을 Windows App Bundle (WAB)로 패키징합니다. WAB 파일은 10GB 파일 크기 제한 미만이어야 합니다. 자세한 내용은 패키징 가이드를 참고하세요.
  • 서드 파티 런처 설치 프로그램 제출: 서드 파티 런처를 사용하는 경우 WAB 내에 설치 프로그램을 제출합니다. 자세한 내용은 설치 프로그램 게시 가이드를 참고하세요.
  • 게임 및 런처 또는 설치 프로그램 업데이트: 런처 설치 프로그램을 포함한 패키지 콘텐츠는 자체 업데이트가 가능해야 합니다. 런처 자체 업데이트를 비롯하여 게임에 필요한 모든 리소스를 관리합니다.
  • Google과 출시 정보 공유: Play 파트너에게 연락하여 패키지 이름, 출시 국가(ISO 2자리 코드 사용, 예: US, CA, MX), 출시 날짜 및 시간(협정 세계시(UTC))을 공유합니다.
  • 테스트 액세스 권한 설정: 테스트, 문서화, Google Drive 액세스를 위해 허용 목록에 추가할 외부 Google 그룹을 제공합니다. Play Console 테스트 트랙은 PC에서 지원되지 않으므로 테스트 계정의 이메일 목록을 Play 파트너와 공유합니다.
  • PC 폼 팩터 추가: Google Play Console에서 앱에 'PC용 Google Play 게임즈' 폼 팩터를 명시적으로 추가합니다. 이 탭에 액세스할 수 없는 경우 Play 파트너에게 문의하여 계정을 허용 목록에 추가하세요.
  • PC 요구사항 구성: Windows PC의 하드웨어 요구사항 (RAM, GPU, 스토리지)을 입력합니다. 자세한 내용은 PC 요구사항 가이드를 참고하세요.
  • 스토어 애셋 업로드: 패키지된 WAB 파일을 프로덕션 트랙에 업로드하고 시각적 애셋을 구성합니다. 자세한 내용은 애셋 업로드 가이드를 참고하세요.
  • 사용자 환경 테스트를 위해 게시: Google Play Console에서 게시를 선택합니다. Android 버전과 달리 WAB에서 게시를 선택해도 공개 출시가 트리거되지 않습니다. 대신 Google의 검토 프로세스 후 사용자 환경에서 테스트를 실행할 수 있도록 공유된 테스트 계정으로 앱을 검색할 수 있도록 합니다.
  • 공식 출시: Google에서 Play 파트너와 공유한 공식 출시일을 기준으로 출시를 관리합니다.

API에서 SDK로 이전

API에서 SDK로 마이그레이션하는 것은 선택사항입니다. 마이그레이션을 선택하는 경우 다음 권장사항을 따르세요.

  • 기존 REST API 삭제: 기존 Play Developer API 호출 (예: purchases.products.get)을 클라이언트 측 네이티브 SDK 함수에 매핑합니다. 자세한 내용은 마이그레이션 가이드를 참고하세요.
  • 명령줄 인수 확인: SDK 환경의 명령줄 인수는 API 환경의 인수와 다를 수 있습니다. 패키지가 모든 인수를 올바르게 처리하고 전달하는지 확인합니다. 자세한 내용은 확인을 참고하세요.
  • 레지스트리 경로 확인: 네이티브 SDK로 원활하게 이전하려면 레지스트리 구성이 이전 버전과 일관되게 유지되어야 합니다. 자세한 내용은 WAB 파일 가이드를 참고하세요.

참고 항목