תחילת העבודה עם Cloud Storage ל-Unity

‫Cloud Storage for Firebase מאפשרת לכם להעלות ולשתף תוכן שנוצר על ידי משתמשים, כמו תמונות וסרטונים, וכך ליצור תוכן מדיה עשיר באפליקציות שלכם. הנתונים שלכם מאוחסנים בקטגוריה Google Cloud Storage – פתרון לאחסון אובייקטים בקנה מידה של אקסה-בייט עם זמינות גבוהה ויתירות גלובלית. Cloud Storage for Firebase מאפשרת להעלות את הקבצים האלה בצורה מאובטחת ישירות ממכשירים ניידים ומדפדפני אינטרנט, ומטפלת בקלות ברשתות לא יציבות.

לפני שמתחילים

לפני שתוכלו להשתמש ב-Cloud Storage, אתם צריכים:

  • רושמים את הפרויקט ב-Unity ומגדירים אותו לשימוש ב-Firebase.

    • אם הפרויקט שלכם ב-Unity כבר משתמש ב-Firebase, הוא כבר רשום ומותאם ל-Firebase.

    • אם אין לכם פרויקט Unity, אתם יכולים להוריד אפליקציה לדוגמה.

  • מוסיפים את Firebase Unity SDK (במיוחד את FirebaseStorage.unitypackage) לפרויקט Unity.

שימו לב שהוספת Firebase לפרויקט ב-Unity כוללת משימות שמתבצעות גם במסוף Firebase וגם בפרויקט הפתוח ב-Unity (לדוגמה, מורידים קובצי תצורה של Firebase מהמסוף ואז מעבירים אותם לפרויקט ב-Unity).

בנוסף, חשוב לוודא שפרויקט Firebase שלכם מוגדר במינוי Blaze בתשלום לפי שימוש, שנדרש לשימוש ב-Cloud Storage for Firebase. אם אתם חדשים ב-Firebase וב-Google Cloud, כדאי לבדוק אם אתם זכאים לקרדיט של 300$לתקופת ניסיון בחינם.

יצירת קטגוריית Cloud Storage כברירת מחדל

  1. במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) >‏ Storage (אחסון).

    אם הפרויקט שלכם עדיין לא מוגדר במינוי Blaze בתשלום לפי שימוש, תתבקשו לשדרג את הפרויקט.

  2. לוחצים על שנתחיל?.

  3. בוחרים מיקום לקטגוריית ברירת המחדל.

  4. מגדירים את Firebase Security Rules לקטגוריית ברירת המחדל. במהלך הפיתוח, כדאי להגדיר את הכללים לגישה ציבורית.

  5. לוחצים על סיום.

עכשיו אפשר לראות את ה-bucket במסוף Firebase (עוברים אל Databases & Storage > Storage > הכרטיסייה Files). פורמט ברירת המחדל של שם הקטגוריה הוא PROJECT_ID.firebasestorage.app.

הגדרת גישה ציבורית

‫Cloud Storage for Firebase מספקת שפת כללים הצהרתית שמאפשרת לכם להגדיר איך הנתונים צריכים להיות מובנים, איך הם צריכים להיות באינדקס ומתי אפשר לקרוא את הנתונים ולכתוב אותם. כברירת מחדל, הגישה לקריאה ולכתיבה אל Cloud Storage מוגבלת, כך שרק משתמשים מאומתים יכולים לקרוא או לכתוב נתונים. כדי להתחיל בלי להגדיר Authentication, אפשר להגדיר את הכללים לגישה ציבורית.

הפעולה הזו תגרום לכך שכל אחד יוכל לפתוח את Cloud Storage, גם אנשים שלא משתמשים באפליקציה שלכם, לכן חשוב להגביל שוב את Cloud Storage כשמגדירים אימות.

גישה לכיתה FirebaseStorage

‫Firebase.Storage.FirebaseStorage היא נקודת הכניסה ל-Cloud Storage Unity SDK.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

הכול מוכן ואפשר להתחיל להשתמש ב-Cloud Storage.

מה השלב הבא? איך יוצרים קובץ עזר מסוג Cloud Storage

הגדרה מתקדמת

יש כמה תרחישי שימוש שדורשים הגדרה נוספת:

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

תרחיש השימוש השני שימושי אם יש לכם נתונים עם דפוסי גישה שונים. לדוגמה: אתם יכולים להגדיר באקט רב-אזורי או אזורי לאחסון תמונות או תוכן אחר שמתבצעת אליו גישה לעיתים קרובות, ובאקט nearline או coldline לאחסון גיבויים של משתמשים או תוכן אחר שמתבצעת אליו גישה לעיתים רחוקות.

בכל אחד ממקרי השימוש האלה, כדאי להשתמש בכמה דלייםCloud Storage.

מקרה השימוש השלישי שימושי אם אתם מפתחים אפליקציה, כמו Google Drive, שמאפשרת למשתמשים להיות מחוברים לכמה חשבונות (למשל, חשבון אישי וחשבון של מקום עבודה). אתם יכולים להשתמש במופע מותאם אישית של אפליקציית Firebase כדי לאמת כל חשבון נוסף.

שימוש בכמה קטגוריות Cloud Storage

אם רוצים להשתמש בCloud Storage קטגוריה שונה מזו שמוגדרת כברירת מחדל כמו שמוסבר למעלה, או להשתמש בכמה Cloud Storage קטגוריות באפליקציה אחת, אפשר ליצור מופע של FirebaseStorage שמפנה לקטגוריה בהתאמה אישית:

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");

עבודה עם קטגוריות מיובאות

כשמייבאים באקט קיים של Cloud Storage ל-Firebase, צריך לתת ל-Firebase גישה לקבצים האלה באמצעות הכלי gsutil, שכלול ב-Google Cloud SDK:

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

אפשר למצוא את מספר הפרויקט כמו שמתואר במאמר המבוא לפרויקטים ב-Firebase.

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

שימוש באפליקציית Firebase בהתאמה אישית

אם אתם בונים אפליקציה מורכבת יותר באמצעות FirebaseApp מותאם אישית, אתם יכולים ליצור מופע של FirebaseStorage שמאותחל עם האפליקציה הזו:

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

השלבים הבאים