환경설정
어플리케이션에서 Google Play Game Services (Google 플레이 게임 서비스) 구성 관련 정보는 Leaderboards | Play Games Services | Google Developers 페이지를 참고하세요.
언리얼 프로젝트의 경우:
언리얼 에디터 의 편집 메뉴에서 프로젝트 세팅 을 선택하여 프로젝트의 환경설정 옵션을 봅니다.
왼편에 플랫폼: Android 탭을 선택합니다.
Google Play Services 섹션에서 Enable Google Play Support (Google 플레이 지원 활성화) 옵션을 체크합니다.
Games App ID 칸에 게임의 App ID 를 입력합니다.
Google Play License Key 칸에 Google 플레이 라이선스 키를 입력합니다.
Leaderboard Map 에 엘리먼트를 추가합니다..
Leaderboard Map 에는 언리얼 프로젝트 안에서만 사용되는 Name 과 Google 플레이 서비스에 구성해 둔 Leaderboard ID 를 입력해야 합니다.
이 모든 값은 Google Play Developer Console 의 App 과 Game Services 에서 찾을 수 있습니다.
업적 맵의 Name 값은 Google Play Services 의 Leaderboard ID 에 대한 매핑일 뿐이고, iOS 는 Leaderboard Reference 를 통해 직접 참조되므로, Android와 iOS 양쪽 플랫폼에서 동시에 출시하는 경우, iOS Game Center 세팅에서의 Leaderboard Reference 를 Name 으로 입력해야 양쪽 플랫폼에서 하나의 노드 호출로 처리할 수 있습니다.
Android와 iOS 디바이스 모두에서 출시하려는 경우,
순위표에서 읽기
Read Leaderboard Integer 노드는 플랫폼의 게임 서비스(, 현재 iOS Game Center 또는 Google Play Services)에서 요청, 제공된 Player Controller 의 주어진 Stat Name 에 저장된 값을 받습니다.
참고로 이는 latent (잠복성) 노드로, 실행 출력 핀이 여럿 있을 수 있습니다. 가장 위의 것은 "pass through" (통과)로, 다른 실행 출력 핀과 똑같이 작동합니다. 다른 두 가지 핀은 (On Success 와 On Failure) 온라인 서비스가 값을 반환( 또는 실패)할 때 실행됩니다. 반환에 성공하기 (또는 서비스가 응답을 받는 데 실패하기) 전 Leaderboard Value 값은 0
이 됩니다.
블루프린트:
아래는 Unreal Match 3 (언리얼 매치 3) 샘플 게임의 Global Game Instance 블루프린트 예제입니다. 이 몇 개의 노드에서는 Stat Name (Leaderboard) "Match3HighScore" 에서 Player Index 0 위치의 Player Controller 에 대한 Read Leaderboard Integer 노드를 호출합니다:
순위표에 쓰기
Write Leaderboard Integer 노드는 주어진 인티저 Stat Value 를 제공된 Player Controller 의 Stat Name 에 지정된 순위표에 전송합니다.
블루프린트:
아래는 언리얼 매치 3 샘플 게임의 VictoryScreen 블루프린트 예제입니다. 승리( 또는 패배) 화면이 표시될 때, 언리얼 매치 3 로드시 최고 점수를 구할 수 있었는지 확인한 다음, 가능했다면 순위표에 최신의 최고 점수를 전송합니다. 그 전에 앱 시작 도중 끌어 온 것보다 높은 최고 점수가 있는지 확인하는 부가 검사가 있지만, 없다 하더라도 iOS 나 Android 순위표 시스템에서는 현재 저장된 값보다 큰 값만을 받습니다.
플랫폼별 순위표 표시
Show Platform Specific Leaderboard Screen 은 디바이스에서 Category Name 으로 지정된 순위표를 표시합니다.
블루프린트:
아래는 언리얼 매치 3 샘플 게임의 GameOverButtons 블루프린트 예제입니다. ShowScores 버튼이 눌리면, 게임에서는 순위표 표시를 시도합니다.