Thành tích trong trò chơi Unity

Chủ đề này mô tả cách sử dụng thành tích trong Dịch vụ trò chơi của Play trong các trò chơi Unity. Hướng dẫn này giả định rằng bạn đã thiết lập dự án và trình bổ trợ Google Play Games cho Unity, như đã thảo luận trong Hướng dẫn bắt đầu sử dụng.

Tạo thành tích

Khi bạn thiết lập dự án và trình bổ trợ, hãy tạo thành tích trong Google Play Console, sau đó cập nhật trình bổ trợ bằng các tài nguyên Android cho mục thành tích. Để biết thông tin chi tiết về cách tạo thành tích trong Play Console, vui lòng xem hướng dẫn về thành tích.

Khám phá và mở khoá một thành tích

Để mở khoá một thành tích, hãy sử dụng phương thức Social.ReportProgress với giá trị tiến trình là 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
    });

Theo hành vi dự kiến của Social.ReportProgress, giá trị 0.0f có nghĩa là thành tích đã được tiết lộ và tiến trình đạt giá trị 100.0f có nghĩa là thành tích đã được mở khoá.

Để hiển thị một thành tích đã bị ẩn trước đó mà không cần mở khoá, hãy gọi Social.ReportProgress với giá trị 0.0f.

Tăng thành tích

Nếu thành tích gia tăng, việc triển khai Play Games của Social.ReportProgress sẽ cố tuân thủ hành vi dự kiến theo API xã hội của Unity. Tuy nhiên, hành vi này có thể không giống nhau, vì vậy bạn không nên sử dụng Social.ReportProgress cho thành tích gia tăng. Thay vào đó, hãy sử dụng phương thức PlayGamesPlatform.IncrementAchievement, là một tiện ích của 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
    });

Hiển thị giao diện người dùng của thành tích

Để hiển thị giao diện người dùng tích hợp sẵn cho tất cả các thành tích, hãy gọi Social.ShowAchievementsUI.

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