Cloud Storage for Firebase מאפשרת להעלות ולשתף תוכן שנוצר על ידי משתמשים, כמו תמונות וסרטונים, וכך להוסיף תוכן של מדיה עשירה לאפליקציות. הנתונים מאוחסנים בקטגוריה Google Cloud Storage – פתרון לאחסון אובייקטים בקנה מידה של אקסה-בייט עם זמינות גבוהה ויתירות גלובלית. באמצעות Cloud Storage for Firebase אפשר להעלות את הקבצים האלה באופן מאובטח ישירות ממכשירים ניידים ומדפדפני אינטרנט, מטפלים ברשתות בעייתיות עם קלה.
דרישות מוקדמות
- מתקינים את Firebase SDK.
- מוסיפים את האפליקציה לפרויקט Firebase במסוף Firebase.
יצירת קטגוריית Cloud Storage שמוגדרת כברירת מחדל
בחלונית הניווט של מסוף Firebase, לוחצים על Storage, ולוחצים על Get started (תחילת העבודה).
חשוב לקרוא את ההודעה לגבי אבטחת הנתונים של Cloud Storage באמצעות אבטחה כללים. במהלך הפיתוח, כדאי להגדיר את הכללים לגישה ציבורית.
צריך לבחור מיקום להגדרת ברירת המחדל קטגוריה Cloud Storage.
הגדרת המיקום הזו היא של הפרויקט שלך מיקום ברירת המחדל של משאב ב-Google Cloud Platform (GCP). חשוב לשים לב שהמיקום הזה ישמש לשירותי GCP בפרויקט שלך. שמצריכות הגדרת מיקום, בפרט מסד הנתונים של Cloud Firestore אפליקציית App Engine (נדרש אם משתמשים ב-Cloud Scheduler).
אם לא ניתן לבחור מיקום, סימן שלפרויקט כבר מוגדר מיקום ברירת מחדל של משאב GCP. הוא הוגדר במהלך יצירת הפרויקט או במהלך הגדרת שירות אחר שדורש הגדרת מיקום.
אם אתם משתמשים בתוכנית Blaze, אתם יכולים ליצור כמה קטגוריות, לכל אחת מהן מיקום משלה.
לוחצים על סיום.
הגדרת גישה ציבורית
Cloud Storage for Firebase: ניסוח של כללים הצהרתי שמאפשר כדי להגדיר את המבנה של הנתונים, איך צריך להוסיף אותם לאינדקס ומתי שאפשר לקרוא מהם את הנתונים ולכתוב בהם. כברירת מחדל, יש לכם גישת קריאה וכתיבה אל השירות Cloud Storage מוגבל, כך שרק משתמשים מאומתים יכולים לקרוא או לכתוב . כדי להתחיל בלי להגדיר את Authentication, אפשר להגדיר כללים לגישה ציבורית.
הפעולה הזו גורמת לכך ש-Cloud Storage יהיה פתוח לכולם, גם לאנשים שלא משתמשים באפליקציה. לכן חשוב להגביל שוב את Cloud Storage כשמגדירים אימות.
הוספת Cloud Storage לאפליקציה
שימוש ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות של Firebase.
- ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל קובץ > הוספת חבילות.
- כשמופיעה בקשה, מוסיפים את מאגר ה-SDK של מוצרי הפלטפורמה של Firebase של Apple:
- בוחרים את הספרייה Cloud Storage.
- מוסיפים את הדגל
-ObjC
לקטע סימונים של מקשר אחר בהגדרות ה-build של היעד. - בסיום, Xcode יתחיל לפתור את יחסי התלות ולהוריד אותם באופן אוטומטי ברקע.
https://github.com/firebase/firebase-ios-sdk.git
הגדר את Cloud Storage
צריך לאתחל את Firebase לפני שיוצרים או משתמשים בהפניה ל-Firebase. אם כבר עשיתם זאת לתכונה אחרת של Firebase, תוכלו לדלג על השלב הזה.
- מייבאים את המודול
FirebaseCore
ב-UIApplicationDelegate
, וגם את כל המודולים האחרים של Firebase שבהם משתמש הנציג של האפליקציה. לדוגמה, כדי להשתמש ב-Cloud Firestore וב-Authentication:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- הגדרה של
FirebaseApp
במופע משותף של האפליקציה שיטתapplication(_:didFinishLaunchingWithOptions:)
:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- אם אתה משתמש ב-SwiftUI, עליך ליצור נציג מורשה לאפליקציה ולצרף אותו
למבנה
App
שלך דרךUIApplicationDelegateAdaptor
אוNSApplicationDelegateAdaptor
. צריך גם להשבית את החלפת הקוד של נציג האפליקציה. עבור לקבלת מידע נוסף, קראו את ההוראות של SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
לקבל הפניה לשירות Cloud Storage באמצעות אפליקציית Firebase שמוגדרת כברירת מחדל:
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
הכול מוכן, אפשר להתחיל להשתמש ב-Cloud Storage
קודם נלמד איך ליצור Cloud Storage הפניה.
הגדרה מתקדמת
יש כמה תרחישים לדוגמה שדורשים הגדרה נוספת:
- שימוש בקטגוריות Cloud Storage במספר אזורים גיאוגרפיים
- שימוש ב-Cloud Storage קטגוריות ב- סוגי אחסון (storage classes) שונים
- שימוש ב-Cloud Storage בקטגוריות עם מספר משתמשים מאומתים באותה האפליקציה
התרחיש לדוגמה הראשון מושלם אם יש לכם משתמשים ברחבי העולם ואתם רוצים לאחסן את הנתונים שלהם בסביבתם. לדוגמה, אפשר ליצור קטגוריות בארה"ב, באירופה ובאסיה כדי לאחסן נתונים של משתמשים באזורים האלה, וכך לצמצם את זמן האחזור.
התרחיש לדוגמה השני מועיל אם יש לכם נתונים עם דפוסי גישה שונים. לדוגמה: אפשר להגדיר קטגוריה רב-אזורית או אזורית שמאחסנת תמונות או תוכן אחר שניגשים אליו לעיתים קרובות, וקטגוריה של קו ברשימת קרובים או כאלה שמאחסן גיבויים של משתמשים או תוכן אחר שניגשים אליו לעתים רחוקות.
בכל אחד מהתרחישים האלה מומלץ להשתמש במספר קטגוריות של Cloud Storage.
התרחיש לדוגמה השלישי שימושי אם אתם מפתחים אפליקציה, כמו Google Drive, מאפשרים למשתמשים להתחבר לכמה חשבונות (לדוגמה, חשבון אישי) וחשבון לצורכי עבודה). אפשר להשתמש במכונה מותאמת אישית של Firebase App כדי לאמת כל חשבון נוסף.
שימוש בכמה קטגוריות Cloud Storage
אם רוצים להשתמש בקטגוריה Cloud Storage שונה מברירת המחדל שצוינה למעלה,
או להשתמש במספר קטגוריות של Cloud Storage באפליקציה אחת, אפשר ליצור מכונה
של FIRStorage
שמפנה לקטגוריה המותאמת אישית:
Swift
// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"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
בהתאמה אישית, אפשר
יוצרים מופע של Storage
שאותחל עם אותה אפליקציה:
Swift
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
השלבים הבאים
מכינים את האפליקציה להשקת האפליקציה:
מפעילים את App Check כדי לוודא שרק האפליקציות שלכם יכולות לגשת למאגרי האחסון.
מגדירים התראות תקציב לפרויקט במסוף Google Cloud.
מעקב אחר שימוש וחיוב מרכז הבקרה במסוף Firebase כדי לקבל תמונה כללית של ביצועי הפרויקט בשימוש במספר שירותי Firebase. אפשר גם להיכנס ללוח הבקרה Cloud Storage Usage כדי לקבל מידע מפורט יותר על השימוש.
לעיין ברשימת המשימות להשקה של Firebase.