Check out what’s new from Firebase at Google I/O 2022. Learn more

התחל עם 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.

    אם אתה בתוכנית Blaze, אתה יכול ליצור דליים מרובים , לכל אחד עם מיקום משלו.

  4. לחץ על בוצע .

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

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

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

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

באמצעות Firebase Android BoM , הכריז על התלות של ספריית Cloud Storage Android בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle ).

Java

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

    // Declare 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 {
    // Declare 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.0.1'
}

Kotlin+KTX

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

    // Declare 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-ktx'
}

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

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

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

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

dependencies {
    // Declare 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-ktx:20.0.1'
}

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

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

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

Kotlin+KTX

storage = Firebase.storage

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

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

התקנה מתקדמת

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

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

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

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

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

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

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

Java

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

Kotlin+KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("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 שאותחל עם אותה אפליקציה:

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

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

הצעדים הבאים