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