دستاوردهای بازی های یونیتی

این مبحث نحوه استفاده از دستاوردهای سرویس‌های بازی‌های Play در بازی‌های Unity را شرح می‌دهد. فرض بر این است که شما پروژه خود و افزونه Google Play Games را برای Unity، همانطور که در راهنمای شروع به کار بحث شده است، راه‌اندازی کرده‌اید.

یک دستاورد ایجاد کنید

وقتی پروژه و افزونه خود را راه‌اندازی می‌کنید، دستاوردها را در کنسول گوگل پلی ایجاد کنید و سپس افزونه را با منابع اندروید برای دستاوردهای خود به‌روزرسانی کنید. برای جزئیات بیشتر در مورد ایجاد دستاوردها در کنسول پلی، به راهنمای دستاوردها مراجعه کنید.

یک دستاورد را آشکار و آزاد کنید

برای باز کردن قفل یک دستاورد، از متد Social.ReportProgress با مقدار پیشرفت ۱۰۰.۰f استفاده کنید:

    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 فراخوانی کنید.

افزایش یک دستاورد

اگر دستاورد افزایشی باشد، پیاده‌سازی Play Games از Social.ReportProgress سعی می‌کند مطابق با 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
    });

نمایش رابط کاربری دستاوردها

برای نمایش رابط کاربری داخلی همه دستاوردها، Social.ShowAchievementsUI را فراخوانی کنید.

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