1) Player Setting에서 'Package Name', 'IL2CPP', '.NET.4.x', ARM64 체크

2) Publishing Settings에서 Keystore 만들어서 적용

3) https://github.com/playgameservices/play-games-plugin-for-unity 에서 유니티 패키지 설치
- 'current-build' 디렉터리에서 .unitypackage 확장자를 찾을 수 있다.

4) Resolving Android Dependencies 실행
- 패키지 설치 후 자동으로 실행되지 않는다면,
Assets/External Dependency Manager/Android Resolver/Force Resolve로 실행할 수 있다.

5) 앱 무결성 탭에서 두 개의 SHA-1 인증서 지문을 복사
- 앱 서명 키 인증서 지문과 업로드 키 인증서 지문으로 두 개의 사용자 인증 정보를 만들기 위함이다.

6) Google Cloud Platform에서 위 SHA-1 인증서 지문을 이용하여 두 개의 OAuth 2.0 클라이언트 ID 생성
- 추가로 웹 애플리케이션 유형도 생성해야한다(총 세 개)

7) Play 게임즈 서비스 설정에서 위 세 개의 OAuth 2.0 클라이언트 ID로 사용자 인증 정보를 추가
- 웹 애플리케이션 유형은 게임 서버로, Android 유형은 Android로 생성한다.

8) 유니티에서 Android Configuration 창 활성화
- Resources Definition에는 사용자 인증 정보 글 옆에 리소스 보기를 클릭하면 나오는 XML를 입력하면 되고,
Client ID에는 게임 서버의 OAuth 클라이언트 ID를 입력하면 된다.
- 모두 입력하면 Setup 버튼을 클릭한다.


9) 모든 설정이 완료되어 사용자 구글 플레이 정보에 접근 가능
using UnityEngine;
using GooglePlayGames;
public class GoogleLogin : MonoBehaviour
{
/* 구글 로그인 버튼을 클릭하면 실행되는 함수 */
public void OnClickGoogleLoginButton()
{
Social.localUser.Authenticate((bool success) =>
{
if (success) //로그인에 성공하면
{
Debug.Log(Social.localUser.userName + "님 환영합니다");
Debug.Log("당신의 ID는 " + Social.localUser.id + "입니다");
}
else //로그인에 실패하면
{
Debug.Log("로그인에 실패했습니다");
}
});
}
/* 구글 로그아웃 버튼을 클릭하면 실행되는 함수 */
public void OnClickGoogleLogoutButton()
{
((PlayGamesPlatform)Social.Active).SignOut();
}
}
※ 본 글에서 사용한 play-games-plugin-for-unity의 버전은 0.10.14로써 로그아웃 기능이 존재한다.
'[Unity]' 카테고리의 다른 글
[Unity] 구글 애드몹 보상형 광고 구현 (0) | 2023.01.17 |
---|---|
[Unity] 구글 플레이 인앱 결제(IAP) 구현 (0) | 2023.01.14 |
[Unity] 자식 오브젝트와 함께 Color Tint를 적용하는 버튼 (0) | 2022.12.12 |
[Unity] 최적화 기법 (0) | 2021.09.14 |
[Unity] 3ds Max로 오브젝트 병합하기 (0) | 2021.06.22 |
댓글