รางวัลพิเศษในเกม Unity

หัวข้อนี้อธิบายวิธีใช้รางวัลพิเศษของบริการเกมของ Play ในเกม Unity โดยจะถือว่าคุณได้ตั้งค่าโปรเจ็กต์และปลั๊กอิน Google Play Games สำหรับ Unity ไว้แล้ว ตามที่อธิบายไว้ในคู่มือเริ่มต้นใช้งาน

สร้างรางวัลพิเศษ

เมื่อตั้งค่าโปรเจ็กต์และปลั๊กอิน ให้สร้างรางวัลพิเศษใน Google Play Console แล้วอัปเดตปลั๊กอินด้วยทรัพยากร Android สำหรับรางวัลพิเศษ ดูรายละเอียดเกี่ยวกับการสร้างรางวัลพิเศษใน Play Console ได้ที่คู่มือรางวัลพิเศษ

เปิดเผยและปลดล็อกรางวัลพิเศษ

หากต้องการปลดล็อกรางวัลพิเศษ ให้ใช้เมธอด Social.ReportProgress โดยมีค่าความคืบหน้าเป็น 100.0f ดังนี้

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // unlock achievement (achievement ID "Cfjewijawiu_QA")
    Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
      // handle success or failure
    });

ตามลักษณะการทำงานที่คาดไว้ของ Social.ReportProgress ค่า 0.0f หมายความว่ามีการเปิดเผยรางวัลพิเศษ และความคืบหน้า 100.0f หมายความว่ามีการปลดล็อกรางวัลพิเศษ

หากต้องการเปิดเผยรางวัลพิเศษที่ซ่อนไว้ก่อนหน้านี้โดยไม่ต้องปลดล็อก ให้เรียกใช้ Social.ReportProgress โดยมีค่าเป็น 0.0f

เพิ่มค่ารางวัลพิเศษ

หากรางวัลพิเศษเป็นแบบเพิ่มค่าสะสม การติดตั้งใช้งาน Social.ReportProgress ใน Play Games จะพยายามปฏิบัติตามลักษณะการทำงานที่คาดไว้ตาม Social API ของ Unity อย่างไรก็ตาม ลักษณะการทำงานอาจไม่เหมือนกัน ดังนั้นเราขอแนะนำว่าอย่าใช้ Social.ReportProgress สำหรับรางวัลพิเศษที่เป็นแบบเพิ่มค่าสะสม แต่ให้ใช้เมธอด PlayGamesPlatform.IncrementAchievement ซึ่งเป็นส่วนขยายของ Play Games แทน

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
    PlayGamesPlatform.Instance.IncrementAchievement(
        "Cfjewijawiu_QA", 5, (bool success) => {
            // handle success or failure
    });

แสดง UI ของรางวัลพิเศษ

หากต้องการแสดง UI ในตัวสำหรับรางวัลพิเศษทั้งหมด ให้เรียก Social.ShowAchievementsUI

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // show achievements UI
    Social.ShowAchievementsUI();