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

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

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

כדי להשתמש ב-Cloud Storage, צריך:

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

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

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

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

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

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

  1. בחלונית הניווט של מסוף Firebase, בוחרים באפשרות Storage ולוחצים על Get started.

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

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

    • הגדרת המיקום הזו היא מיקום ברירת המחדל של המשאבים ב-Google Cloud Platform ‏(GCP) בפרויקט. חשוב לשים לב שהמיקום הזה ישמש לשירותי GCP בפרויקט שלך. שמצריכות הגדרת מיקום, בפרט מסד הנתונים של Cloud Firestore אפליקציית App Engine (נדרש אם משתמשים ב-Cloud Scheduler).

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

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

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

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

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 הפניה.

הגדרה מתקדמת

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

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

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

בכל אחד מהתרחישים האלה מומלץ להשתמש במספר קטגוריות של Cloud Storage.

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

שימוש בכמה קטגוריות 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://<your-cloud-storage-bucket>

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

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

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

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

// 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");

השלבים הבאים