Hướng dẫn này chỉ cho bạn cách sử dụng API bảng xếp hạng trong ứng dụng Android
để tạo bảng xếp hạng trực quan, ghi lại điểm số của người chơi và so sánh điểm số
dựa trên điểm số của người chơi trong các phiên chơi trước đó. Bạn có thể tìm thấy các API trong các gói com.google.android.gms.games
và com.google.android.gms.games.leaderboards
.
Trước khi bắt đầu
Nếu chưa từng có kinh nghiệm, bạn có thể xem lại các khái niệm về bảng xếp hạng của trò chơi.
Trước khi bắt đầu lập trình bằng API bảng xếp hạng, bạn hãy:
- Hãy làm theo hướng dẫn để cài đặt và thiết lập ứng dụng của bạn để sử dụng Dịch vụ trò chơi của Google Play trong Hướng dẫn Thiết lập SDK Dịch vụ Google Play.
- Xác định các bảng xếp hạng mà bạn muốn trò chơi của mình hiển thị hoặc cập nhật, bằng cách làm theo hướng dẫn trong hướng dẫn về Google Play Console.
- Tải xuống và xem lại các mã mẫu bảng xếp hạng trong Trang mẫu Android.
- Làm quen với những đề xuất được mô tả trong Danh mục kiểm tra chất lượng.
Tải ứng dụng bảng xếp hạng
Để có thể sử dụng API bảng xếp hạng, trước tiên, trò chơi của bạn phải có được một đối tượng
LeaderboardsClient
.
Bạn có thể thực hiện việc này bằng cách gọi phương thức
Games.getLeadeboardsClient()
và truyền vào hoạt động.
Cập nhật điểm số của người chơi
Khi điểm số của người chơi thay đổi (ví dụ: khi người chơi kết thúc trò chơi), trò chơi của bạn có thể cập nhật điểm số của họ trên bảng xếp hạng bằng cách gọi LeaderboardsClient.submitScore()
, đồng thời truyền mã bảng xếp hạng cũng như giá trị điểm thô.
Đoạn mã sau đây cho thấy cách ứng dụng của bạn có thể cập nhật điểm số của người chơi:
PlayGames.getLeaderboardsClient(this) .submitScore(getString(R.string.leaderboard_id), 1337);
Bạn nên xác định mã bảng xếp hạng trong tệp strings.xml
để trò chơi của bạn có thể tham chiếu đến bảng xếp hạng theo mã tài nguyên. Khi gọi điện đến
cập nhật và tải điểm số của người chơi, đừng quên tuân theo
các phương pháp hay nhất để tránh vượt quá hạn mức API.
Đang hiển thị bảng xếp hạng
Để hiển thị bảng xếp hạng, hãy gọi LeaderboardsClient.getLeaderboardIntent()
để lấy
Intent
tạo giao diện người dùng của bảng xếp hạng mặc định. Sau đó, trò chơi của bạn có thể hiển thị giao diện người dùng bằng cách gọi
startActivityForResult
.
Đoạn mã sau đây cho thấy cách ứng dụng của bạn có thể cập nhật điểm số của người chơi. Trong đoạn mã, RC_LEADERBOARD_UI
là một số nguyên tùy ý cho mã yêu cầu.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { PlayGames.getLeaderboardsClient(this) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Lưu ý rằng mặc dù không có kết quả nào được trả về, chúng ta phải sử dụng
startActivityForResult
để API có thể lấy thông tin nhận dạng của gói gọi. Dưới đây là một ví dụ về giao diện người dùng của bảng xếp hạng mặc định.