
유니티 프로젝트와 파이어베이스에서 GPGS 연동과 이를 통한 인증 연동을 다뤄본다.
- 2026.04.27 수정 - 실제 진행한 프로젝트를 바탕으로 내용 보완
GPGS로 인증됨3D Mobile 탬플릿으로 진행함(GPGS는 안드로이드 기반 기능)
플레이 게임즈 콘솔에서의 앱 이름
파이어베이스에서의 안드로이드 패키지 이름
유니티 프로젝트에서 설정된 앱 이름
위의 세 가지가 동일해야 함!

파이어 베이스에서 인증 수단으로 플레이 게임즈를 추가하고자 할 때 요구하는 것은 위와 같음클라이언트 ID
클라이언트 비밀번호
- 직접
GCP로 이동해서 찾아도 된다
- 이것이 비밀번호인데, 다운로드 받을 수 없음.
OAuth를 설정하는 과정에서Json파일을 다운받아 보관했을텐데, 그 안에 있다client-secret항목임- 만약 파일을 다운받지 않았거나 잃어버렸다면,
Add secret하면 된다
플레이 게임즈 측에도 따로 있음가이드를 따라가다 보면, GPGS 플러그인을 설치해야 함
유니티에 GPGS를 적용하기 위한 외부 플러그인임
최근에는 업데이트로 자동 로그인이 지원됨


GPGS 플러그인 깃허브 사이트에 접속해서, Release 탭으로 가면 위의 사진처럼 나옴
Source code를 다운받는다
Play Games Plug-in for Unity를 설치한다. 위에서 받았던 알집을 풀면 아래와 같이 나온다.

여기서 current-bulid에 들어간다.

이 유니티 패키지를 설치하면 된다.

구글 버전 핸들러가 알아서 파일 체크 해준다. Apply하자.

Resolve를 해줘야 함Project Settings - Player - Android로 들어간다.
Override Default Package Name을 체크하고, 출시하고자 할 앱 이름을 넣음com.회사이름.앱이름 양식을 지켜야 함파이어베이스, 플레이 게임즈 콘솔에서도 사용될 이름임

IL2CPP로 스크립팅 백엔드를 설정

ARMv7을 체크해제 해도 됨. 필자 폰이 S10 PLUS인데, 잘 돌아감^^
모든 안드로이드 앱의 경우 키스토어를 설정해줘야 함
주의
- 절대 깃허브 레포지토리에 공유되지 않도록 조심하자

Create New -> Anywhere를 선택한 다음, 본인이 원하는 로컬 저장소에 저장하면 됨
New Key Values에서의 비밀번호는 파일의 비밀번호와 동일해도 됨Alias: 별칭. 앱의 이름 또는 프로젝트의 이름을 넣어도 됨Validity: 50년에서 건들지 말자First and Last Name: 키스토어 발행자의 본인 이름. 넣어도 되고 안넣어도 됨Organizational Unit: 개발 팀, 개발 부서에 해당하는 칸임. 인디 또는 소규모 스튜디오면 공란이어도 됨Organization: 회사 이름. 인디 또는 스튜디오면 팀명을 여기어 넣으면 됨City or Locality: 시/군/구 에 해당함(서울시, 인천시, 부산시 등). 서울시 입력State or Province: 도에 해당함(경기도 등). 서울시 입력Country Code: 한국이니 KR을 적으면 됨
SHA-1 값을 추출해서 파이어베이스 프로젝트에 추가해야 함Key Tool을 사용함
Window 키를 누르고 PowerShell을 치면, 터미널을 열 수 있음
keytool을 입력했을 때 사용하지 못하는 것을 볼 수 있음JDK가 설치되지 않았거나, 명령어를 수행할 프로그램의 경로 지정이 안되어 있기 때문임

java.exe의 경로를 지정해줘야 함
Window키를 누르고 환경 변수를 입력하면 시스템 환경 변수 편집 제어판이 나옴
환경 변수 클릭
시스템 변수 항목에서 Path 속성을 클릭 후, 편집을 누른다
찾아보기를 누른 후, JDK가 설치된 경로의 bin폴더를 추가해야 함
keytool 사용이 가능함
터미널(Windows => Powershell)에서 아래와 같이 입력하면 SHA코드를 확인할 수 있음keytool -list -keystore <키스토어 전체 경로.keystore> -v
//예시
keytool -list -keystore C\Unity_Project\Project_GPGS\Keystore\user.keystore -v

Enter keystore password가 나오면, keystore를 생성할 때 입력했던 비밀번호를 그대로 입력하면 됨
SHA-1 코드가 나옴






구글 클라우드 플랫폼으로 이동
시작하기를 누른다

만들기를 누른다OAuth 개요가 생성 됨
OAuth를 추가한다
유형에 안드로이드, 게임 서버 둘 다 등록할 것이다신규 설치에 이 사용자 인증 정보 사용 체크불법 복제 방지 사용에 사용 체크
OAuth 클라이언트 만들기를 누른다
클라이언트 - 클라이언트 만들기를 누른다
웹 애플리케이션과 Android 2가지 유형으로 2개의 클라이언트를 만들면 됨

com.으로 시작하는 프로젝트의 앱 이름을 넣으면 된다SHA-1 인증서 디지털 지문 또한 앞서 keytool로 얻어낸 코드를 넣는다
이 버튼을 누르면 게시하기까지 필요한 남은 절차들을 알 수 있다.

3가지가 더 필요하다고 나온다.

속성 수정에서 설명을 추가하고 이미지를 추가한다. 여기서 중요한 점이 있는데, 이미지는 사이즈가 정확하게 맞아야 한다.

Android Setup을 켜준다.
Play Console에서 가져온 Android 리소스 스니펫을 Resources Definition 필드에 집어넣는다.

리소스 보기를 누른다.

이 코드를

여기에 붙여넣는다.

여기다가는 아까 만든 웹 OAuth 클라이언트의 클라이언트ID를 넣으면 된다.

여기에 들어오면 오른쪽에 있다.
셋업이 끝났다면 이제 빌드가 잘 만들어지는지 테스트 해본다.
테스트가 성공하면 다음 단계로 넘어가자
인증이 제대로 되는지 테스트하기 위한 스크립트
using UnityEngine;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
public class GPGSTester : MonoBehaviour
{
public void GPGSTest()
{
PlayGamesPlatform.Instance.Authenticate(OnAuthenticated);
}
private void OnAuthenticated(SignInStatus status)
{
if (status == SignInStatus.Success)
{
Debug.Log("로그인 성공");
}
else
{
Debug.LogWarning("로그인 실패");
}
}
}
이제 다시 빌드를 뜨고 apk를 돌릴 수 있는 기기에서 테스트 해보면, 게임이 켜짐과 동시에 인증이 뜨는 것을 볼 수 있다.
등록된 테스터들만 가능한 기능. 플레이스토어에서 직접 다운받아서 제대로 실행이 되는지 확인하기 위한 방법이다. 가이드 참고.
인증 자체는 되는데, 현재로써는 파이어베이스에 유저의 아이디가 등록되지 않는다. 파이어베이스 가이드 참고
- NC VARCO 개발일지 4
GPGS와 파이어베이스 연동하는 것은 해당 포스트에서 확인할 수 있음