אפשרויות התקנה נוספות של Unity

במקום להוריד קובץ .zip גדול שמכיל את כל קובצי .unitypackage בשביל .NET 3.X וגם .NET 4.X, אפשר להוריד חבילות בודדות מאתר Google APIs ל-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.

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

  1. בפרויקט הפתוח ב-Unity, עוברים אל Assets‏ > Import Package‏ > Custom Package.

  2. בחלון ייבוא של חבילת Unity לוחצים על ייבוא.

ייבוא חבילות של Firebase באמצעות מנהל החבילות של Unity

כשאתם מייבאים מוצרים של 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 לא תומכות בהוספת קובצי tarballs ישירות. במקרה כזה, תצטרכו:

  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 לייבוא.

כדי לעבור לחבילות של נכסים:

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