구글플레이 연동은 다 끝냈으니 이제 구글플레이 리더보드를 이용해서 랭킹시스템을 만들어보겠다.
우선 구글플레이 콘솔에 들어가서 자신이 만든 어플리케이션 설정으로 들어간다.
그 후 리더보드창에 들어가서 리더보드를 만들면 된다. 리더보드 생성을 누르면
이런 느낌으로 내 리더보드 상세설정을 설정해주고 생성하면 된다.
설정은 어려울게 없어서 자신이 구현하고 하는대로 설정해주면 된다.
리더보드를 다 만들었으면 리소스 보기 가면
이렇게 Android(XML)을 볼 수 있다.
처음에 구글플레이 연동을 해봤으면 알곘지만 Window->Google Play Gaems -> Set up -> Android Setup에 위 리소스를 복사해서 넣어주고 Set Up 버튼을 눌러주면
위와같이 Assets에 GPGSids라는 스크립트가 생긴다.
여기까지 따라왔으면 다 끝난것이다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SocialPlatforms;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
public class LeaderBoard : MonoBehaviour
{
public Text score;
public void ShowLeaderboardUI_Ranking()
=> ((PlayGamesPlatform)Social.Active).ShowLeaderboardUI(GPGSIds.leaderboard_ranking);
//내 리더보드 목록중 랭킹이라는 이름의 리더보드를 바로 보여준다
public void ShowLeaderboardUI() => Social.ShowLeaderboardUI();
//내 리더보드 목록을 보여주고 그 중 선택할 수 있다.
public void AddLeaderboard()//점수를 기록하는 함수
=> Social.ReportScore(int.Parse(score.text),GPGSIds.leaderboard_ranking,(bool success)=>{});
}
//GPGSIds 스크립트는 static이어서 따로 참조할 필요가없다
기본설정을 마치면 생성되는 GPGSIds라는 스크립트는 static으로 선언되있어서 따로 참조할 필요없이 바로 다른 스크립트에서 참조할 수 있다. 위 코드는 어려울것없이 주석만봐도 바로 알 수 있다.
나는 메인화면에서 랭킹 버튼을 누르면 ShowLeaderboardUI_Ranking() 함수가 실행되게, 그리고 본 게임화면에서 Gameover가 되면 AddLeaderboard()함수가 실행되서 리더보드에 내 점수가 등록되게 구현했다.
실행결과
P.S
+휴대폰 화면 녹화기능 썻는데 왜 세로로 녹화가 되는거지?? 원래는 이상없었는데
++리더보드에 접근하려고 하니 Android Logcat에 노란색으로 warn이 뜨면서 접근이 안됐다.
알고보니 리더보드에 접근하기전에
Social.localUser.Authenticate((bool success) =>
{
if(success)
{
Debug.Log(Social.localUser.id);
}
});//시작할때 Authenticate를 해줘야 리더보드에 접근 할 수 있다.
이 코드가 한 번 실행되어야 한다. 그래서 나는 main화면 들어가자마자 위의 코드가 실행되게 구현했다.
+++ 리더보드를 처음 생성하고 목록에서 출시됨이 표시되어야 문제없이 리더보드가 실행이 된다고 하는 것 같다.
출시됨이 어떤 말을 하는건지 잘 모르겠다면 이번 포스팅의 4번째 사진을 확인해보자.
벌써 기억이 가물가물하긴한데 처음 리더보드 생성하고 출시하기 버튼인가 누르면 됐던거 같다.
++++ 실행결과에서 보면 게임오버되고 리더보드에 들어가면 내 점수를 모든 사람들에게 전부 공개하거나 친구에게만 공개하거나로 설정 할 수 있다.
출처: https://www.youtube.com/watch?v=-u7LYc0HgyQ
'유니티' 카테고리의 다른 글
Unity PlayerPrefs 활용 (1) | 2022.10.14 |
---|---|
유니티 구글 광고 붙이기(Google Ad Mob) (1) | 2022.09.22 |
유니티 네트워크 체크후 불안정하면 Android Alert Dialog띄우기 (1) | 2022.09.15 |
유니티로 안드로이드 Alert Dialog 띄우기 (0) | 2022.09.15 |
유니티 GPGS(Google Play Game Service) 11.01 버전 관련... (0) | 2022.09.09 |