Play 게임즈 PC SDK를 사용하면 Google Play 서비스에 액세스하여 PC에서 게임을 빌드하고 수익을 창출할 수 있습니다. Play 결제를 사용하여 디지털 콘텐츠를 판매하고, Play 게임즈를 사용하여 원활하게 로그인하고, Play 무결성을 사용하여 사용자가 애플리케이션에 대한 유효한 권한을 보유하도록 할 수 있습니다.
시작할 준비가 되셨나요?
기본 요건
Play Console 내에서 앱 항목을 만들고 Play 패키지 이름을 선점합니다.
PC용 Google Play 게임즈를 다운로드하여 설치하고 Google 계정으로 로그인합니다.
1단계: 프로젝트에 SDK 추가
Play 게임즈 PC C++ SDK를 다운로드합니다.
API 헤더 폴더
includes/
를 애플리케이션의 코드베이스에 복사합니다.재배포 가능한 파일을
imports/
에서 애플리케이션의 프로젝트로 복사합니다.play_pc_sdk.lib
에 대해 프로젝트를 연결하여play_pc_sdk.dll
의 콘텐츠에 액세스할 수 있도록 합니다.
2단계: 매니페스트 파일 추가
게임 내에서 SDK를 사용하려면 먼저 Play Console 내에서 소유권을 주장한 Play 패키지 이름과 게임 실행 파일을 연결해야 합니다. 게임의 실행 파일과 동일한 디렉터리에 manifest.xml
파일을 추가하면 됩니다.
manifest.xml
콘텐츠 예시:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
manifest.xml
배치 예시:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
3단계: 게임에 디지털 서명
게임에서 SDK를 사용하려면 게임의 실행 파일이 Authenticode 디지털 서명을 사용하여 디지털 서명되어야 합니다. 실행 파일에 서명하는 방법은 SignTool 문서를 참고하세요 .
4단계: SDK 초기화
게임의 시작 시퀀스 중에 SDK를 초기화합니다. 이는 사용자 상호작용 없이 자동으로 실행되어야 하며 게임 창을 렌더링하기 전에 초기화가 성공했는지 확인하는 것이 좋습니다. 이렇게 하면 가능한 한 빨리 오류를 표시하고 해결하여 최상의 사용자 환경을 제공하며 게임 프로세스를 종료해야 하는 경우 게임 창이 잠시 표시되지 않습니다.
GooglePlayInitialize
를 호출하여 API를 초기화하여 SDK 사용을 시작합니다. 이렇게 하면 전역 상태가 설정되고, SDK 런타임과 연결되며, 애플리케이션이 올바르게 시작되었는지 확인합니다. 이 메서드는 다른 API를 사용하기 전에 호출되어야 하고(MUST) 연속 콜백이 InitializeResult::ok()
이 true
와 같도록 완료되어야 합니다.
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
초기화가 kActionRequiredShutdownClientProcess
코드로 실패하면 가능한 한 빨리 게임 프로세스를 종료합니다. SDK의 런타임은 게임에서 추가 조치를 취하지 않아도 사용자를 지원하려고 시도합니다. 예를 들어 사용자에게 게임의 유효한 라이선스가 없는 경우 Google Play 게임즈에서 사용자에게 사본을 구매하라는 메시지를 표시합니다. 다른 오류의 경우 SDK를 사용하여 사용자가 게임의 유효한 라이선스를 소유하고 있는지 확인하는 등의 중요한 작업을 실행하지 않으므로 가능한 한 빨리 게임 프로세스를 종료하는 것이 좋습니다.
성공하지 못한 응답은 다음 조건 중 하나를 나타낼 수 있습니다.
SDK 런타임이 설치되지 않았거나, 기기에서 실행되고 있지 않거나, 게임에 통합된 SDK와 호환되지 않는 이전 버전입니다.
SDK 런타임에서 게임의 애플리케이션 ID를 확인할 수 없습니다. 개발 시 유효하지 않은
manifest.xml
를 사용하거나 개발자 모드를 사용 설정하지 않고 SDK를 사용하는 것이 원인일 수 있습니다. 이 경우 게임의 실행 파일은 Play 패키지 이름에 등록된 디지털 인증서로 디지털 서명해야 합니다.게임 실행 파일이 Google Play 게임즈 클라이언트를 통해 실행되지 않았습니다.
Google Play 게임의 활성 사용자가 애플리케이션의 라이선스를 소유하지 않습니다.
5단계: (선택사항) 여러 게임 프로세스 지원
게임에서 여러 프로세스를 사용하고 Google Play 게임즈 PC에서 직접 실행하지 않는 프로세스에서 Play 게임즈 PC SDK를 사용하려는 경우 추가 통합 단계가 필요합니다.
PC용 Google Play 게임즈에서 직접 실행하는 프로세스는 Play 게임즈 PC SDK의 초기화가 성공했는지 확인해야 합니다.
이렇게 하면 가능한 한 빨리 오류를 표시하여 최상의 사용자 환경을 제공할 수 있습니다. SDK를 사용하는 하위 프로세스는 직접 실행된 프로세스 외에도 초기화를 실행해야 합니다.
하위 프로세스에서 Play 게임즈 PC SDK를 사용하려면 명령줄 매개변수를 생성된 하위 프로세스로 전달하세요.
명령줄 매개변수 전달 예:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
이 예에서는 PC용 Google Play 게임즈(
GooglePlayGames.exe
)가 일부 예시 매개변수 (--foo=abc --bar=123
)를 사용하여 게임 (YourGameLauncher.exe
)을 실행하는 프로세스 계층 구조를 볼 수 있습니다. 그러면 게임이 Play 게임즈 PC SDK를 사용하는 하위 프로세스 (YourGame.exe
)를 생성합니다. 이를 허용하기 위해 PC용 Google Play 게임즈에서 실행한 게임 프로세스는 제공된 명령줄 매개변수를 하위 프로세스로 전달합니다.게임이 실행 중지되면 모든 프로세스를 종료합니다.
사용자가 게임을 닫거나 SDK 초기화 실패(예:
kActionRequiredShutdownClientProcess
)로 인해 게임이 종료되면 게임에서 생성한 모든 프로세스를 닫습니다. 이렇게 하면 다음에 PC용 Google Play 게임즈 클라이언트에서 게임을 실행할 때 다른 활성 계정으로 전환하는 등의 새로운 변경사항이 적용됩니다.
다음 단계
IDE에서 개발하는 동안 SDK를 사용합니다.
- 개발자 모드 사용 설정
앱에 Google Play PC 기능 추가:
- Play 결제로 디지털 상품 판매
- Play 설치 리퍼러로 마케팅 측정하기