כשמשלבים את העברת הנכסים, משחקי Unity יכולים לגשת לחבילות הנכסים באמצעות Addressables או AssetBundles. Addressables הוא הפתרון החדש והמומלץ יותר להעברת נכסים למשחקים שפותחו באמצעות Unity בגרסה 2019.4 ואילך, ואילו AssetBundles מספק תמיכה בחבילות נכסים ב-Unity בגרסאות 2017.4 ו-2018.4.
Unity Addressables
במשחקים שפותחו באמצעות Unity 2019.4 ואילך, צריך להשתמש ב-Addressables כדי להעביר נכסים ב-Android. ב-Unity יש ממשק Play Asset Delivery (PAD) API לטיפול בחבילות נכסים ל-Android באמצעות Addressables. למידע נוסף על השימוש ב-Addressables:
- חבילת Addressables ל-Android
- מדריך PAD ל-Unity
- מאמרי העזרה של PAD API ל-Unity
שימוש בקובצי AssetBundle
במשחקים שפותחו באמצעות Unity 2017.4 ו-Unity 2018.4 אפשר להשתמש בקובצי AssetBundle להעברת נכסים ב-Android. קובצי AssetBundle של Unity מכילים נכסים שעברו סריאליזציה, שמנוע Unity יכול לטעון בזמן שהאפליקציה פועלת. הקבצים האלה ספציפיים לפלטפורמה (לדוגמה, מיועדים ל-Android) ואפשר להשתמש בהם בשילוב עם חבילות נכסים. בדרך כלל, קובץ AssetBundle אחד נארז בחבילת נכסים אחת, והחבילה משתמשת באותו שם כמו ה-AssetBundle. אם אתם רוצים יותר גמישות ביצירת חבילת נכסים, אתם יכולים להגדיר את חבילת הנכסים באמצעות ה-API.
בזמן הריצה, משתמשים במחלקה Play Asset Delivery for Unity כדי לאחזר AssetBundle שנארז בחבילת נכסים.
דרישות מוקדמות
- מגדירים את סביבת הפיתוח:
OpenUPM-CLI
אם התקנתם את OpenUPM CLI, אתם יכולים להתקין את מרשם OpenUPM באמצעות הפקודה הבאה:
openupm add com.google.play.assetdeliveryOpenUPM
פותחים את הגדרות מנהל החבילות דרך אפשרות התפריט של Unity Edit > Project Settings > Package Manager (עריכה > הגדרות הפרויקט > מנהל החבילות).
מוסיפים את 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.assetdelivery com.google.android.appbundleפותחים את התפריט של מנהל החבילות על ידי בחירה באפשרות Window > Package Manager בתפריט של Unity.
בתפריט הנפתח של היקף הניהול, בוחרים באפשרות My Registries.
בוחרים את החבילה Google Play Integrity plugin for Unity מרשימת החבילות ולוחצים על Install.
ייבוא מ-GitHub
מורידים את הגרסה האחרונה של
.unitypackageמ-GitHub.מייבאים את הקובץ
.unitypackage. לשם כך, בוחרים באפשרות Assets > Import package > Custom Package (נכסים > ייבוא חבילה > חבילה מותאמת אישית) בתפריט של Unity ומייבאים את כל הפריטים.
הגדרת AssetBundles באמצעות ממשק המשתמש
מגדירים כל AssetBundle בחבילת נכסים:
- בוחרים באפשרות Google > קובץ Android App Bundle > Asset Delivery Settings.
- כדי לבחור תיקיות שמכילות קובצי AssetBundle, לוחצים על Add Folder.
בכל חבילה, משנים את מצב ההעברה לבזמן ההתקנה, Fast Follow או על פי דרישה. מתקנים את השגיאות או התלויות וסוגרים את החלון.
בוחרים באפשרות Google > Build Android App Bundle כדי ליצור את קובץ Android App Bundle.
(אופציונלי) מגדירים את ה-App Bundle כך שיתמוך בפורמטים שונים של דחיסת טקסטורה.
הגדרת חבילות נכסים באמצעות ה-API
אתם יכולים להגדיר את העברת הנכסים באמצעות סקריפטים של עורך, שאפשר להריץ כחלק ממערכת build אוטומטית.
משתמשים במחלקה AssetPackConfig כדי להגדיר אילו נכסים לכלול ב-build של קובץ Android App Bundle, וגם את מצב ההעברה של הנכסים. חבילות הנכסים האלה לא צריכות להכיל AssetBundle.
public void ConfigureAssetPacks {
// Creates an AssetPackConfig with a single asset pack, named
// examplePackName, containing all the files in path/to/exampleFolder.
var assetPackConfig = new AssetPackConfig();
assetPackConfig.AddAssetsFolder("examplePackName",
"path/to/exampleFolder",
AssetPackDeliveryMode.OnDemand);
// Configures the build system to use the newly created assetPackConfig when
// calling Google > Build and Run or Google > Build Android App Bundle.
AssetPackConfigSerializer.SaveConfig(assetPackConfig);
// Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
BuildBundle(new buildPlayerOptions(), assetPackConfig);
}
אתם יכולים גם להשתמש ב-method הסטטי BuildBundle בכיתה Bundletool כדי ליצור קובץ Android App Bundle עם חבילות נכסים, בהינתן BuildPlayerOptions ו-AssetPackConfig.
ב-Codelab בנושא שימוש ב-Play Asset Delivery במשחקי Unity יש מדריך מפורט.
שילוב עם Play Asset Delivery Unity API
Play Asset Delivery Unity API מספק את הפונקציונליות לבקשת חבילות נכסים, לניהול הורדות ולגישה לנכסים. קודם צריך להוסיף את הפלאגין של Unity לפרויקט.
הפונקציות שבהן משתמשים ב-API תלויות באופן שבו יצרתם את חבילות הנכסים.
אם יצרתם חבילות נכסים באמצעות ממשק המשתמש של הפלאגין, בחרו באפשרות חבילות נכסים שהוגדרו באמצעות פלאגין.
אם יצרתם חבילות נכסים באמצעות ה-API (או ממשק המשתמש של הפלאגין), בחרו באפשרות חבילות נכסים שהוגדרו באמצעות API.
השלבים הבאים
בודקים את העברת הנכסים באופן מקומי ומ-Google Play.