الإنجازات في ألعاب 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" الالتزام بالسلوك المتوقّع وفقًا لواجهة برمجة التطبيقات الاجتماعية في Unity، ولكن قد لا يكون السلوك مطابقًا، لذا ننصحك بعدم استخدام Social.ReportProgress للإنجازات التراكمية، بل استخدام طريقة PlayGamesPlatform.IncrementAchievement التي تمثّل إضافة في "ألعاب Play".

    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();