התחל עם Cloud Storage באנדרואיד

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

דרישות מוקדמות

אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .

צור דלי ברירת מחדל של Cloud Storage

  1. מחלונית הניווט של מסוף Firebase , בחר אחסון ולאחר מכן לחץ על התחל .

  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 מוגבלת כך שרק משתמשים מאומתים יכולים לקרוא או לכתוב נתונים. כדי להתחיל מבלי להגדיר אימות , תוכל להגדיר את הכללים שלך לגישה ציבורית .

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

הוסף את ה-Cloud Storage SDK לאפליקציה שלך

בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle ), הוסף את התלות עבור ה-Cloud Storage ספרייה עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.7.4"))

    // Add the dependency for the Cloud Storage library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage")
}

באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.

(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM

אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

dependencies {
    // Add the dependency for the Cloud Storage library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage:20.3.0")
}
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).

הגדר אחסון בענן

הצעד הראשון בגישה לדלי של Cloud Storage שלך ​​הוא יצירת מופע של FirebaseStorage :

Kotlin+KTX

storage = Firebase.storage

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

אתה מוכן להתחיל להשתמש ב-Cloud Storage!

ראשית, נלמד כיצד ליצור הפניה ל-Cloud Storage .

התקנה מתקדמת

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

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

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

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

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

השתמש במספר דליים של Cloud Storage

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

Kotlin+KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

Java

// Get a non-default Storage bucket
FirebaseStorage 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 שאותחל עם אותה אפליקציה:

Kotlin+KTX

// Get the default bucket from a custom FirebaseApp
val storage = Firebase.storage(customApp!!)

// Get a non-default bucket from a custom FirebaseApp
val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")

Java

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

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

הצעדים הבאים