คู่มือนี้แสดงวิธีใช้ลีดเดอร์บอร์ด API ในแอป Android
เพื่อสร้างลีดเดอร์บอร์ดแบบภาพ บันทึกคะแนนของผู้เล่น และเปรียบเทียบคะแนน
กับคะแนนของผู้เล่นจากเซสชันเกมก่อนหน้า คุณดู API ได้
ในแพ็กเกจ com.google.android.gms.games
และ com.google.android.gms.games.leaderboards
ก่อนเริ่มต้น
หากยังไม่ได้ดำเนินการ คุณอาจดูแนวคิดเกมลีดเดอร์บอร์ดเพื่อเป็นข้อมูลเพิ่มเติมได้
ก่อนที่จะเริ่มเขียนโค้ดโดยใช้ API ของลีดเดอร์บอร์ด ให้ทำดังนี้
ทำตามวิธีการติดตั้งและตั้งค่าแอปเพื่อใช้บริการเกมของ Google Play ในคู่มือตั้งค่า SDK บริการ Google Play
กำหนดลีดเดอร์บอร์ดที่คุณต้องการให้เกมแสดงหรืออัปเดตโดย ทำตามวิธีการใน คู่มือ Google Play Console
ดาวน์โหลดและตรวจสอบตัวอย่างโค้ดลีดเดอร์บอร์ดในหน้าตัวอย่าง Android บน GitHub
ทำความคุ้นเคยกับคำแนะนำที่อธิบายไว้ในรายการตรวจสอบคุณภาพ
รับไคลเอ็นต์ลีดเดอร์บอร์ด
หากต้องการเริ่มใช้ลีดเดอร์บอร์ด API เกมของคุณต้องรับออบเจ็กต์
LeaderboardsClient
ก่อน
คุณทำได้โดยการเรียกใช้เมธอด PlayGames.getLeadeboardsClient()
และส่งกิจกรรม
อัปเดตคะแนนของผู้เล่น
เมื่อคะแนนของผู้เล่นเปลี่ยนแปลง (เช่น เมื่อผู้เล่นเล่นเกมจบ) เกมของคุณจะอัปเดตคะแนนของผู้เล่นในลีดเดอร์บอร์ดได้โดยเรียกใช้
LeaderboardsClient.submitScore()
และส่งรหัสลีดเดอร์บอร์ดและค่าคะแนนดิบ
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปของคุณอัปเดตคะแนนของผู้เล่น
PlayGames.getLeaderboardsClient(this) .submitScore(getString(R.string.leaderboard_id), 1337);
แนวทางปฏิบัติแนะนำคือการกำหนดรหัสลีดเดอร์บอร์ดในไฟล์ strings.xml
เพื่อให้เกมอ้างอิงลีดเดอร์บอร์ดตามรหัสทรัพยากรได้ เมื่อโทรเพื่อ
อัปเดตและโหลดคะแนนของผู้เล่น โปรดทำตามแนวทางปฏิบัติแนะนำเหล่านี้ด้วยเพื่อหลีกเลี่ยงการใช้โควต้า API เกิน
แสดงลีดเดอร์บอร์ด
หากต้องการแสดงลีดเดอร์บอร์ด ให้เรียกใช้
LeaderboardsClient.getLeaderboardIntent()
เพื่อรับ
Intent
เพื่อ
สร้างอินเทอร์เฟซผู้ใช้ลีดเดอร์บอร์ดเริ่มต้น จากนั้นเกมจะแสดง UI โดยเรียกใช้ startActivityForResult
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปอัปเดตคะแนนของผู้เล่น ใน
ข้อมูลโค้ด RC_LEADERBOARD_UI
คือจำนวนเต็มโดยพลการสำหรับรหัสคำขอ
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); } }); }
แม้ว่าจะไม่มีผลลัพธ์แสดง คุณก็ต้องใช้
startActivityForResult
เพื่อให้ API รับข้อมูลระบุตัวตนของแพ็กเกจที่เรียกใช้ได้ ตัวอย่าง UI ลีดเดอร์บอร์ดเริ่มต้นแสดงอยู่ด้านล่าง
