คู่มือนี้แสดงวิธีใช้ 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 รางวัลพิเศษเริ่มต้นแสดงอยู่ด้านล่าง
![](https://developer.android.com/static/images/games/pgs/achievements_android.png?hl=th)