이 문서에서는 PC용 Google Play 게임즈의 SDK 및 게시와 관련해 자주 묻는 질문에 답변합니다.
수익 창출
백엔드 서버 없이 구매 흐름을 사용할 수 있나요?
보안 관점에서 백엔드 서버 없이 처리하는 것은 권장되지 않습니다.
자세한 내용은 백엔드 서버 없이 처리를 참고하세요.
PC용 Google Play 게임즈 SDK를 통합한 후 기존 API 기반 결제 시스템을 사용할 수 있나요?
모든 결제는 Google Play 결제를 사용하여 PC용 Google Play Games SDK에서 처리해야 합니다. 동일한 게임에서 기존 API 기반 결제 수단을 사용할 수 없습니다.
개발자 모드에서 구매를 사용하려면 어떻게 해야 하나요?
개발자 모드에서 3분 이내에 구매를 사용해야 합니다. 그렇지 않으면 구매가 환불됩니다.
반복 결제 또는 구독이 지원되나요?
당장은 아니지만 향후 로드맵에 추가할 수 있도록 구체적인 사용 사례를 제공해 주시면 감사하겠습니다.
구매 호출에서 결제 오류란 무엇인가요?
BillingError는 결제 결과의 응답입니다. LaunchPurchaseFlow는 차단하지 않고 즉시 반환되지만 완료 시점을 파악하고 결과를 캡처하려면 콜백을 수신 대기해야 합니다.
클라이언트 측 구매 인증을 사용하려면 어떻게 해야 하나요?
서버 측 구매 및 확인 프로세스를 사용하는 것이 좋습니다. 클라이언트 앱에서 구매를 처리하려면 게임이 허용 목록에 있어야 합니다. 게임에 액세스 권한이 필요한 경우 Google 파트너에게 문의하세요. 자세한 내용은 백엔드 서버 없이 처리를 참고하세요.
제품 세부정보를 쿼리하기 위한 API 한도는 무엇인가요?
QueryProductDetailsAPI에 대한 단일 호출에서 쿼리할 수 있는 최대 제품 수는 50개입니다. 이 한도를 초과하면 요청을 여러 호출로 분할해야 합니다.결제 클라이언트에서 구매 쿼리 또는 구매 흐름 시작을 호출할 때 필요한 매개변수는 무엇인가요?
함수는
QueryPurchasesContinuation을 허용합니다. 이는std::function<void(QueryPurchasesResult)>서명이 있는 함수 콜백입니다. 콜백은 모든ProductPurchaseDetails와 함께 결과를 전달합니다. 이 정보는includes/billing/models.h파일의 SDK 헤더 파일에서 확인할 수 있습니다.결과
launch_purchase_flow_result에는ok()및code()함수가 있습니다.ok()함수는 흐름이 성공했는지 여부를 반환합니다.code()함수는 사용자 취소 또는 네트워크 오류와 같은 10가지 가능한 오류 사례가 있는BillingErrorenum(includes/billing/enums.h)을 반환합니다.결제 클라이언트에서 구매 흐름 시작에 맞춤 주문이 지원되나요?
현재 SDK 설계에서는 자체 페이로드를 전달할 방법이 없습니다. 하지만
obfuscated_account_id와obfuscated_profile_id를 원하는 대로 조합하여 제공할 수 있습니다. 둘 다 제공하지 않거나 하나만 제공하거나 둘 다 제공할 수 있습니다.offer_token필드는 필수이며 사용자가 결제 절차에서 구매하려는 구매 혜택을 지정합니다. 현재 Google Play의 각 SKU에는 정확히 하나의 혜택 (예: 상품 1개를 $10에 구매)이 있습니다. 향후 Play 결제팀에서 여러 혜택을 지원할 예정입니다.구매 흐름에 방해가 있을 때 메타데이터의 연결을 보장하려면 구매 대화상자를 실행하고 메타데이터를 사용자의 계정 ID, 구매 중인 SKU 및 현재 타임스탬프와 연결하기 전에 개발자의 백엔드 서버에 저장하세요. 자세한 내용은 구매를 내부 데이터와 연결을 참고하세요.
구매 흐름 중에 사용자가 결제하지 않고 브라우저를 닫으면 시간 초과 오류가 발생하나요?
예, 이는 알려진 문제이며 브라우저 기반 흐름에서 의도된 동작입니다. Google은 게임 내에서 결제 흐름을 유지하고 이 시간 초과 불편을 해결하는 원활한 구매 기능 (WebView 기반)을 적극적으로 개발하고 있습니다.
OAuth를 사용하는 Google 결제에서 DLL을 사용하는 네이티브 Google 결제로 전환하기 위한 기본 요건은 무엇인가요?
게임은 Google을 통한 OAuth 로그인을 계속 사용하여 로그인된 계정을 관리할 수 있지만 Google에서는 기존 REST 결제 API 사용을 중지하는 것이 좋습니다. REST 결제 API (OAuth2 로그인 포함)에서 SDK 흐름으로 전환하는 것은 기능 플래그가 지정된 작업일 수 있으므로 게임이 전환되는 동안 둘 다 일정 기간 동안 공존할 수 있습니다.
구매 흐름 시작 API 호출은 웹브라우저를 통해 처리되나요?
예, 현재는 브라우저를 통해 처리됩니다. Google은 SDK를 통해 게임을 종료하지 않고 전체 흐름을 완료할 계획입니다.
구매하려면 사용자가 각 게임에 별도로 로그인해야 하나요?
Google Play Games의 포그라운드 계정은 각 게임 세션에 사용되므로 다시 로그인할 필요가 없습니다. 게임 세션이 시작될 때 Google Play 게임즈에서 사용하는 계정은 API 호출이 실행되는 계정입니다. 브라우저에서 구매 흐름을 시작할 때는 게임 세션과 동일한 계정으로 로그인하고 사용해야 합니다. 사용자가 다른 계정으로 로그인하면 웹 흐름에서 계정을 전환하라는 메시지가 표시됩니다.
게임에서 네이티브 SDK와 기존 결제 시스템을 동시에 지원할 수 있나요?
결제 시스템은 게임 바이너리 버전에 따라 이중 흐름 모델로 작동합니다. 기존 빌드의 사용자는 기존 흐름을 계속 사용하고 새 빌드의 사용자는 SDK 기반 결제로 전환합니다. 전환 기간에는 두 결제 흐름의 사용자가 공존합니다.
Windows App Bundle
서드 파티 런처를 사용하여 WAB를 제출할 때 검토를 위해 게임 패키지가 필요한가요?
설치 프로그램만 제출하면 되며 전체 게임 패키지를 제출할 필요는 없습니다. 검토자가 설치 프로그램을 사용하여 게임 패키지를 다운로드할 수 있습니다.
WAB 파일 크기에 제한이 있나요?
WAB의 경우 최대 10GB 파일 크기를 업로드할 수 있습니다.
WAB를 업로드한 후 게임이 설치되지 않거나 표시되지 않는 이유는 무엇인가요?
기존 PC 버전이 없는 게임 (첫 번째 WAB)을 온보딩하는 경우 시스템에서 관리형 게시 보류 상태로 자동 전환할 수 있습니다. 업데이트할 기존 기준이 없기 때문에 이 문제가 발생합니다. WAB를 완전히 출시하고 게임을 설치할 수 있도록 하려면 Google Play Console로 이동하여 필요한 게시 작업을 수동으로 실행해야 합니다 (예: '변경사항 게시' 클릭).
내부 테스트를 위해 WAB를 업로드하려면 어떻게 해야 하나요?
Google에서 내부 테스트를 위해 허용 목록 계정을 사용 설정할 수 있도록 Google과 공유하세요. Google에 목록이 있으면 온보딩 프로세스에 포함됩니다.
WAB 패키지는 어디에 업로드해야 하나요?
첫 번째 질문에 언급된 위치에 WAB 패키지를 업로드할 수 있습니다. 하지만 수동으로 게시할 수는 없습니다. Google 백엔드 직원에게 정확한 UTC 시간 (시간 단위)을 제공해야 합니다. 그러면 Google에서 출시 일정을 구성하고 제때 게시되도록 합니다.
PC SDK
기존 API와 PC용 Google Play 게임즈 SDK의 차이점은 무엇인가요?
- 기존 API는 결제 기능만 제공합니다.
- PC SDK는 Google 데스크톱 서비스 (GDS) 및 전체 PC 기능을 지원합니다.
- PC SDK에는 브라우저 기반 Google 로그인이 필요하지 않습니다.
PC용 Google Play 게임즈를 거치지 않고 게임 런처를 사용하여 게임을 직접 실행하여 SDK를 초기화하는 다른 방법이 있나요?
게임은 PC용 Google Play Games 클라이언트를 통해 실행해야 합니다. 자세한 내용은 이 개발자 문서를 참고하세요.
네이티브 PC SDK는 PEM 인증 파일에서 멀티바이트 문자를 지원하나요?
예, SDK는 인증을 위해 멀티바이트 문자를 지원합니다.
SDK는 여러 인스턴스 또는 계정의 Google 계정 로그인을 어떻게 처리하나요?
Google Play Games의 각 게임 실행은 '게임 세션'으로 처리되며 각 '게임 세션'에는 연결된 계정이 있을 수 있습니다. 계정은 다를 수 있습니다. 따라서 계정 A로 게임을 실행한 다음 계정 B로 전환하고 다시 실행하면 둘 다 동시에 실행될 수 있습니다.
Play 설치 리퍼러 통합이 PC SDK와 호환되나요?
PC SDK (25.5.409.0 이상)는 Play 설치 리퍼러 API를 지원합니다. 자세한 내용은 Play 설치 리퍼러 API를 참고하세요.
런처
플레이어가 Google Play 클라이언트 대신 서드 파티 런처를 사용하는 경우 Play 게임즈 서비스 계정이 자동으로 동기화되나요?
SDK 함수가 작동하려면 게임을 Google Play Games 클라이언트를 통해 직접 실행해야 합니다. 설치 프로그램 또는 런처 애플리케이션과 같은 다른 프로세스에서 게임을 시작하는 경우 해당 프로세스 자체를 Google Play Games 클라이언트에서 실행해야 합니다. 게임은 클라이언트에서 수신한 모든 매개변수를 클라이언트 프로세스에 전달해야 합니다.
PC용 Google Play Games에서 서드 파티 게임 런처를 실행하는 경우 초기화를 어떻게 처리해야 하나요?
SDK를 런처에 직접 통합할 필요는 없습니다. 하지만 런처가 PC용 Google Play Games 클라이언트에서 수신한 모든 명령줄 인수를 생성된 하위 프로세스 (게임 실행 파일)에 직접 전달해야 합니다. 초기화가 실패하는 경우 (예:
kActionRequiredShutdownClientProcess반환) PC용 Google Play 게임즈에서 게임을 자동으로 복구하고 다시 실행할 수 있도록 런처를 포함한 모든 프로세스를 종료해야 합니다. 자세한 내용은 설정 가이드의 5단계 를 참고하세요.게임 및 런처가 프로덕션 환경에 있는 후 업데이트 및 유지보수를 어떻게 처리할 수 있나요?
후속 업데이트 및 유지보수는 런처를 통해 구현해야 합니다. PC용 Google Play Games 클라이언트는 업데이트 함수를 지원하지 않으므로 런처는 게임과 런처 자체를 모두 업데이트할 수 있어야 합니다.
초기화
PC용 Google Play Games 앱을 사용하여 게임을 시작하면 Google 계정 세부정보가 동기화되나요?
PC용 Google Play Games 클라이언트를 통해 게임을 실행하면 계정이 자동으로 동기화되므로 Google 로그인 프로세스를 통해 다시 로그인할 필요가 없습니다.
초기화 매개변수를 여러 번 재사용할 수 있나요?
PC용 Google Play 게임즈 클라이언트가 실행 중이고 로그인 정보가 유효한 경우 가능합니다. 하지만 가이드에 설명된 시나리오와 같이 사용자가 게임을 닫거나
kActionRequiredShutdownClientProcess와 같은 SDK 초기화 실패로 인해 게임이 종료될 때 게임에서 실행된 모든 프로세스를 종료해야 합니다.게임을 직접 여는 바로가기를 만들 수 있나요?
다음 URI를 사용하여 게임을 직접 열 수 있습니다.
googleplaygames://launch/?pid=2&id=com.company.gamenameURI는 PC용 Google Play 게임즈 클라이언트가 열려 있는지 감지하는 것을 지원합니다. 클라이언트가 열려 있지 않으면 게임 또는 런처가 실행되기 전에 PC용 Google Play Games 클라이언트가 열립니다. 여러 인스턴스가 실행되지 않도록 게임 또는 런처를 관리해야 합니다.
SDK를 사용하지 않고 PC용 Google Play 게임즈 설치를 확인할 수 있나요?
다음 Windows 레지스트리 키의 존재 여부를 확인하여 SDK를 통합하지 않고 PC용 Google Play Games의 설치 상태를 확인할 수 있습니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services이 키가 있으면 PC에서 게임을 실행하는 데 필요한 PC용 Google Play 게임즈 서비스가 머신에 설치되어 있음을 나타냅니다. 키가 없으면 사용자를 PC용 Google Play 게임즈 설치 페이지로 안내하여 클라이언트를 다운로드하고 설치해야 합니다.
테스트
모바일과 유사한 공개 테스트 또는 비공개 테스트 환경이 있나요?
전용 엔드투엔드 샌드박스는 제공되지 않지만 개발자를 위한 프로덕션과 유사한 테스트 환경의 필요성을 인식하고 있습니다. 더 강력한 솔루션이 곧 제공될 예정입니다.
새 테스터를 추가하려면 어떻게 해야 하나요?
Google 담당자는 각 PC 프로젝트에 이메일 그룹을 만듭니다. 여기에 테스터의 Google 계정을 추가해야 합니다. 이 이메일 그룹의 구성원만 Google Play Games 내에서 테스트 패키지를 다운로드할 수 있습니다.
기타
VPN을 사용할 수 있나요?
PC용 Google Play 게임즈가 지원되지 않는 리전에서 게임을 테스트해야 하는 개발자의 경우 VPN을 사용하여 지원되는 리전의 IP 주소를 가져오는 것이 좋습니다.
VPN에서 TUN 모드를 사용 설정해야 합니다. TUN 모드를 사용 설정하고 방화벽을 구성하는 방법에 관한 안내는 VPN 제공업체의 사용 설명서를 참고하세요.
TUN 모드를 사용 설정한 후 테스트 목적으로 PC용 Google Play 게임즈와 에뮬레이터를 설치합니다.
Unity 또는 UE 편집기에서 PC용 Google Play 게임즈 개발을 시작하려면 어떻게 해야 하나요?
- 개발자 모드를 사용 설정하고 테스트를 진행합니다.
manifest.xml및.dll파일을 추가합니다. 자세한 내용은 개발자 문서를 참고하세요.- 테스트 목적으로 사전 체험판 파트너 GUID를 등록합니다.
레지스트리 키를 올바르게 사용하려면 어떻게 해야 하나요?
루트 하이브를 기반으로 레지스트리 키를 만들어야 합니다. 목적과 데이터의 특성에 따라 루트 하이브를
HKEY_LOCAL_MACHINE또는HKEY_CURRENT_USER로 설정할 수 있습니다.HKEY_LOCAL_MACHINE하이브는 가이드라인에서 예시로 사용됩니다.PC 패키지에 대한 Google 검토의 요구사항은 무엇인가요?
PC 패키지는 멀웨어 검사를 거친 후 검토자가 게임 설치, 성공적인 시작, 제거 프로세스만 테스트합니다.
모든 API를 통합해야 하나요?
다른 API는 필수는 아니지만 추가 이점을 제공합니다.
google::play::billing은 인앱 구매 및 디지털 콘텐츠 판매에 필요합니다.google::play::install_referrer는 추천 데이터를 추적하여 앱을 다운로드하는 사용자를 가장 많이 보내는 트래픽 소스를 파악하는 데 필요합니다.google::play::games::integrity는 잠재적으로 위험한 기기 및 알 수 없는 에뮬레이터를 감지하여 악의적인 행위자로부터 앱을 보호하는 데 필요합니다.PC용 Google Play 게임즈 클라이언트가 닫힐 때 일부 게임 프로세스는 종료되지만 다른 게임 프로세스는 종료되지 않는 이유는 무엇인가요?
Google은 실행 중인 게임의 하위 프로세스 또는 프로세스를 제어하지 않습니다. 동작은 게임이 Android 에뮬레이션 게임인지 네이티브 PC 게임인지에 따라 다릅니다. 에뮬레이션된 게임은 자체 환경 내에 설치되므로 동작은 주로 에뮬레이터 초기화 및 종료에 따라 달라집니다.
PC용 Google Play 게임즈 제거 기능을 사용해야 하나요 아니면 맞춤 제거 프로그램을 사용해야 하나요?
Google에서는 PC용 Google Play 게임즈 제거 기능을 사용하는 것이 좋습니다.
추가 지원
이 FAQ에서 다루지 않은 추가 지원이 필요한 경우 google-play-games-pc@google.com으로 문의해 주세요.