프로젝트를 안내합니다. SDK 다운로드부터 초기화 및 빌드 구성까지의 단계를 다룹니다. keywords_public: Google Play 게임즈 PC, Unity, SDK 통합, 네이티브 PC, 게임 개발, IL2CPP, 매니페스트, Play 게임즈 PC Unity SDK
이 가이드에서는 Google Play 게임즈 PC SDK를 Unity 프로젝트에 통합하는 단계별 안내를 제공합니다.
1단계: SDK 다운로드
다운로드 링크를 사용하여 최신 버전의 Unity 패키지를 다운로드합니다.
다운로드: Play 게임즈 PC Unity SDK
2단계: 패키지 가져오기
SDK는 Unity Package Manager (UPM)와 호환되는 tar 파일로 배포됩니다. 자세한 내용은 로컬 tar 파일에서 UPM 패키지 설치를 참고하세요.
3단계: 빌드 설정 구성
네이티브 라이브러리가 올바르게 로드되는지 확인하려면 IL2CPP 스크립팅 백엔드를 사용하고 올바른 아키텍처를 타겟팅하도록 프로젝트를 구성해야 합니다.
플랫폼이 Windows인 빌드 프로필을 만듭니다.
플랫폼 설정을 Windows로 선택합니다. 아키텍처의 경우 다음 옵션을 사용합니다.
- Intel 64비트 (권장)
- Intel 32비트
참고: PC용 Google Play 게임즈 플랫폼은 64비트 환경에서 실행됩니다. 게임을 32비트 (x86) 또는 64비트 (x64)로 빌드할 수 있습니다.
Scripting Backend(스크립팅 백엔드)를 IL2CPP로 설정합니다. 자세한 내용은 IL2CPP로 프로젝트 빌드를 참고하세요.
- API 호환성 등급을 .NET Standard 2.0(.NET Framework)으로 설정합니다.
4단계: 애플리케이션 매니페스트 만들기
게임에서 SDK를 사용하려면 먼저 Play Console에서 소유권을 주장한 Play 패키지 이름과 게임 실행 파일을 연결해야 합니다. 게임의 실행 파일과 동일한 디렉터리에 manifest.xml 파일을 추가하면 됩니다.
참고: 이 단계는 수동으로 수행해야 합니다.
- 게임 실행 파일 빌드하려면 File > Build and Run을 선택하거나
Ctrl+B을 클릭합니다. - 텍스트 편집기를 열고
manifest.xml이라는 새 파일을 만듭니다. 다음 XML 코드를 복사하여 파일에 붙여넣습니다.
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
파일을
manifest.xml로 저장합니다.이 파일을 빌드된 게임 실행 파일과 동일한 폴더로 이동합니다.
예: 게임이
Builds/MyGame.exe에 있는 경우 매니페스트는Builds/manifest.xml에 있어야 합니다.
참고: 게임 실행 파일을 디지털 서명하거나 Google Play 게임즈에서 실행하지 않고 Unity Editor에서 개발하는 동안 PC SDK를 사용하려는 경우 추가 매니페스트 구성 단계는 개발자 모드 설정 가이드를 참고하세요.
5단계: SDK 초기화
결제 또는 무결성과 같은 기능에 액세스하기 전에 SDK를 초기화해야 합니다. PlayPcSdkFactory를 사용하여 초기화 핸들러를 만들고 연결을 시작합니다.
새 C# 스크립트(예: SdkInitialization.cs)를 만들고 다음 코드를 추가합니다.
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
이 스크립트를 첫 번째 장면의 GameObject에 연결합니다. 게임을 실행할 때 콘솔에서 'SDK가 성공적으로 초기화되었습니다' 메시지를 확인합니다.
6단계: PC 네이티브 게임 설치 시 자동 재생 사용 설정
PC용 Google Play Games (GPG)를 사용하면 개발자가 '자동 플레이' 기능을 사용 설정할 수 있습니다. 이 기능은 설치 프로세스가 완료된 후 게임을 자동으로 즉시 실행합니다. 이 기능을 사용하면 GPG 생태계 내에서 완전히 인증된 플레이어를 게임으로 직접 전환하여 원활한 사용자 환경을 제공할 수 있습니다.
작동 방식
이 기능을 사용 설정하면 GPG는 명령줄 인수를 통해 서드 파티 (3P) 설치 프로그램 프로세스에 GPG 세션 토큰을 전달합니다. 그러면 설치 프로그램이 이 토큰을 추출하고 인증된 컨텍스트에서 게임 실행 파일을 실행하는 데 사용해야 합니다.
기본 요건
이 기능을 사용하려면 서드 파티 설치 프로그램이 명령줄 인수를 처리할 수 있어야 합니다.
구현 단계
게시 구성에서 자동 재생 사용 설정
이 기능을 선택하려면
play_publishing_config.xml의<installer>요소에acceptsCommandLineArguments속성을 추가하세요.manifest.xml콘텐츠 예시:<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- 속성:
acceptsCommandLineArguments - 유형:
Boolean - 기본값:
false - 동작: true로 설정하면 GPG가 설치 프로그램을 실행할 때 세션 토큰을 명령줄 인수에 추가합니다.
- 속성:
설치 프로그램에서 세션 토큰 처리
GPG 클라이언트에 의해 설치 프로그램이 실행되면 세션 토큰을 명령줄 인수로 받습니다.
- 인수 형식:
--g_session_token=<TOKEN>
해야 할 일:
- 추출: 설치 프로그램은 명령줄 인수를 파싱하여 토큰 문자열을 검색해야 합니다.
- 전파: 설치 흐름에 보조 런처나 게임 프로세스 실행이 포함되는 경우 설치 프로그램은 SDK를 사용하는 최종 게임 프로세스에 세션 토큰을 안전하게 전달해야 합니다.
- 실행: 제공된 세션 토큰을 사용하여 게임 실행 파일을 시작합니다. 이렇게 하면 인증된 GPG 컨텍스트 내에서 게임이 실행됩니다. 그렇지 않으면 InitializeSDK가 실패하고 플레이어가 게임을 다시 시작해야 합니다.
- 인수 형식:
오류 처리 및 대체
- 토큰 가져오기: 어떤 이유로든 GPG가 세션 토큰을 생성하거나 전달할 수 없는 경우 (예: 토큰 생성 실패) 설치 프로세스가 계속 진행됩니다. 하지만 설치 프로그램은 --g_session_token 인수가 없이 실행됩니다.
- 강력함: 세션 토큰이 없는 시나리오를 처리하도록 설치 프로그램을 설계해야 합니다. 이러한 경우 설치 프로그램은 표준 설치를 진행해야 합니다. InitializeSDK가 어차피 실패하므로 자동 게임 실행을 트리거해서는 안 됩니다.
- 설치 프로그램 오류: 설치 프로그램과 설치 프로그램이 시작하는 게임 실행 시퀀스의 안정성과 오류 처리는 개발자의 책임입니다. GPG는 설치 프로그램이 실행된 후 설치 프로그램 내에서 발생하는 프로세스를 제어할 수 없습니다.