بدء استخدام المكوّن الإضافي "ألعاب Google Play" في Unity

يصف هذا الموضوع كيفية إعداد مشروع Unity لاستخدام مكوّن "ألعاب Google Play" الإضافي لنظام Unity المهام إعداد المشروع، واختيار منصة اجتماعية، وإعداد تسجيل الدخول إلى المشغّل.

قبل البدء

تثبيت المكوّن الإضافي

  1. احصل على المكون الإضافي باستخدام أحد الخيارات التالية:

  2. ابحث عن الملف unitypackage في الدليل current-build. هذا الملف هو المكون الإضافي. على سبيل المثال، يجب أن يبدو مشابهًا لما يلي:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. افتح مشروع لعبتك في Unity.

  4. استورِد ملف unitypackage إلى مواد عرض مشروعك من خلال النقر على مواد العرض > استيراد الحزمة > عنصر القائمة "حزمة مخصَّصة".

  5. تأكَّد من ضبط نظام التصميم الأساسي الحالي على Android.

    1. في القائمة الرئيسية، انقر على ملف > إنشاء الإعدادات....

    2. اختَر Android وانقر على تبديل النظام الأساسي.

    3. يُفترض أن يكون هناك عنصر قائمة جديد ضمن النافذة > ألعاب Google Play في حال حذف غير متوفّرة، يُرجى إعادة تحميل مواد العرض بالنقر على مواد العرض >. إعادة التحميل ثم حاول إعداد منصة الإصدار مرة أخرى.

الحصول على موارد Android من Play Console

كل إنجاز وقائمة الصدارة وحدث تنشئه في تتضمّن أداة Play Console مرجع Android الذي تستخدمه عند إعداد مشروع Unity

  1. الحصول على موارد Android للعبتك

    1. في Play Console، افتح مشروع "خدمات ألعاب Play" لتطبيق لعبتك.

    2. انقر على علامة التبويب الإنجازات، ثم انقر على الحصول على الموارد.

    3. في نافذة تصدير الموارد، انقر على علامة التبويب Android.

    4. اختَر محتوى XML وانسخه.

إعداد مشروع Unity

  1. أضِف موارد Android إلى مشروع Unity.

    1. في Unity، انقر على ** نافذة >. ألعاب Google Play > الإعداد... > إعداد Android **.

    2. أكمِل العناصر التالية في نوافذ الإعداد:

    3. دليل حفظ الثوابت: مجلد ملف الثوابت.

    4. اسم فئة العناصر الثابتة: اسم فئة C# المطلوب إنشاؤها، بما في ذلك مساحة الاسم.

    5. تعريف الموارد: ألصِق بيانات موارد Android من Play Console هنا.

    6. معرِّف عميل الويب: معرِّف العميل لتطبيق الويب المرتبط. هذا فقط إذا كانت لديك واجهة خلفية مستنِدة إلى الويب للعبتك وتحتاج إلى رمز مصادقة خادم مقابل رمز الدخول عن طريق خادم الخلفية، أو إذا كنت بحاجة إلى رمز معرف مميز للمشغل لإنشاء لطلبات البيانات من واجهة برمجة التطبيقات التي لا تتعلّق بالألعاب.

    7. انقر على إعداد. يؤدي هذا إلى تكوين لعبتك باستخدام معرف العميل فئة C# تحتوي على ثوابت لكل نظام من Android الموارد.

إعداد Android

اضبط مسار تثبيت حزمة تطوير البرامج (SDK) لنظام التشغيل Android في Unity. يقع هذا في قائمة الإعدادات المفضّلة ضمن القسم أدوات خارجية.

لضبط لعبتك على Unity لتشغيلها من خلال "ألعاب Google Play" على أجهزة Android، عليك أولاً افتح مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android وتأكَّد من تنزيل ما يلي. حزم. بناءً على ما إذا كنت تستخدم "أداة إدارة حِزم SDK" من "استوديو Android"، اتّبِع الخطوات التالية: أو عند استخدام أداة إدارة حِزم SDK المستقلة، قد يكون اسم المكوّنات مختلفًا. - خدمات Google Play - مكتبة دعم Android - مستودع Maven المحلي لمكتبات الدعم (يُعرف أيضًا باسم "دعم Android" مستودع) - مستودع Google - الإصدار 6.0 من نظام التشغيل Android (الإصدار 23 من واجهة برمجة التطبيقات) (لا يؤثر ذلك في الإصدار الأدنى من حزمة تطوير البرامج (SDK)).

بعد ذلك، اضبط اسم حزمة اللعبة. لإجراء ذلك، انقر على ملف > طوِّر الإعدادات، واختَر نظام التشغيل Android وانقر على إعدادات المشغّل ستظهر نافذة "إعدادات مشغّل" Unity. في هذه النافذة، ابحث عن الحزمة المعرّف ضمن إعدادات أخرى. يُرجى إدخال اسم الحزمة هناك. (على سبيل المثال com.example.my.awesome.game).

لتسجيل الدخول إلى "خدمات ألعاب Play"، يجب توقيع ملف APK، فتأكد من توقيعك باستخدام الشهادة الصحيحة، أي تلك التي تتوافق مع شهادة SHA1 بصمة الإصبع التي أدخلتها في Play Console أثناء الإعداد.

بعد ذلك، انقر على عنصر القائمة نافذة |ألعاب Google Play|الإعداد - إعداد Android. سيؤدي ذلك إلى عرض شاشة إعداد Android.

أدخِل اسم فئة "الثابت". هذا هو اسم الفئة المؤهلة بالكامل التي سيتم تحديثها (أو إنشاؤها) والتي تتضمن أرقام تعريف موارد اللعبة. تنسيق الاسم هو <namespace>.<classname>. على سبيل المثال: AwesomeGame.GPGSIds

ألصِق بيانات تعريف المورد. هذه بيانات XML من متجر Google Play Play Console التي تحتوي على معرّفات الموارد ومعرّف التطبيق لأجهزة Android.

يمكن العثور على هذه البيانات في Google Play Console من خلال النقر على "الحصول على الموارد" في أي من صفحات الموارد (مثل "الإنجازات" أو "لوحات الصدارة") ثم النقر على Android.

بعد لصق البيانات في مربّع النص، انقر على زر إعداد.

ملاحظة: إذا كنت تستخدم تطبيق ويب أو خادم خلفية مع لعبتك، يمكنك ربط تطبيق الويب باللعبة لإتاحة الحصول على المعرف و/أو عنوان البريد الإلكتروني. للقيام بذلك، يمكنك ربط تطبيق ويب اللعبة في Google Play Console، وأدخل معرّف العميل تطبيق الويب في مربع حوار الإعداد.

تعليمات إضافية حول إنشاء Android على Windows

إذا كنت تستخدم نظام التشغيل Windows، يجب التأكد من تثبيت Java SDK التي يمكن الوصول إليها بواسطة Unity. ولإجراء ذلك:

  1. ضبط متغيّر بيئة JAVA_Home على مسار تثبيت حزمة تطوير البرامج (SDK) بلغة Java (على سبيل المثال، C:\Program Files\Java\jdk1.7.0_45).
  2. أضِف المجلد bin الخاص بحزمة تطوير البرامج (SDK) بلغة Java إلى متغيّر البيئة PATH. (على سبيل المثال، C:\Program Files\Java\jdk1.7.0_45\bin)
  3. إعادة التشغيل.

كيفية تعديل متغيرات البيئة: في Windows 2000/XP/Vista/7، انقر بزر الماوس الأيمن جهاز الكمبيوتر، ثم الخصائص، ثم إلى خصائص النظام المتقدمة (أو خصائص النظام ثم انقر على علامة التبويب الإعدادات المتقدمة)، ثم انقر على متغيّرات البيئة: على نظام التشغيل Windows 8، اضغط على Windows Key + W وابحث عن للمتغيّرات البيئية لمزيد من المعلومات، يُرجى الاطّلاع على المستندات لإصدار نظام التشغيل Windows الذي تستخدمه.

تشغيل المشروع

إذا كنت تعمل باستخدام عينة Smoketest، يجب أن تكون قادرًا على إنشاء وتشغيل المشروع في هذه المرحلة. ستظهر لك محاولة تسجيل الدخول تلقائيًا عند بدء تشغيل Smoketest.

للإنشاء والتشغيل على Android، انقر على ملف > إعدادات الإصدار، واختَر نظام التشغيل Android الأساسي، ثم انتقِل إلى النظام الأساسي ثم الإنشاء والتشغيل.

اختيار منصة تواصل اجتماعي

ينفِّذ المكوّن الإضافي "ألعاب Google Play" حزمة Unity الشبكات الاجتماعية، للتوافق مع الألعاب التي تستخدم هذه الواجهة عند الدمج مع الأساسية. مع ذلك، تكون بعض الميزات فريدة في "ألعاب Play" يتم تقديمها كإضافات للواجهة الاجتماعية القياسية التي توفرها Unity.

يمكن الوصول إلى طلبات البيانات العادية من واجهة برمجة التطبيقات من خلال الكائن Social.Active (الاجتماعية). وهو مرجع إلى واجهة ISocialPlatform. عنوان URL غير القياسي يمكن الوصول إلى إضافات ألعاب Google Play عن طريق بث الرسالة Social.Active إلى فئة PlayGamesPlatform، حيث يتم توضيح الطرق الإضافية المتوفرة.

استخدام المكوّن الإضافي بدون إلغاء منصة التواصل الاجتماعي التلقائية

عند الاتصال بـ PlayGamesPlatform.Activate، سيصبح تطبيق "ألعاب Google Play" هو والتنفيذ التلقائي لمنصات التواصل الاجتماعي، ما يعني أنّ الطلبات الثابتة لأساليب في Social وSocial.Active سيتم تنفيذهما من خلال "ألعاب Google Play". المكون الإضافي. وهذا هو السلوك المطلوب في معظم الألعاب التي تستخدم المكوّن الإضافي.

مع ذلك، إذا كنت تريد لأي سبب من الأسباب إبقاء طريقة التنفيذ التلقائية إمكانية الوصول إليها (على سبيل المثال، استخدامها لإرسال الإنجازات وقوائم الصدارة إلى منصة تواصل اجتماعي مختلفة)، فيمكنك استخدام المكون الإضافي لألعاب Google Play بدون تتجاوز القيمة الافتراضية. ولإجراء ذلك:

  1. عدم الاتصال بـ PlayGamesPlatform.Activate
  2. إذا كان Xyz هو اسم طريقة تريد استدعاؤها في الفئة Social، عليك إجراء ما يلي: عدم الاتصال بـ Social.Xyz. بدلاً من ذلك، يمكنك الاتصال بالرقم PlayGamesPlatform.Instance.Xyz
  3. لا تستخدِم Social.Active عند التفاعل مع "ألعاب Google Play". بدلاً من ذلك، استخدام PlayGamesPlatform.Instance.

وبهذه الطريقة، يمكنك أيضًا إرسال النتائج والإنجازات في الوقت نفسه إلى اثنين أو المزيد من منصات التواصل الاجتماعي:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

التحقّق من خدمة تسجيل الدخول

تتم محاولة الاتصال بـ "خدمات ألعاب Play" تلقائيًا باستخدام خدمة تسجيل الدخول عندما تكون لعبتك مفتوحة إذا كانت نجح الاتصال، ستعرض لعبتك طلبًا لتسجيل الدخول وأصبحت جاهزة لاستخدام المكوّن الإضافي "ألعاب Google Play" لنظام Unity.

إذا لم يسبق للمستخدم استخدام "ألعاب Google Play" على جهازه، يتم التقاطها تلقائيًا من خلال شاشة إعداد لمرة واحدة لإنشاء لعبة على "ألعاب Play" الحساب.

في طريقة Start من النص البرمجي، استمع إلى نتيجة محاولة تسجيل الدخول واسترجاع حالة المصادقة وإيقاف "ألعاب Play" ميزات الخدمات في حال عدم تسجيل المستخدم الدخول

    using GooglePlayGames;

    public void Start() {
      PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status) {
      if (status == SignInStatus.Success) {
        // Continue with Play Games Services
      } else {
        // Disable your integration with Play Games Services or show a login button
        // to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
      }
    }
}

رمز النتيجة هو تعداد يمكنك استخدامه لتحديد سبب تسجيل الدخول. إخفاقًا.

إذا كنت تفضّل استخدام منصة Unity الاجتماعية، يمكنك استخدام الرمز التالي:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

لا يمكنك إجراء أيّ طلبات بيانات من واجهة Google Play Games API إلا بعد الحصول على تأكيد بنجاح. التي يتم إرجاعها من Authenticate. ونتيجةً لذلك، نقترح أن تعرض الألعاب في وضع الاستعداد إلى أن يتم طلب معاودة الاتصال لضمان عدم تمكُّن المستخدمين من بدء التشغيل اللعبة إلى أن تكتمل المصادقة.

استرداد رموز مصادقة الخادم

للدخول إلى واجهات Google APIs على خادم ويب الخلفية نيابةً عن تحتاج إلى الحصول على رمز مصادقة من تطبيق العميل تمريره إلى تطبيق خادم الويب. يمكن بعد ذلك استبدال الرمز رمز دخول لإجراء اتصالات بواجهات برمجة التطبيقات المختلفة. للحصول على معلومات عن سير العمل، راجع تسجيل الدخول باستخدام حساب Google للمواقع الإلكترونية:

للحصول على رمز الدخول من جهة الخادم:

  1. اضبط معرِّف عميل الويب لتطبيق الويب المرتبط بلعبتك في Play Console.

  2. يمكنك الاتصال بـ "PlayGamesPlatform.Instance.RequestServerSideAccess" بعد أن يصبح اللاعب تمت مصادقتها للحصول على رمز الدخول من جهة الخادم.

  3. مرِّر هذا الرمز إلى تطبيق الخادم.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

إعداد الميزات وإضافتها