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

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

يوفّر الموقع ما يلي:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • يتم ربط التبعيات لكل ملف .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، استورِدها إلى مشروعك باستخدام إحدى الطريقتَين التاليتَين:

واجهة مستخدم Package Manager

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

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

  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 على النحو التالي:

    {
      "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. من قائمة النافذة ، اختَر Package Manager. في نافذة Package Manager، تأكَّد من اختيار "Packages: In Project".
    2. دوِّن إصدارات حِزم Firebase المستورَدة.
    3. انقر على اسم كل حزمة، ثم انقر على إزالة. احرص على إزالة حزمة External Dependency Manager (.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 وحزمة External Dependency Manager من مجلد Assets، باستخدام إحدى الطريقتَين التاليتَين.

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

    1. في مشروع Unity المفتوح، انتقِل إلى Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages.
    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، كما هو موضّح أعلاه في هذه الصفحة.