الإنجازات في ألعاب 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

زيادة إنجاز

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