출시 체크리스트

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

프로젝트 설정 및 구성

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

API 및 기능 통합

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

Play 결제 구현

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

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

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

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

  • WAB 패키징: Play 게시 도구를 사용하여 게임을 Windows App Bundle (WAB)로 패키징합니다. WAB 파일은 10GB 파일 크기 제한 미만이어야 합니다. 자세한 내용은 패키징 가이드를 참고하세요.
    • 상승이 필요한지 확인: 설치 프로그램, 런처 또는 제거 프로그램을 실행할 때마다 관리자 권한으로 실행해야 하는 경우 INSTALLER_REQUIRES_ELEVATION, LAUNCHER_REQUIRES_ELEVATION 또는 UNINSTALLER_REQUIRES_ELEVATIONtrue로 설정했는지 확인해야 합니다. 그렇지 않으면 관리자 권한으로 실행되지 않아 시작이 실패합니다. 자세한 내용은 WAB 구성 파일 형식 을 참고하세요.
  • 서드 파티 런처 설치 프로그램 제출: 서드 파티 런처를 사용하는 경우 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 파일 가이드를 참고하세요.

참고 항목