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