저번글에선 인앱을 살펴봤으니 이번엔 구글로그인을 만들어보자
https://github.com/playgameservices/play-games-plugin-for-unity
먼저 여기에 들어가서 다운을 받아준다
여기에 들어있는 패키지 파일을 프로젝트에 넣어주기 위한 것.
다운을 다 받으면 current-build 안에 있는 패키지파일을 임포트시켜준다
임포트를 다 하면 이런 창이 뜨는데 별 말 아니고 그냥 사용할 준비 다 끝났다는 알림이다
그리고 뭔가 로딩을 더 하는데 다 끝나면
이런 창이 뜬다
해상도 자동으로 보정해주는 기능에 대한건데 설정에서 나중에 다시 켤 수 있다고 하니까 일단은 넘어가겠다
설정은 Assets - External Dependency Manager - Android Resolver - Settings 에 있다고 한다
다 끝났으면 이제 플레이 콘솔에 들어가준다
왼쪽 메뉴를 내리다보면 Play 게임 서비스 - 설정 및 관리 - 설정 이 있다
아직 아무것도 적용한 게 없으니까 api를 사용하지 않습니다 를 눌러준다
그래서 설정을 해주면
이렇게 오른쪽 위에 Google Cloud Platform에서 보기 를 눌러준다
원래 플레이 콘솔에서 볼 수 있었던 클라이언트ID가 저기로 갔다
들어가서 클라이언트ID를 만들기 위해 먼저 OAuth 동의 화면에서 설정 진행을 다 하고
사용자 인증 정보 창에서 사용자 인증 정보 만들기 - OAuth 클라이언트 ID를 선택한다
들어가면 다른건 다 문제없는데 SHA-1 인증서 디지털 지문 이라는 낯선 게 나온다
https://gimchicchige-mukgoshipda-1223.tistory.com/44
이 글을 가지고 확인해봐도 되지만, 더 간단한 방법은
플레이콘솔 메뉴 위쪽에서 설정 - 앱 무결성 탭에 들어가면 볼 수 있다
그럼 생성이 완료된다
생성을 끝냈으면 다시 플레이 콘솔로 돌아와서
메뉴를 아래로 내리다보면 나오는 리더보드 탭에 들어가서 아무거나 하나 생성해준다
생성했으면 오른쪽 상단에 리소스 보기 를 눌렀을 때 나오는 소스코드를 복사한다
이제 유니티에 들어가서 셋팅을 해줘야한다
Window - Google Play Games - Setup - Android setup 에 들어간다
그럼 이런 큰 창이 뜨는데 가운데 큰 공간에는 방금 리더보드에서 복사한 소스코드를 적고,
아래 Client ID 에는 OAuth2.0 클라이언트 ID를 복사해오면 된다
그리고 셋업을 누르면 된다
이제 모든 셋팅이 다 끝났으니 스크립트를 작성해준다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
public class LoginManager : MonoBehaviour
{
[SerializeField] Text _status;
void Awake()
{
//구성 및 초기화
PlayGamesPlatform.InitializeInstance(new PlayGamesClientConfiguration.Builder().Build());
//디버깅에 권장됨
PlayGamesPlatform.DebugLogEnabled = true;
//PlayGamesPlatform 활성화
PlayGamesPlatform.Activate();
}
public void PlayLogin()
{
//현재 사용자가 인증되었는지 확인합니다
if (!Social.localUser.authenticated)
{
//현재 활성 Social API 구현에 대한 로컬 사용자를 인증하고 그의 프로필 데이터를 가져옵니다
//첫번째 인자 : 성공여부 / 두번째 인자 : 실패시 오류 로그
Social.localUser.Authenticate((bool isOk, string error) =>
{
if (isOk)
_status.text = Social.localUser.userName;
else
_status.text = error;
});
}
}
public void PlayLogout()
{
//Social.Active : 현재 활성화된 소셜 플랫폼(지금 상황에서는 PlayGamesPlatform)을 반환
PlayGamesPlatform platform = Social.Active as PlayGamesPlatform;
platform.SignOut();
_status.text = "Logout";
}
}
대충 UI 넣고 앱 뽑아서 돌려보면 로그인이 잘 되는걸 볼 수 있다
'플밍' 카테고리의 다른 글
삽입정렬 (0) | 2021.11.26 |
---|---|
[디자인패턴]명령 패턴 (0) | 2021.10.27 |
바뀐 플레이 콘솔에서 인앱 설정하는 방법 (0) | 2021.06.21 |
키스토어 SHA-1 지문 확인하는 가장 간단한 설명 (0) | 2021.05.23 |
유니티 액션겜 개발일지 - 공격 구현 진행중 (5) | 2021.05.05 |