이 가이드에서는 Android 애플리케이션에서 리더보드 API를 사용하는 방법을 보여줍니다.
시각적 리더보드를 만들고, 플레이어의 점수를 기록하며,
점수와 비교할 수 있습니다. API는 com.google.android.gms.games
및 com.google.android.gms.games.leaderboards
패키지에서 찾을 수 있습니다.
시작하기 전에
아직 검토하지 않았다면 리더보드 게임 개념을 검토하는 것이 좋습니다.
리더보드 API를 사용하여 코딩을 시작하기 전에 다음을 진행합니다.
- 사용할 앱 설치 및 설정에 관한 안내를 따르세요. Google Play 게임즈 서비스를 Google Play 서비스 SDK 설정 가이드를 참조하세요.
- 게임에서 표시하거나 업데이트할 리더보드를 정의합니다. Google Play Console 가이드의 안내를 따르세요.
- 다음 페이지에서 리더보드 코드 샘플을 다운로드하여 검토합니다. Android 샘플 페이지
- 품질 체크리스트에 설명된 권장사항을 숙지합니다.
리더보드 클라이언트 가져오기
리더보드 API를 사용하려면 먼저 게임에서 LeaderboardsClient
객체를 가져와야 합니다.
이렇게 하려면 Games.getLeadeboardsClient()
메서드를 호출하고
활동 및 현재 플레이어의 GoogleSignInAccount
. 이
자세한 내용은 Android 게임에서 로그인을 참조하세요.
플레이어의 점수 업데이트
플레이어의 점수가 변경(예: 플레이어가 게임을 완료했을 때)되면 LeaderboardsClient.submitScore()
를 호출하고 리더보드 ID 및 원시 점수 값을 전달하여 리더보드의 점수를 업데이트할 수 있습니다.
다음 코드 스니펫은 앱에서 플레이어의 점수를 업데이트할 수 있는 방법을 보여줍니다.
Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .submitScore(getString(R.string.leaderboard_id), 1337);
게임에서 리소스 ID별로 리더보드를 참조할 수 있도록 strings.xml
파일에 리더보드 ID를 정의하는 것이 좋습니다. 전화를 걸 때
플레이어 점수를 업데이트하고 로드하려면
권장사항을 따르세요.
리더보드 표시
리더보드를 표시하려면 Intent
를 가져올 LeaderboardsClient.getLeaderboardIntent()
를 호출하여 기본 리더보드 사용자 인터페이스를 생성합니다. 그러면 게임이 startActivityForResult
를 호출하여 UI를 불러올 수 있게 됩니다.
다음 코드 스니펫은 앱에서 플레이어의 점수를 업데이트할 수 있는 방법을 보여줍니다. 코드 스니펫에서 RC_LEADERBOARD_UI
는 요청 코드의 임의 정수입니다.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
반환되는 결과가 없더라도
startActivityForResult
드림
API가 호출 패키지의 ID를 가져올 수 있습니다. 기본 리더보드 UI의 예가 아래에 나와 있습니다.