본문 바로가기

유니티

유니티 구글플레이 로그인 연동

반응형

우선 당연한 말이겠지만 유니티와 구글플레이를 연동하려면 따로 설정을 해주어야 한다.

본인의 유니티버전을 고려해서 구글링해서 잘 찾아보자.필자는 유니티 버전이 2019.4.2 f1 , 구글플레이 엔진은 11.01버전이다. 구글플레이 엔진은 아래 github에서 다운받았다(아마 공식 github repo인거 같다)

https://github.com/playgameservices/play-games-plugin-for-unity

 

GitHub - playgameservices/play-games-plugin-for-unity: Google Play Games plugin for Unity

Google Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-unity development by creating an account on GitHub.

github.com

설정을 모두했다면 아래와 같은 코드를 작성해주자

using System.Collections;
using System.Collections.Generic;

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SocialPlatforms;
using UnityEngine.SceneManagement;

using GooglePlayGames;
using GooglePlayGames.BasicApi;


public class GoogleLogin : MonoBehaviour
{
    void Start()
    {
        PlayGamesPlatform.DebugLogEnabled=true;   
        PlayGamesPlatform.Activate();//구글플레이 플랫폼 활성화
        //위의 함수를 실행하면 Social.Active= PlayGamesPlatform.Instance가 된다
    }
    public void Login()//구글플레이 로그인 버튼에 적용
    {
        Social.localUser.Authenticate
        (
            (bool success) =>
            {    
                if(success)//성공시에
                {
                    StartCoroutine("LoadMain");
                }
            }
        );
    }
    IEnumerator LoadMain()//구글플레이 로그인 성공하고 4초 이따가 Main화면 불러들임
    {
        yield return new WaitForSecondsRealtime(4.0f);
        SceneManager.LoadScene("Main");
    }
}

로그인화면

나는 저 버튼을 누르면 위 코드의 Login() 함수가 실행되게 했다. 그리고 코루틴도 호출해서 메인화면으로 넘어가게 구현했다.

 

PC환경에서는 직접연결된 구글플레이게임즈 계정이 없으니 안된다 . 아마 다른분들도 PC환경에서 하며 안될것이다.

그러므로 나는 apk파일로 빌드해서 내 휴대폰으로 확인을 해보았다.

그 전에  구글 플레이 콘솔에서 내 계정을 테스터계정으로 등록해야 한다고 한다.

 

도중에 다른사람들처럼 "환영합니다" 이런 팝업창이 안떠서 한참을 헤멨다.

계속 확인해보니 아이디는 "Lerpz" 로 로그가 찍히고 고유ID는 1000으로 찍혔다. 무언가 다른 블로그에서 본거랑 너무달라서 계속 구글링했다.

결국 Asset-> External Dependency Manager -> Android Resolver -> Force Resolve 한 번 실행하니 되었다.

 

 

처음 실행하면 이렇게 구글플레이와 연동해서 본인 프로필을  만들 수 있다

 

 

 

 

+사실 로그인 버튼을 누르면 위의 "RedTiger0601님,안녕하세요" 팝업창이 나오게 하고싶은데 자꾸 들어가자마자 

저 팝업창이 뜨기 시작한다. 이건 추후에 고쳐야할 듯.

 

++출처글에 보면 PlayGamesClientConfiguration을 사용한다.

PlayGamesPlatform.InitializeInstance(new PlayGamesClientConfiguration.Builder().Build());

위와 같이 사용하였는데 GooglePlayGames서비스의 버전을 0.11.01으로 바꾸면서 해당 부분이 필요없게 되어서 삭제했다고 한다. 

 

 

추가로 아래 내용도 알면 추후에 유용할 것이다.

  •  인증 여부 확인 : Social.localUser.authenticated
  • ID(유저 이름이 아닌 유저 고유식별자) : Social.localUser.id
  • 사용자 이름 : Social.localUser.userName

 

출처:

https://openlevel.postype.com/post/640518

 

Unity3D에 Google Play Game Service 연동 - 구현편

소셜 플랫폼 사용하기 먼저 공식 문서를 읽어보자. 소셜 API 유니티 공식 문서(https://docs.unity3d.com/kr/current/Manual/net-SocialAPI.html) 에 따르면 유니티에서는 XBox Live, Game Center 등 여러 API를 위한 통일적

openlevel.postype.com

https://onionisdelicious.tistory.com/69

 

[Unity/Theory] 구글 플레이와 연동하여 기능을 구현하자! (로그인)

!!! NOTICE !!! 이 글은 유니티의 이론을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 지난 글에서는 유니티 프로젝트

onionisdelicious.tistory.com

 

반응형