Google 플레이 서비스 리더보드 사용

게임에 리더보드를 사용하는 방법입니다.

목차

![Banner Image](android-leaderboard-banner.png "Banner Image")(w:320)

환경설정

어플리케이션에서 Google Play Game Services (Google 플레이 게임 서비스) 구성 관련 정보는 Leaderboards | Play Games Services | Google Developers 페이지를 참고하세요.

언리얼 프로젝트의 경우:

  1. 언리얼 에디터편집 메뉴에서 프로젝트 세팅 을 선택하여 프로젝트의 환경설정 옵션을 봅니다.

  2. 왼편에 플랫폼: Android 탭을 선택합니다.

  3. Google Play Services 섹션에서 Enable Google Play Support (Google 플레이 지원 활성화) 옵션을 체크합니다.

  4. Games App ID 칸에 게임의 App ID 를 입력합니다.

  5. Google Play License Key 칸에 Google 플레이 라이선스 키를 입력합니다.

  6. Leaderboard Map 에 엘리먼트를 추가합니다..

  7. Leaderboard Map 에는 언리얼 프로젝트 안에서만 사용되는 Name 과 Google 플레이 서비스에 구성해 둔 Leaderboard ID 를 입력해야 합니다.

    androidSetup.png

    이 모든 값은 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 디바이스 모두에서 출시하려는 경우,

[](sharing-and-releasing-projects/iOS-and-tvOS/development-guides/ios-leaderboards)
문서에서 리더보드 구성 관련 부가 정보를 참고하시기 바랍니다.

순위표에서 읽기

Read Leaderboard Integer 노드는 플랫폼의 게임 서비스(, 현재 iOS Game Center 또는 Google Play Services)에서 요청, 제공된 Player Controller 의 주어진 Stat Name 에 저장된 값을 받습니다.

참고로 이는 latent (잠복성) 노드로, 실행 출력 핀이 여럿 있을 수 있습니다. 가장 위의 것은 "pass through" (통과)로, 다른 실행 출력 핀과 똑같이 작동합니다. 다른 두 가지 핀은 (On SuccessOn Failure) 온라인 서비스가 값을 반환( 또는 실패)할 때 실행됩니다. 반환에 성공하기 (또는 서비스가 응답을 받는 데 실패하기) 전 Leaderboard Value 값은 0 이 됩니다.

블루프린트:

아래는 Unreal Match 3 (언리얼 매치 3) 샘플 게임의 Global Game Instance 블루프린트 예제입니다. 이 몇 개의 노드에서는 Stat Name (Leaderboard) "Match3HighScore" 에서 Player Index 0 위치의 Player Controller 에 대한 Read Leaderboard Integer 노드를 호출합니다:

readLeaderboard.png

순위표에 쓰기

Write Leaderboard Integer 노드는 주어진 인티저 Stat Value 를 제공된 Player ControllerStat Name 에 지정된 순위표에 전송합니다.

블루프린트:

아래는 언리얼 매치 3 샘플 게임의 VictoryScreen 블루프린트 예제입니다. 승리( 또는 패배) 화면이 표시될 때, 언리얼 매치 3 로드시 최고 점수를 구할 수 있었는지 확인한 다음, 가능했다면 순위표에 최신의 최고 점수를 전송합니다. 그 전에 앱 시작 도중 끌어 온 것보다 높은 최고 점수가 있는지 확인하는 부가 검사가 있지만, 없다 하더라도 iOS 나 Android 순위표 시스템에서는 현재 저장된 값보다 큰 값만을 받습니다.

writeLeaderboard.PNG

플랫폼별 순위표 표시

Show Platform Specific Leaderboard Screen 은 디바이스에서 Category Name 으로 지정된 순위표를 표시합니다.

블루프린트:

아래는 언리얼 매치 3 샘플 게임의 GameOverButtons 블루프린트 예제입니다. ShowScores 버튼이 눌리면, 게임에서는 순위표 표시를 시도합니다.

showLeaderboard.png

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.