الإنجازات في ألعاب Unity

يوضّح هذا الموضوع كيفية استخدام إنجازات "خدمات ألعاب Play" في ألعاب Unity. ويفترض هذا الدليل أنّك قد أعددت مشروعك وإضافة "ألعاب Google Play" في 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" الالتزام بالسلوك المتوقّع وفقًا لواجهة Social API في 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();