콘텐츠로 이동

Google Play Games 로그인 활용 가이드

Google Play Games 로그인은 사용자가 자신의 Play Games 프로필로 앱에 로그인하도록 하는 기능입니다. Google Play Games는 사용자를 대신 인증해 주는 외부 인증 제공자이며, 사용자는 Play Games가 그려 주는 로그인 화면에서 인증하고 앱은 그 결과로 Hive Axyl 로그인 세션을 얻습니다. 세션은 로그인을 마쳐 Hive Axyl SDK가 사용자를 식별하고 있는 상태를 뜻합니다.

구현하려면 Google 외부 콘솔 설정, Hive 콘솔 설정, Hive Axyl SDK 호출, 레시피 코드 호출, 앱 코드를 조합해야 합니다. 레시피 코드를 사용하면 자격 증명 획득부터 세션 활성화까지 필요한 호출이 메서드 하나로 줄어듭니다.

Google 계정 로그인과 다른 로그인 수단입니다

Google Play Games 로그인은 사용자의 Play Games 프로필로 로그인하고, Google 계정 로그인은 사용자의 Google 계정으로 로그인합니다. 두 가지를 모두 제공하려면 각각의 연동 환경을 따로 구성해야 합니다.

구현 범위

Google Play Games 로그인을 구현하는 데 필요한 작업은 Google 외부 콘솔에서 인증 정보를 준비하는 것에서 시작해, 로그인 결과에 맞는 화면을 띄우는 것으로 끝납니다.

각 단계의 작업은 아래 여섯 가지 구분 중 하나에 해당합니다.

구분 담당 내용
외부 콘솔 앱 운영자 Google Cloud Console과 Google Play Console에서 수행하는 설정입니다.
Hive 콘솔 앱 운영자 Hive 콘솔에서 수행하는 설정입니다.
Hive Axyl SDK 앱 개발자 앱에서 호출하는 Hive Axyl SDK 메서드입니다.
Add-on 앱 개발자 Play Games 로그인 화면을 띄우고 인가 코드를 발급받는 Hive Axyl SDK 확장 패키지입니다.
레시피 코드 앱 개발자 앱에서 호출하는 레시피 메서드입니다.
앱 코드 앱 개발자 Hive Axyl을 거치지 않고 앱이 직접 구현하는 부분입니다.

Google Play Games 로그인에는 Hive Axyl 서버 API 호출이 없습니다. Add-on은 앱이 직접 호출하지 않고 레시피가 대신 호출하므로, 단계 구분이 아니라 레시피가 내부에서 수행하는 작업 목록에 나타납니다. 파라미터의 의미와 응답 필드는 각 단계에서 연결한 상세 절차를 참조하세요.

레시피

Hive Axyl SDK는 로그인 기능을 세분화된 메서드로 제공합니다. Play Games에서 인가 코드를 받는 Add-on 호출이 세 개로 나뉘어 있고, 그 인가 코드를 자격 증명으로 바꾸는 메서드, 자격 증명으로 로그인하는 메서드, 토큰을 발급하는 메서드, 세션을 활성화하는 메서드가 각각 따로 있습니다. 사용자 한 명을 로그인시키는 데에도 호출 순서와 중간 실패 처리를 앱이 직접 조합해야 합니다.

레시피는 그 조합을 미리 완성해 둔 소스 코드입니다. 패키지가 아니라 프로젝트에 복사해서 사용합니다.

구분 위치 성격
Hive Axyl SDK Unity 패키지 com.com2usplatform.hiveaxyl.* 설치해서 사용합니다. 인증 기능을 세분화된 메서드로 제공합니다.
레시피 Assets/Recipes/ProviderLogin/, Assets/Recipes/ProviderLogin.Gpg/ 복사해서 사용합니다. SDK 호출을 목적 단위로 묶은 순수 C# 코드입니다.
사용 예제 Assets/RecipeExamples/Authentication/ProviderLoginExample.cs 읽고 참고하는 코드입니다. 모든 외부 인증 제공자에 공통인 로그인 흐름과 결과별로 앱이 구현해야 할 부분을 주석으로 설명합니다.
레시피는 복사해서 사용하는 코드입니다

레시피는 앱에 복사되어 앱의 코드가 됩니다. 그대로 사용해도 되고 앱 정책에 맞게 수정해서 사용해도 됩니다.

로그인 레시피는 외부 인증 제공자 하나에 종속되지 않습니다. Play Games 자격 증명을 받아 오는 부분만 ProviderLogin.Gpg/가 담당하고, 그 뒤 과정은 Apple이나 Steam 로그인과 같은 코드를 사용합니다.

레시피 지원 OS

레시피의 Play Games 자격 증명 소스는 Play Games 로그인 Add-on이 동작하는 Android에서만 사용합니다. 자격 증명 소스는 Play Games 로그인 화면을 띄워 사용자 식별자와 인증 결과를 받아오는 객체입니다. 그 밖의 OS에서 이 소스를 호출하면 Add-on이 등록되어 있지 않아 Unavailable 오류를 반환하며, 이는 로그인이 거절된 것이 아니라 그 환경에서 Play Games 로그인을 실행하지 못한다는 뜻입니다.

OS 인증 방식 구현 방법
Android Play Games가 그리는 네이티브 로그인 화면 이 가이드의 절차를 따릅니다.
iOS, Windows, macOS 없음 Play Games 로그인은 Android에서만 동작합니다. Google 계정 로그인처럼 그 OS에서 동작하는 다른 로그인 수단을 사용하세요.

Android에서도 Google Play로 배포하는 앱에만 적용합니다. Play Games는 Google Play에 등록된 앱의 패키지 이름과 서명으로 앱을 확인하기 때문입니다.

앱이 직접 구현하는 부분

레시피는 자격 증명 획득부터 세션 활성화까지만 대신합니다. 아래 항목은 레시피 밖에서 앱이 구현합니다.

  • 로그인 화면과 로그인 후 화면 전환
  • Android가 아닌 OS에서 Play Games 로그인 버튼을 숨기는 분기
  • DeviceKey의 생성과 보관
  • 로그인으로 받은 세션 토큰의 보관
  • 실패했을 때의 재시도 정책과 사용자 안내 메시지

공통 사전 준비

구현을 시작하기 전에 아래 항목을 먼저 준비하세요.

준비 항목 필수 여부 구분 확인할 곳
Google Play Console에 앱 등록과 패키지 이름 확인 필수 외부 콘솔 스토어 App ID 등록
프로젝트 생성 필수 Hive 콘솔 프로젝트 생성
Android App ID 생성 필수 Hive 콘솔 App ID 생성
Store App ID 등록 필수 Hive 콘솔 Store App ID 등록
Client ID 확인 필수 Hive 콘솔 보안 키 획득
Unity 프로젝트에 SDK 연결 필수 Hive Axyl SDK Unity 프로젝트에 SDK 연결

Play Games 로그인은 실행 환경이 Android인 App ID에서만 동작하므로 App ID를 만들 때 실행 환경으로 Android를 고르세요. Store App ID에는 Google Play Console에서 확인한 패키지 이름을 입력합니다. App ID는 SDK를 초기화할 때 입력하고 Client ID는 로그인할 때 입력하므로 둘 다 먼저 확인해야 합니다. SDK를 연결해 두어야 이어지는 단계에서 인증 모듈과 Add-on을 설치합니다.

다음 단계

사전 준비를 마쳤다면 Google Play Games 로그인 구현하기를 시작하세요.