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

بدلاً من تنزيل ملف .zip كبير يحتوي على جميع ملفات .unitypackage لكل من الإصدارين ‎3.X و‎4.X من .NET، يمكنك تنزيل حِزم فردية من موقع "واجهات Google API" على 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 Package Manager.

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

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

  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. 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 إضافة ملفات tarball مباشرةً. في هذه الحالة، عليك إجراء ما يلي:

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

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

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

للانتقال إلى حِزم مواد العرض، اتّبِع الخطوات التالية:

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

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

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

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

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

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

للانتقال إلى Unity Package Manager، اتّبِع الخطوات التالية:

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

    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"، كما هو موضّح أعلاه في هذه الصفحة.