คู่มือนี้แสดงวิธีใช้ 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()
และส่งกิจกรรม
ปลดล็อกรางวัลพิเศษ
หากต้องการปลดล็อกรางวัลพิเศษ ให้เรียกใช้เมธอด
AchievementsClient.unlock()
และส่งรหัสรางวัลพิเศษ
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปจะปลดล็อกรางวัลได้
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
หากรางวัลพิเศษเป็นประเภทเพิ่มขึ้นเรื่อยๆ (กล่าวคือต้องทำหลายขั้นตอน
จึงจะปลดล็อกได้) ให้เรียกใช้ AchievementsClient.increment()
แทน
ข้อมูลโค้ดต่อไปนี้แสดงวิธีที่แอปจะเพิ่มความสำเร็จของผู้เล่นได้
PlayGames.getAchievementsClient(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() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
ตัวอย่าง UI ความสำเร็จเริ่มต้นแสดงอยู่ด้านล่าง
