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 : [링크]
Google Play 게임 서비스 설정 : [링크]
★★★☆☆
반응형
댓글