หลังจากเลิกใช้งาน API ของ Google Sign-In แล้ว เราจะนำ SDK v1 ของเกมออกในปี 2026 หลังจากเดือนกุมภาพันธ์ 2025 คุณจะเผยแพร่
เกมที่เพิ่งผสานรวมกับ SDK v1 ของ Games ใน Google Play ไม่ได้ เราขอแนะนำให้ใช้ SDK v2 ของ Games แทน
แม้ว่าเกมที่มีอยู่ซึ่งผสานรวมกับ v1 ก่อนหน้านี้จะยังทำงานได้อีก 2-3 ปี
แต่เราขอแนะนำให้คุณย้ายข้อมูลไปยัง v2
ตั้งแต่เดือนมิถุนายน 2025 เป็นต้นไป
คู่มือนี้มีไว้สำหรับการใช้ SDK บริการเกมของ Play v1 ดูข้อมูล
เกี่ยวกับ SDK เวอร์ชันล่าสุดได้ที่
เอกสารประกอบ v2
คู่มือนี้จะแสดงวิธีใช้ API รางวัลพิเศษในแอปพลิเคชัน Android
เพื่อปลดล็อกและแสดงรางวัลพิเศษในเกม คุณจะพบ API ได้
ในแพ็กเกจ com.google.android.gms.games
และ com.google.android.gms.games.achievements
ก่อนเริ่มต้น
หากยังไม่ได้ดำเนินการ คุณอาจดูแนวคิดเกี่ยวกับเกมความสำเร็จเพื่อเป็นข้อมูลเพิ่มเติม
ก่อนเริ่มเขียนโค้ดโดยใช้ API ความสำเร็จ ให้ทำดังนี้
- ทำตามวิธีการติดตั้งและตั้งค่าแอปเพื่อใช้บริการเกมของ Google Play ในคู่มือตั้งค่า SDK บริการ Google Play
- กำหนดรางวัลพิเศษที่คุณต้องการให้เกมปลดล็อกหรือแสดงโดย ทำตามวิธีการในคู่มือ Google Play Console
- ดาวน์โหลดและตรวจสอบตัวอย่างโค้ดรางวัลพิเศษในหน้าตัวอย่าง Android
- ทำความคุ้นเคยกับคำแนะนำที่อธิบายไว้ในรายการตรวจสอบคุณภาพ
ดาวน์โหลดไคลเอ็นต์รางวัลพิเศษ
หากต้องการเริ่มใช้ Achievements API เกมของคุณต้องได้รับออบเจ็กต์ AchievementsClient ก่อน คุณทำได้โดยการเรียกใช้เมธอด
Games.getAchievementClient() และส่งกิจกรรมและ
GoogleSignInAccount สำหรับผู้เล่นปัจจุบัน ดูวิธีดึงข้อมูลบัญชีผู้เล่นได้ที่การลงชื่อเข้าใช้ในเกม Android
ปลดล็อกรางวัลพิเศษ
หากต้องการปลดล็อกรางวัลพิเศษ ให้เรียกใช้เมธอด AchievementsClient.unlock() และ
ส่งรหัสรางวัลพิเศษ
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปของคุณปลดล็อกรางวัล
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.unlock(getString(R.string.my_achievement_id));หากรางวัลพิเศษเป็นประเภทเพิ่มขึ้นเรื่อยๆ (กล่าวคือ ต้องทำหลายขั้นตอนเพื่อ
ปลดล็อก) ให้เรียกใช้ AchievementsClient.increment() แทน
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปจะเพิ่มความสำเร็จของผู้เล่นได้
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.increment(getString(R.string.my_achievement_id), 1);คุณไม่จำเป็นต้องเขียนโค้ดเพิ่มเติมเพื่อปลดล็อกรางวัลพิเศษ เนื่องจากบริการเกมของ Google Play จะปลดล็อกรางวัลพิเศษโดยอัตโนมัติเมื่อถึงจำนวนขั้นตอนที่กำหนด
แนวทางปฏิบัติที่ดีคือการกำหนดรหัสรางวัลพิเศษในไฟล์ strings.xml เพื่อให้เกมอ้างอิงรางวัลพิเศษตามรหัสทรัพยากรได้ เมื่อทำการเรียกเพื่ออัปเดตและโหลดความสำเร็จ โปรดทำตามแนวทางปฏิบัติแนะนำเหล่านี้ด้วยเพื่อหลีกเลี่ยงการใช้โควต้า API เกิน
แสดงรางวัลพิเศษ
หากต้องการแสดงรางวัลพิเศษของผู้เล่น ให้เรียก AchievementsClient.getAchievementsIntent()
เพื่อรับ Intent เพื่อสร้าง
อินเทอร์เฟซผู้ใช้รางวัลพิเศษเริ่มต้น จากนั้นเกมจะแสดง UI ได้โดยเรียกใช้
startActivityForResult
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปจะแสดงอินเทอร์เฟซผู้ใช้ความสำเร็จเริ่มต้นได้
ในข้อมูลโค้ด RC_ACHIEVEMENT_UI คือจำนวนเต็มโดยพลการที่เกมใช้เป็นรหัสคำขอ
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
ตัวอย่าง UI ความสำเร็จเริ่มต้นแสดงอยู่ด้านล่าง