התקנה של חבילות Google ל-Unity

חבילות Google ל-Unity מופצות בשני פורמטים שונים:

  • חבילות נכסים:
    • יש לכם תוסף .unitypackage.
    • מתקינים את הספרייה Assets בפרויקט.
    • אפשר לייבא אותם ב-Unity 5 ואילך.
    • בדרך כלל כוללות חבילות תלויות.
  • חבילות של Unity Package Manager‏ (UPM):
    • יש לכם תוסף .tgz.
    • מתקינים את הספרייה Packages בפרויקט.
    • אפשר לייבא אותם ב-Unity מגרסה 2018.4 ואילך.
    • הפניה לחבילות תלויות שצריך להתקין בנפרד.

בדף Packages מופיעים קובצי .unitypackage העדכניים ביותר לכל החבילות הזמינות, וקובצי .tgz לחלק מהחבילות.

הדף Archive מכיל קובצי .unitypackage ו-.tgz לכל גרסאות החבילה.

בהמשך מפורטות הוראות להתקנה של שני סוגי החבילות, וגם הוראות להעברה מסוג אחד של חבילה לסוג השני.

אחרי שתתמצאו באפשרויות ההתקנה האלה, כדאי לעיין בהוראות הספציפיות למוצר של Firebase.

ייבוא חבילות באמצעות OpenUPM

אפשר להוסיף חבילות חיצוניות לפרויקט ב-Unity באמצעות המרשם של OpenUPM. ב-OpenUPM מתארחים הרבה חבילות פלאגין ו-SDK מועילים, כמו הפלאגין של Google Play Integrity, שעוזר להגן על האפליקציה מפני הונאות וניצול לרעה.

לדוגמה, כך מוסיפים את הפלאגין של Google Play Integrity באמצעות OpenUPM.

OpenUPM-CLI

אם OpenUPM CLI מותקן, אפשר להתקין את המרשם של OpenUPM באמצעות הפקודה הבאה:

openupm add com.google.play.integrity

OpenUPM

  1. פותחים את הגדרות מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity‏ Edit > Project Settings > Package Manager.

  2. מוסיפים את OpenUPM כמאגר ברמת ההיקף לחלון Package Manager:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
     com.google.play.common
     com.google.play.core
     com.google.play.integrity
    
  3. פותחים את תפריט מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity‏ Window (חלון) > Package Manager (מנהל החבילות).

  4. בתפריט הנפתח של היקף הניהול, בוחרים באפשרות My Registries.

  5. בוחרים את החבילה Google Play Integrity plugin for Unity מרשימת החבילות ולוחצים על Install.

ייבוא חבילות נכסים באמצעות קבצים מסוג .unitypackage

מייבאים את הקובץ .unitypackage על ידי בחירה באפשרות התפריט של Unity‏ Assets > Import package > Custom Package וייבוא כל הפריטים. הפעולה הזו מוסיפה את תוכן החבילה לפרויקט בתיקייה Assets.

ייבוא חבילות UPM באמצעות קובצי .tgz (גרסה 2018.4 ואילך)

מייבאים קבצים מסוג .tgz לפרויקט באחת מהשיטות הבאות:

manifest.json

  1. יוצרים תיקייה חדשה לצד התיקייה Packages של הפרויקט ומעניקים לה את השם GooglePackages.
  2. מעבירים את הקבצים של .tgz לתיקייה הזו.
  3. פותחים את הקובץ Packages/manifest.json בתיקיית הפרויקט ב-Unity באמצעות כלי לעריכת טקסט.
  4. מוסיפים רשומה לכל חבילה שרוצים להתקין, וממפים את שם החבילה למיקום בדיסק ביחס לקובץ Packages/manifest.json. חשוב לצרף את 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. מעבירים את התיקייה שחולצה לתיקייה GooglePackages.
  3. עורכים את קובץ 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...
      }
    }
    

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

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

    צילום מסך של חלון מנהל החבילות של Unity עם

  3. בוחרים את קובץ ה-tarball הרצוי בדפדפן הקבצים.

חלק מהגרסאות הישנות של Unity לא תומכות בהוספת קובצי tarball ישירות. במקרה כזה, תצטרכו:

  1. מבטלים את דחיסת הקובץ .tgz.
  2. לוחצים על הסמל + בפינה הימנית העליונה של החלון Package Manager ובוחרים באפשרות Add package from disk כדי לפתוח את דפדפן הקבצים.

    צילום מסך של חלון מנהל החבילות של Unity עם

  3. בוחרים את התיקייה שחולצה בסרגל הקבצים.

חשוב לייבא גם את קובצי ה-.tgz של יחסי התלות של החבילה. הם מופיעים בדף הארכיון בקטע של החבילה הרצויה.

לדוגמה, אם מתקינים את com.google.firebase.storage, צריך להתקין את קובצי .tgz האלה בסדר הבא:

  1. מנהל יחסי תלות חיצוניים (com.google.external-dependency-manager)
  2. Firebase Core (com.google.firebase.app)
  3. Firebase Auth (com.google.firebase.auth)
  4. Firebase Storage‏ (com.google.firebase.storage)

אם אתם מעדיפים להוסיף את כל הקבצים מסוג .tgz בבת אחת, בלי לדאוג לגבי הסדר, תוכלו לפעול לפי ההוראות שמפורטות בכרטיסייה manifest.json.

ניהול הגרסאות

אם אתם משתמשים בתוכנת בקרת גרסאות כדי לנהל את קובצי הפרויקט, מומלץ להוסיף את קובצי ה-.tgz הרלוונטיים לבקרת הגרסאות. אפשר לערוך באופן ידני את הקובץ manifest.json של הפרויקט (לפי ההוראות שלמעלה) ולהפנות לקובצי .tgz מקומיים באמצעות נתיבים יחסיים.

אם אתם משתמשים ב-git, מומלץ להשתמש ב-Git Large File Storage ‏ (LFS) כדי לנהל קבצים גדולים של .tgz.

מעבר מחבילות UPM לחבילות נכסים

במקרים מסוימים, כדאי להפסיק להשתמש ב-Unity Package Manager לניהול חבילות Google ולהתחיל להתקין חבילות בתיקיית Assets.

מוודאים שכל חבילות Google הוסרו מ-Unity Package Manager באחת מהשיטות הבאות:

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

  1. פותחים את החלון Package Manager ב-Unity.
  2. בוחרים באפשרות In Project בתפריט הנפתח בפינה הימנית העליונה.

    צילום מסך של חלון מנהל החבילות של Unity עם

  3. מקלידים com.google בסרגל החיפוש כדי לסנן חבילות של Google.

    צילום מסך של חלון מנהל החבילות של Unity עם

  4. לוחצים על כל שם של חבילה ואז על Remove.

manifest.json

  1. פותחים את הקובץ Packages/manifest.json בתיקיית הפרויקט ב-Unity באמצעות כלי לעריכת טקסט.
  2. בודקים אם יש חבילות של Google בקטע 'יחסי תלות'. שם החבילה צריך להתחיל ב-'com.google', למשל 'com.google.firebase.app'.
  3. מוחקים את השורות האלה ושומרים את קובץ ה-JSON.
  4. כשהמיקוד יחזור ל-Unity, הקובץ manifest.json יטען מחדש והחבילות שנמחקו יוסרו.

אחרי שתבטלו את ההתקנה של החבילות האלה מ-Unity Package Manager, תוכלו להוריד ולייבא קובצי .unitypackage חלופיים מדף הארכיון.

מעבר מחבילות נכסים לחבילות UPM

במקרים מסוימים, כדאי לעבור מהתקנת מוצרים בעץ הנכסים להתקנה ולמעקב אחר מוצרים באמצעות Unity Package Manager.

אם אתם לא בטוחים באיזו שיטת התקנה אתם משתמשים, תוכלו לבדוק אם חבילות Google הרצויות מופיעות בכרטיסייה Project (פרויקט) בקטע Assets (נכסים) בממשק המשתמש של Unity.

כדי לעבור לחבילות UPM:

  1. מוודאים שכל החבילות של Google הוסרו מתיקיית הנכסים.

    • כדי להסיר חבילות של Firebase, פועלים לפי ההוראות האלה.
    • כדי להסיר את Play Plugins for Unity, מוחקים את התיקייה GooglePlayPlugins בקטע Assets.
  2. מתקינים חבילות באמצעות Unity Package Manager, כפי שמתואר למעלה.

הוראות העברה ספציפיות למוצר

הוראות ל-Firebase מפורטות כאן.