หลังจากเลิกใช้งาน API ของ Google Sign-In แล้ว เราจะนำ SDK v1 ของเกมออกในปี 2026 หลังจากเดือนกุมภาพันธ์ 2025 คุณจะเผยแพร่
เกมที่เพิ่งผสานรวมกับ SDK v1 ของ Games ใน Google Play ไม่ได้ เราขอแนะนำให้ใช้ SDK v2 ของ Games แทน
แม้ว่าเกมที่มีอยู่ซึ่งผสานรวมกับเกมเวอร์ชัน 1 ก่อนหน้าจะยังคงทำงานได้อีก 2-3 ปี
แต่เราขอแนะนำให้คุณย้ายข้อมูลไปยัง v2
ตั้งแต่เดือนมิถุนายน 2025 เป็นต้นไป
คู่มือนี้มีไว้สำหรับการใช้ SDK บริการเกมของ Play เวอร์ชัน 1 ดูข้อมูล
เกี่ยวกับ SDK เวอร์ชันล่าสุดได้ที่
เอกสารประกอบ v2
คู่มือนี้แสดงวิธีใช้ API รางวัลพิเศษในแอปพลิเคชัน Android
เพื่อปลดล็อกและแสดงรางวัลพิเศษในเกม คุณดู API ได้
ในแพ็กเกจ com.google.android.gms.games
และ com.google.android.gms.games.achievements
ก่อนเริ่มต้น
หากยังไม่ได้ดำเนินการ คุณอาจดูแนวคิดเกมเกี่ยวกับความสำเร็จเพื่อเป็นข้อมูลเพิ่มเติม
ก่อนเริ่มเขียนโค้ดโดยใช้ 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 ความสำเร็จเริ่มต้นแสดงอยู่ด้านล่าง
