בעזרת 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
במסוף Firebase, נכנסים אל Databases & Storage > Storage.
אם הפרויקט שלכם עדיין לא בתוכנית התמחור Blaze בתשלום לפי שימוש, תתבקשו לשדרג את הפרויקט.
לוחצים על שנתחיל?.
בוחרים מיקום לקטגוריית ברירת המחדל.
קטגוריות ב-
, ב-US-CENTRAL1 וב-US-EAST1 יכולות לנצל את התוכנית Always Free של Google Cloud Storage. קטגוריות בכל המיקומים האחרים כפופות לתמחור ולשימוש של Google Cloud Storage.US-WEST1אם רוצים, אפשר בהמשך ליצור כמה קטגוריות, שלכל אחת מהן יש מיקום משלה.
מגדירים את Firebase Security Rules לקטגוריית ברירת המחדל. במהלך הפיתוח, כדאי להגדיר את הכללים לגישה ציבורית.
לוחצים על סיום.
עכשיו אפשר לראות את הקטגוריה במסוף 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
הגדרה מתקדמת
יש כמה תרחישים לדוגמה שבהם נדרשת הגדרה נוספת:
- שימוש בקטגוריות של Cloud Storage במספר אזורים גיאוגרפיים
- שימוש בקטגוריות של 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, שכלול ב-SDK של Google Cloud:
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");
השלבים הבאים
הכנות להשקת האפליקציה:
- מגדירים התראות לגבי תקציב לפרויקט במסוף Google Cloud.
- כדי לקבל תמונה כוללת של השימוש בפרויקט בכמה שירותי Firebase, עוקבים אחרי לוח הבקרה Usage and billing במסוף Firebase. אפשר גם להיכנס ללוח הבקרה Usage של Cloud Storage כדי לקבל נתוני שימוש מפורטים יותר.
- עיינו ברשימת המשימות להשקה של Firebase.