אפשרויות התקנה נוספות של 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, עוברים אל Assets > Import Package > Custom Package (נכסים > ייבוא חבילה > חבילה מותאמת אישית).

  2. בחלון Import Unity Package, לוחצים על 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. בוחרים את קובץ ה-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. לוחצים על כל שם חבילה ואז על הסרה. חשוב להסיר את החבילה 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, כפי שמתואר למעלה בדף הזה.