이 체크리스트를 사용하여 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 게임즈 업데이트 처리: Google Play 게임즈 런타임 업데이트가 필요하다고 사용자에게 알림으로써
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_ELEVATION을true로 설정했는지 확인해야 합니다. 그렇지 않으면 관리자 권한으로 실행되지 않아 시작이 실패합니다. 자세한 내용은 WAB 구성 파일 형식을 참고하세요. - 서드 파티 런처 설치 프로그램 제출: 서드 파티 런처를 사용하는 경우 WAB 내에 설치 프로그램을 제출합니다. 자세한 내용은 설치 프로그램 게시 가이드를 참고하세요.
- 자동 재생 세션 토큰 처리: `play_publishing_config.xml`에서 `acceptsCommandLineArguments="true"`를 설정하여 자동 재생을 사용 설정하는 경우 설치 프로그램이 `--g_session_token=<token>` 명령줄 인수를 추출하고 이를 사용하여 게임을 실행하는지 확인합니다.
acceptsCommandLineArguments="true"play_publishing_config.xml--g_session_token=<token>설치 프로그램이 토큰이 없는 대체 사례를 처리하는지 확인합니다. 자세한 내용은 런처 FAQ를 참고하세요. - 게임 및 런처 또는 설치 프로그램 업데이트: 런처 설치 프로그램을 포함한 패키지 콘텐츠는 자체 업데이트가 가능해야 합니다. 런처 자체 업데이트를 포함하여 게임에 필요한 모든 리소스를 관리합니다.
- 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 파일 가이드를 참고하세요.