본문 바로가기
개발/Unity

Google Play Console)Unity) Google Play (리더보드,업적) 사용하기

by 테샤르 2021. 12. 13.

Google Play (리더보드, 업적) 사용하기

Google Play의 업적/ 리더보드를 사용하기 위해서는 Play 게임즈 서비스 설정이 필요하다.

Google Console의 Auth가 등록되어야 한다.

반응형

 

Web client(auto created by Google Service)라는 OAuth 키를 copy 한다.

 

Unity Play game Plugin을 import 한다.

[Window]-[Google Play Games] - [Setup] -[Android setup] 메뉴를 클릭해서 

반응형

 Web App Client ID에 넣는다. Setup을 하게 되면 성공이라고 뜬다.

테스트한 코드는 다음과 같다.

반응형

 

업적 / 리더보드는 Google Play Console에서 등록해둬야 한다.

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

using GooglePlayGames;
using GooglePlayGames.BasicApi;

using System.Threading.Tasks;


public class GoogleServiceManager : Singleton<GoogleServiceManager>
{
    private readonly string LOG = $"[Google]";

    public void InitGoogleService()
    {
        PlayGamesPlatform.InitializeInstance(new PlayGamesClientConfiguration.Builder()
            .RequestIdToken()
            .RequestEmail()
            .Build());
        PlayGamesPlatform.DebugLogEnabled = true;
        PlayGamesPlatform.Activate();
        // 구글 플레이 게임 활성화
    }

    public async Task<string> GoogleServiceLogin()
    {
        TaskCompletionSource<string> task = new TaskCompletionSource<string>();
        if (!Social.localUser.authenticated) // 로그인 되어 있지 않다면
        {
            Social.localUser.Authenticate(success => // 로그인 시도
            {
                if (success) // 성공하면
                {
                    Debug.Log($"{LOG} Google Play Login Success");
                    string idToken = ((PlayGamesLocalUser)Social.localUser).GetIdToken();

                    task.SetResult(idToken);

                }
                else // 실패하면
                {
                    Debug.Log($"{LOG} Fail");
                }
            });
        }

        return await task.Task;
    }

    public void GoogleLogOut()
    {
        if (false == Social.localUser.authenticated)
            return;
        PlayGamesPlatform.Instance.SignOut(); // Google 로그아웃
    }

    public void ShowAchievement()
    {
        if (false == Social.localUser.authenticated)
            return;

        Social.ShowAchievementsUI();
    }
    
    public void ShowLeaderBoard()
    {
        if (false == Social.localUser.authenticated)
            return;

        Social.ShowLeaderboardUI();
    }
}

 

Unity Play Game Plugin : [링크]

 

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

 

 

Google Play 게임 서비스 설정 : [링크]

 

Setting Up Google Play Games Services  |  Google Developers

Send feedback Setting Up Google Play Games Services This document covers how to use the Google Play Console to set up Google Play games services for your Android game. The Google Play Console provides a centralized place for you to manage game services and

developers.google.com

 

★★★☆☆

 

반응형

댓글