خيارات إضافية لتثبيت Unity

بدلاً من تنزيل ملف .zip كبير يحتوي على جميع .unitypackage الملفات لكل من ‎ .NET 3.X و‎ .NET 4.X، يمكنك تنزيل حِزم فردية من موقع Google APIs for Unity الإلكتروني.

يوفّر الموقع الإلكتروني ما يلي:

  • ملفات .unitypackage فردية بتنسيق ‎.NET 4.X لاستيرادها كحِزم مواد عرض
  • أرشيفات .tgz فردية لاستيرادها باستخدام "مدير حِزم Unity"

ويكون ذلك مفيدًا بشكلٍ خاص عندما يستخدم تطبيقك منتجًا واحدًا من Firebase، لأنّ ملفات .unitypackage الفردية تحتوي على جميع الاعتماديات المطلوبة، ويتم إدراج ملفات .tgz إلى جانب ملفات .tgz ذات الصلة التي تعتمد عليها.

توفّر هذه الصفحة تعليمات تتضمّن أداة Unity Package Manager، لذا ننصحك بالتعرّف على الأداة من خلال مستندات Unity.

استيراد حِزم Firebase كمواد عرض

عند استيراد منتجات Firebase من .unitypackage ملفات تم تنزيلها من موقع Google APIs for Unity الإلكتروني، عليك مراعاة ما يلي:

  • إذا كنت تستخدم منتجات متعددة من Firebase في مشروعك، عليك تنزيل جميع منتجات Firebase وترقيتها إلى الإصدار نفسه.

  • لا تَخلِط بين طُرق الاستيراد في مشروع واحد. وهذا يعني عدم استيراد منتجات Firebase باستخدام عملية حزمة مواد العرض واستخدام عملية "مدير حِزم Unity".

بعد التنزيل، اتّبِع الخطوات التالية لاستيراد البيانات:

  1. في مشروع Unity المفتوح، انتقِل إلى الأصول > استيراد حزمة > حزمة مخصّصة.

  2. في نافذة استيراد حِزمة Unity، انقر على استيراد.

استيراد حِزم Firebase باستخدام "مدير حِزم Unity"

عند استيراد منتجات Firebase من ملفات .tgz التي تم تنزيلها من أرشيف Google APIs for Unity، يجب أخذ ما يلي في الاعتبار:

  • لا تتوفّر هذه الطريقة إلا في الإصدار 2018.3 والإصدارات الأحدث.

  • إذا كنت تستخدم منتجات متعددة من Firebase في مشروعك، عليك تنزيل وترقية جميع منتجات Firebase إلى الإصدار نفسه.

  • لا تَخلِط بين طُرق الاستيراد في مشروع واحد. وهذا يعني عدم استيراد منتجات Firebase باستخدام عملية حزمة مواد العرض وعملية "مدير حِزم Unity" .

  • يتم ربط ملفات .tgz الخاصة بكل منتج بجانب ملفاته الخاصة .tgz. عليك تنزيل واستيراد ملف .tgz للمنتج وملفات .tgz التبعية بالترتيب الصحيح:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. منتجات Firebase المستخدَمة في مشروعك في حال استخدام Realtime Database أو Cloud Storage، عليك استيراد Authentication (com.google.firebase.auth) أولاً.

بعد التنزيل، يمكنك استيراد ملفات .tgz إلى مشروعك باستخدام إحدى الطرق التالية:

واجهة مستخدم "أداة إدارة الحِزم"

  1. افتح نافذة "مدير الحِزم" في Unity.
  2. انقر على الرمز + في أعلى يمين نافذة "مدير الحِزم" واختَر Add package from tarball لفتح متصفّح الملفات.
  3. اختَر حزمة tar المطلوبة في متصفّح الملفات.

لا تتيح بعض الإصدارات القديمة من Unity 2019 إضافة حِزم tar مباشرةً. وفي هذه الحالة، سوف تحتاج إلى:

  1. فكِّ ضغط ملف .tgz.
  2. انقر على رمز + في أعلى يمين نافذة "مدير الحِزم" ، ثم انقر على Add package from disk لفتح متصفّح الملفات.
  3. اختَر المجلد الذي تم استخراجه في متصفّح الملفات.

manifest.json

  1. أنشئ مجلدًا جديدًا بجانب مجلد Packages الخاص بمشروعك واسمه GooglePackages.
  2. ضَع ملفات .tgz في هذا المجلد.
  3. استخدِم محرِّر نصوص لفتح Packages/manifest.json ضمن مجلد مشروع Unity.
  4. أضِف إدخالًا لكل حزمة تريد استيرادها، مع ربط اسم الحزمة بالموقع على القرص. احرص على إلحاق file: بمسار الملف .tgz. على سبيل المثال، إذا كنت تستورد com.google.firebase.storage ومكوّناتmanifest.json التي تعتمد عليها، سيظهر manifest.json على النحو التالي:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. احفظ ملف manifest.json.

  6. عندما يستعيد Unity التركيز، ستتم إعادة تحميل manifest.json واستيراد الحِزم التي تمت إضافتها حديثًا.

لا تتيح بعض الإصدارات القديمة من Unity استخدام ملفات .tgz في manifest.json. في هذه الحالة، عليك إجراء ما يلي:

  1. فكِّ ضغط ملف .tgz.
  2. عدِّل manifest.json لاستخدام مسار المجلد الذي تم استخراجه بدلاً من ملف .tgz، على النحو التالي:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

نقل البيانات من "مدير حِزم Unity" إلى حِزم مواد العرض

في بعض الحالات، قد تحتاج إلى التبديل من استخدام "مدير حِزم Unity" لتتبُّع منتجات Firebase إلى استيراد المنتجات ضمن مجلد Assets.

إذا لم تكن متأكّدًا من طريقة الاستيراد التي تستخدمها، افتح الملف Packages/manifest.json في مجلّد project الخاص بمشروعك على Unity. إذا كان الملف يحتوي على إدخالات تبدأ بـ com.google.firebase، سيستخدم مشروعك Unity Package Manager للاستيراد.

لنقل البيانات إلى حِزم مواد العرض:

  1. دوِّن إصدارات حِزم Firebase الحالية في مشروعك وأزِلها.

    1. من القائمة نافذة، اختَر مدير الحزم. في نافذة مدير الحِزم، تأكَّد من اختيار "الحِزم: في المشروع".
    2. دوِّن إصدارات حزم Firebase التي تم استيرادها.
    3. انقر على اسم كل حزمة، ثم انقر على إزالة. احرص على إزالة حزمة "مدير التبعيات الخارجية" (.com.google.external-dependency-manager) بالإضافة إلى حِزم Firebase.
  2. نزِّل ملفات .unitypackage البديلة واستورِدها. ويكون أمامك خياران:

    • إذا كان بإمكانك الترقية إلى أحدث إصدار من كل حزمة، نزِّلملف zip لحزمة Firebase Unity SDK واستورِده كما هو موضّح في مقالة إضافة Firebase إلى مشروعك على Unity.
    • إذا كنت بحاجة إلى الاحتفاظ بإصدارات .unitypackage الحالية، يمكنك تنزيل واستيراد حِزم فردية كما هو موضّح أعلاه في هذه الصفحة.

نقل البيانات من حِزم مواد العرض إلى أداة Unity Package Manager

في بعض الحالات، قد تحتاج إلى التبديل من استيراد المنتجات ضمن مجلد Assets إلى استيراد المنتجات وتتبُّعها باستخدام Unity Package Manager.

إذا لم تكن متأكّدًا من طريقة الاستيراد التي تستخدمها، افتح الملف Packages/manifest.json في مجلّد project الخاص بمشروعك على Unity. إذا كان الملف يحتوي على إدخالات تبدأ بـ com.google.firebase، يعني ذلك أنّ مشروعك يستخدم حاليًا Unity Package Manager (مدير حزم Unity) للاستيراد.

لنقل البيانات إلى "مدير حِزم Unity":

  1. تأكَّد من إزالة جميع حِزم Firebase وحزمة "مدير التبعيات الخارجية" من المجلد Assets باستخدام أيّ من الطريقتَين التاليتَين:

    واجهة مستخدم EDM4U

    1. في مشروع Unity المفتوح، انتقِل إلى الأصول > أداة إدارة التبعيات الخارجية > أداة إدارة الإصدارات > إلغاء تثبيت الحِزم المُدارة.
    2. اختَر جميع حِزم Firebase و"مدير التبعيات الخارجية".
    3. انقر على إلغاء تثبيت الحزمة المحدّدة.

    الإزالة يدويًا

    باستخدام أدوات نظام الملفات، احذف يدويًا المجلدات التالية:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. استورِد الحِزم باستخدام Unity Package Manager كما هو موضّح أعلاه في هذه الصفحة.