Google Play Games는 Gmail 계정과 별개인 게임 전용 인증 플랫폼으로, Xbox나 Steam 계정과 유사한 게임 특화 신원 확인 시스템입니다. 🎮
Unity에 Google Play Games 플러그인을 GitHub에서 다운로드하여 임포트하고, 기존 외부 의존성 관리 파일(External Dependency Manager)과의 충돌을 방지하기 위해 정리하는 과정이 필요합니다. 🧩
Google Play Console에서 새 앱을 생성하고, Play Game Services 프로젝트를 Google Cloud Platform과 연동하여 OAuth 동의 화면 및 클라이언트 자격 증명을 설정하는 것이 필수적입니다. 🔗
Google Cloud Console에서 게임 서버용 '웹 애플리케이션'과 Android 앱용 'Android' 두 가지 유형의 OAuth 클라이언트를 생성해야 합니다. 🌐
Android 앱용 OAuth 클라이언트 생성 시, Unity에서 커스텀 키스토어를 만들고 keytool 명령어를 통해 SHA1 인증서 지문(fingerprint)을 얻어 Google Cloud Console에 등록해야 합니다. 🔐
Google Play Console에서 테스트를 위해 테스터 이메일을 추가하고, Unity 내 Google Play Games 설정 메뉴에서 리소스 정의 XML과 웹 앱 클라이언트 ID를 입력하여 초기 설정을 완료합니다. ⚙️
Unity 프로젝트 설정의 Authentication 섹션에서 Google Play Games를 ID 제공자로 추가하고, Google Cloud Console에서 얻은 클라이언트 ID와 시크릿을 입력하여 Unity Gaming Services와 연동합니다. 🤝
mainTemplate.gradle 파일에 Google Play Services SDK 의존성 라인을 문서에서 제공하는 최신 버전으로 업데이트하여 빌드 오류를 방지해야 합니다. 📝
C# 코드를 통해 Android 빌드 시에만 Google Play Games 플랫폼을 초기화하고, 성공적인 인증 후 서버 측 토큰을 받아 Unity Authentication 서비스의 SignIn (새 플레이어) 또는 Link (기존 플레이어) 메서드를 호출하는 로직을 구현합니다. 💻
앱을 Google Play Console에 업로드하면 Google이 SHA1 인증서 지문을 변경하므로, Play Console의 '앱 서명' 섹션에서 새 지문을 확인하여 Google Cloud Platform에 업데이트해야 로그인 기능이 정상 작동합니다. 🔄