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

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

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

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

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

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

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

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

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

  • لا تخلط بين طرق الاستيراد في مشروع واحد. أي لا تستورِد منتجات Firebase باستخدام مسار حزمة مواد العرض ومسار أداة إدارة حِزم Unity.

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

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

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

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

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

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

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

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

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

    1. "مدير التبعيات الخارجية" (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. افتح نافذة Package Manager (مدير الحِزم) في Unity.
  2. انقر على الرمز + في أعلى يمين نافذة "مدير الحِزم" (Package Manager) واختَر Add package from tarball لفتح متصفّح الملفات.
  3. اختَر ملف tarball المطلوب في متصفّح الملفات.

لا تتيح بعض الإصدارات القديمة من Unity 2019 إضافة ملفات tarball مباشرةً. في هذه الحالة، عليك إجراء ما يلي:

  1. فكّ ضغط ملف .tgz.
  2. انقر على الرمز + في أعلى يمين نافذة "مدير الحِزم" (Package Manager) واختَر 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 على النحو التالي:

    {
      "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 Package Manager إلى حِزم مواد العرض

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

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

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

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

    1. من قائمة Window (النافذة)، اختَر Package Manager (إدارة الحِزم). في نافذة Package Manager، تأكَّد من اختيار "Packages: In Project".
    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 في مجلد مشروع Unity. إذا كان الملف يحتوي على إدخالات تبدأ بـ com.google.firebase، يعني ذلك أنّ مشروعك يستخدم Unity Package Manager للاستيراد.

لنقل البيانات إلى Unity Package Manager:

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

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

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

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

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

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