دمج مواد العرض (Unity)

عند دمج ميزة "عرض المواد"، يمكن لألعاب Unity الوصول إلى حِزم مواد العرض باستخدام Addressables أو AssetBundles. ‫Addressables هو الحل الأحدث والمقترَح لعرض مواد العرض في الألعاب المصمَّمة باستخدام الإصدار 2019.4 من Unity أو الإصدارات الأحدث، بينما يوفّر AssetBundles إمكانية استخدام حِزم مواد العرض في الإصدارين 2017.4 و2018.4 من Unity.

Unity Addressables

يجب أن تستخدم الألعاب التي تم إنشاؤها باستخدام الإصدار 2019.4 من Unity أو إصدار أحدث Addressables لعرض مواد العرض على Android. توفّر منصة Unity واجهة برمجة تطبيقات لميزة "عرض المواد في Play" (PAD) للتعامل مع حِزم مواد عرض Android باستخدام نظام Addressables. للحصول على معلومات حول استخدام Addressables، يُرجى الاطّلاع على ما يلي:

استخدام ملفات AssetBundle

يمكن للألعاب التي تم إنشاؤها باستخدام الإصدارين 2017.4 و2018.4 من Unity استخدام ملفات AssetBundle لعرض مواد العرض على Android. تحتوي ملفات AssetBundle في Unity على مواد عرض متسلسلة يمكن تحميلها من خلال محرّك Unity أثناء تشغيل التطبيق. هذه الملفات خاصة بالنظام الأساسي (على سبيل المثال، تم إنشاؤها لنظام التشغيل Android) ويمكن استخدامها مع حِزم مواد العرض. في أغلب الأحيان، يتم تجميع ملف AssetBundle واحد في حزمة مواد عرض واحدة، مع استخدام الحزمة للاسم نفسه المستخدَم في AssetBundle. إذا أردت المزيد من المرونة في إنشاء حزمة مواد عرض، يمكنك ضبط حزمة مواد العرض باستخدام واجهة برمجة التطبيقات.

أثناء التشغيل، استخدِم فئة عرض المواد في Play لمنصة Unity لاسترداد حزمة مواد عرض مُجمَّعة في حزمة مواد عرض.

المتطلبات الأساسية

  1. إعداد بيئة التطوير:

OpenUPM-CLI

إذا كان لديك OpenUPM CLI مثبّتًا، يمكنك تثبيت سجلّ OpenUPM باستخدام الأمر التالي:

openupm add com.google.play.assetdelivery

OpenUPM

  1. افتح إعدادات مدير الحِزم (package manager settings) من خلال تحديد خيار قائمة Unity تعديل (Edit) > إعدادات المشروع (Project Settings) > مدير الحِزم (Package Manager).

  2. أضِف OpenUPM كسجلّ محدد النطاق إلى نافذة Package Manager:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.assetdelivery
      com.google.android.appbundle
    
  3. افتح قائمة إدارة الحِزم من خلال النقر على خيار قائمة Unity‏ Window > Package Manager.

  4. اضبط القائمة المنسدلة لنطاق المدير لاختيار سجلّاتي.

  5. اختَر حزمة المكوّن الإضافي Google Play Integrity في Unity من قائمة الحزم، ثم انقر على تثبيت.

الاستيراد من GitHub

  1. نزِّل أحدث إصدار من .unitypackage من GitHub.

  2. استورِد ملف .unitypackage من خلال تحديد خيار قائمة Unity مواد العرض > استيراد حزمة > حزمة مخصّصة واستيراد جميع العناصر.

  1. إنشاء حِزم مواد عرض في Unity

ضبط حِزم AssetBundles باستخدام واجهة المستخدم

  1. اضبط كل AssetBundle في حزمة مواد عرض:

    1. اختَر Google > مجموعة حزمات تطبيق Android‏ > إعدادات عرض المواد.
    2. لاختيار المجلدات التي تحتوي مباشرةً على ملفات AssetBundle، انقر على إضافة مجلد.

    زر "إضافة مجلد" في إعدادات "عرض المواد" في Unity

  2. لكل حزمة، غيِّر وضع التسليم إلى وقت التثبيت أو المتابعة السريعة أو عند الطلب. أصلِح أي أخطاء أو تبعيات وأغلِق النافذة.

    أداة اختيار وضع عرض مواد العرض لكل حزمة في Unity

  3. اختَر Google > إنشاء مجموعة حزمات تطبيق Android لإنشاء مجموعة حزمات التطبيق.

  4. (اختياري) يمكنك ضبط حِزمة تطبيقك لتتوافق مع تنسيقات ضغط الزخرفة المختلفة.

ضبط حزم مواد العرض باستخدام واجهة برمجة التطبيقات

يمكنك ضبط عملية تسليم مواد العرض من خلال نصوص المحرّر البرمجية التي يمكن تشغيلها كجزء من نظام تصميم مبرمَج.

استخدِم الفئة AssetPackConfig لتحديد مواد العرض التي سيتم تضمينها في إصدار مجموعة حزمات تطبيق Android، بالإضافة إلى وضع عرض مواد العرض. لا تحتاج حزم مواد العرض هذه إلى تضمين AssetBundle.

public void ConfigureAssetPacks {
   // Creates an AssetPackConfig with a single asset pack, named
   // examplePackName, containing all the files in path/to/exampleFolder.
   var assetPackConfig = new AssetPackConfig();
   assetPackConfig.AddAssetsFolder("examplePackName",
                                   "path/to/exampleFolder",
                                   AssetPackDeliveryMode.OnDemand);

   // Configures the build system to use the newly created assetPackConfig when
   // calling Google > Build and Run or Google > Build Android App Bundle.
   AssetPackConfigSerializer.SaveConfig(assetPackConfig);

   // Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
   BuildBundle(new buildPlayerOptions(), assetPackConfig);
}

يمكنك أيضًا استخدام طريقة BuildBundle الثابتة في فئة Bundletool لإنشاء مجموعة حزمات تطبيق Android مع حزم مواد العرض، مع توفير BuildPlayerOptions و AssetPackConfig.

للحصول على برنامج تعليمي موجَّه، يمكنك الاطّلاع على الدرس التطبيقي حول الترميز لاستخدام ميزة "عرض المواد في Play" في ألعاب Unity.

الدمج مع واجهة برمجة التطبيقات Unity API لميزة "عرض المواد في Play"

توفّر واجهة عرض المواد في Play Unity API وظائف لطلب حِزم مواد العرض وإدارة عمليات التنزيل والوصول إلى مواد العرض. تأكَّد من إضافة المكوّن الإضافي Unity إلى مشروعك أولاً.

تعتمد الدوال التي تستخدمها في واجهة برمجة التطبيقات على طريقة إنشاء حِزم مواد العرض.

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

إذا أنشأت حِزم مواد عرض باستخدام واجهة برمجة التطبيقات (أو واجهة مستخدم المكوّن الإضافي)، فاختَر حِزم مواد العرض التي تم ضبطها من خلال واجهة برمجة التطبيقات.

الخطوات التالية

اختبِر ميزة "عرض المواد" محليًا ومن Google Play.