본문 바로가기

구글로그인 +플레이팹

구글로그인 + 플레이팹(4)

유니티에 구글로그인과 플레이팹 연동을 위한 설정은 (구글로그인 + 플레이팹(3)에서 끝남.

코드로 로그인부분 만들고 테스트.

유니티에서 스크립트하나만들고

아래 코드 작성.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PlayFab.ClientModels;
using PlayFab;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.UI;

public class GoogleLoginTest : MonoBehaviour
{
    public Text text;
    void Start()
    {
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
    .AddOauthScope("profile")
    .RequestServerAuthCode(false)
    .Build();
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.DebugLogEnabled = true;
        PlayGamesPlatform.Activate();
    }

    void Update()
    {
        
    }

        public void OnSignInButtonClicked()
    {
        Social.localUser.Authenticate((bool success) => {

            if (success)
            {
                text.text = "Google Signed In";
                var serverAuthCode = PlayGamesPlatform.Instance.GetServerAuthCode();
                text.text = "Server Auth Code: " + serverAuthCode;

                PlayFabClientAPI.LoginWithGoogleAccount(new LoginWithGoogleAccountRequest()
                {
                    TitleId = PlayFabSettings.TitleId,
                    ServerAuthCode = serverAuthCode,
                    CreateAccount = true
                }, (result) =>
                {
                    text.text = "Signed In as " + result.PlayFabId;
                }, OnPlayFabError);
            }
            else
            {
                Debug.Log("Google Failed to Authorize your login");
            }

        });

    }
        private void OnPlayFabError(PlayFabError obj)
    {
        text.text = "Playfab error";
    }

}

 

유니티에서 버튼하나 만들고 버튼클릭시 OnSignInButtonClicked() 가 호출되게 연결한다.

로그를 확인할수 있게 텍스트 창도 하나 만들어서 로그를 띄워줄수 있게한다.

 

다시 빌드하고 실행한다.

 

실행하면안된다.

구글로그인 + 플레이팹(3)에서 빌드할때 키스토어파일을 하나 만들고 빌드를 했다.

 

키스토어 파일의 SHA1 인증서와 구글콘솔에 등록할때 생긴 SHA1 인증서가 달라져서 생기는 문제이다.

 

알파버전이 승인을 받고 출시가되서 다운로드가 가능할때까지는 시간이 좀 걸리므로 로컬에서 빌드하고 수정해서 로그

인을 확인해야하는데 그럴려면 나의 로컬에 있는 SHA1 인증서도 등록을 해주어야한다.

 

 

cmd 창을켜서 키스토어 파일이 있는 폴더까지 이동한다.

 

keytool -list -v -keystore 내키스토어이름.keystore 형태로 명령어 쳐준다.

 

keytool 명령어가 먹지 않는다면 자바를 설치하고 환경변수 설정까지 해준후 cmd 창을 껏다가 다시 시도한다.

 

명령어 입력후 키스토어 생성할때 설정했던 비밀번호 입력하면

 

SHA1 인증서 확인가능 저거를 복사한다.->만들어둔 프로젝트의 구글 API 콘솔로 이동한다.

 

클라이언트 아이디 만들기 선택한다.

 

애플리케이션 유형 안드로이드

 

패키지이름 유니티에 프로젝트 패키지명 입력

 

SHA1 인증서에 cmd 확인했던 인증서 복사 붙여넣기(SHA1: 은뺴고 복사)

다시 빌드 앤런하면 실행된다.

 

테스트 성공

 

로그인 부분 관련해서 코드나 설명은 플레이팹 홈페이지에도 있다.

docs.microsoft.com/ko-kr/gaming/playfab/features/authentication/platform-specific-authentication/google-sign-in-unity

 

 

플레이팹 페이지에서 로그인 성공한후 확인한 화면

정살적으로 로그인후 사용자 정보가 생성되었다.


알파버전이 승인이 되고 URL을 통해 다른사용자들에게 테스트하고 싶으면 구글콘솔에 알파버전 관리해서 테스터도 등록을해주어야한다. 남은 설문조사도 해주어야함.

 

 

플레이팹 로그인이 됬으니 플레이팹에 있는 기능들을 가져다가 사용하면된다.

 

혹시 구글 로그인은 됬는데 플레이팹 홈페이지에는 회원정보가 안생겼다면 플레이팹 에러 메세지를 찍어보고

유니티 프로젝트에서 플레이팹 세팅에서 타이틀 아이디랑 전부 제대로 되어 있는지 구글API 콘솔에서 웹 에플리케이션에서 리디렉션이 제대로 되어 있는지 확인해보면된다.

 

 

'구글로그인 +플레이팹' 카테고리의 다른 글

구글로그인 + 플레이팹(3)  (0) 2020.09.19
구글로그인 +플레이팹(2)  (0) 2020.09.19
구글로그인 + 플레이팹(1)  (0) 2020.09.19