คู่มือนี้แสดงวิธีใช้ 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()
และการส่งผ่านกิจกรรมและ
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 รางวัลพิเศษเริ่มต้นแสดงอยู่ด้านล่าง
![](https://developers-dot-devsite-v2-prod.appspot.com/static/games/services/android/images/Achievements_Android.png?authuser=19&hl=th)