אפשרויות התקנה נוספות של 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 site, חשוב לזכור את הדברים הבאים:

  • אם אתם משתמשים בכמה מוצרים של Firebase בפרויקט, אתם צריכים להוריד את כל המוצרים של Firebase ולשדרג אותם לאותה גרסה.

  • אל תשלבו שיטות ייבוא שונות בפרויקט אחד. כלומר, אל תייבאו מוצרי Firebase באמצעות תהליך העבודה של חבילת הנכסים וגם באמצעות תהליך העבודה של Unity Package Manager.

אחרי ההורדה, כדי לייבא:

  1. בפרויקט הפתוח ב-Unity, עוברים אל Assets (נכסים) > Import Package (ייבוא חבילה) > Custom Package (חבילה מותאמת אישית).

  2. בחלון Import Unity Package (ייבוא חבילת Unity), לוחצים על Import (ייבוא).

ייבוא חבילות 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 לפרויקט באחת מהשיטות הבאות:

ממשק משתמש של מנהל החבילות

  1. פותחים את חלון Package Manager (מנהל החבילות) ב-Unity.
  2. לוחצים על הסמל + בפינה הימנית העליונה של החלון Package Manager (ניהול חבילות) ובוחרים באפשרות Add package from tarball כדי לפתוח את דפדפן הקבצים.
  3. בדפדפן הקבצים, בוחרים את קובץ ה-tar.gz הרצוי.

חלק מהגרסאות הישנות של 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. בתפריט חלון, בוחרים באפשרות מנהל החבילות. בחלון 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. לוחצים על Uninstall Selected Package (הסרת החבילה שנבחרה).

    הסרה ידנית

    באמצעות כלים של מערכת הקבצים, מוחקים ידנית את התיקיות הבאות:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. מייבאים חבילות באמצעות Unity Package Manager, כמו שמתואר למעלה בדף הזה.