Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

התחל לעבוד עם אחסון ענן ב- Android

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

תנאים מוקדמים

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

צור דלי ברירת מחדל של אחסון בענן

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

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

  3. בחר מיקום עבור דלי ברירת המחדל של אחסון בענן.

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

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

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

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

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

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

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

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

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

ג'אווה

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

    // 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 , היישום שלך ישתמש תמיד בגרסאות תואמות של ספריות Android ל- Firebase.

(חלופי) הצהיר על תלות בספריית 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.0'
}

Kotlin + KTX

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

    // 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 , היישום שלך ישתמש תמיד בגרסאות תואמות של ספריות Android ל- Firebase.

(חלופי) הצהיר על תלות בספריית 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.0'
}

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

השלב הראשון בגישה לדלי אחסון הענן שלך הוא ליצור מופע של FirebaseStorage :

ג'אווה

FirebaseStorage storage = FirebaseStorage.getInstance();

Kotlin + KTX

storage = Firebase.storage

אתה מוכן להתחיל להשתמש בענן אחסון!

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

התקנה מתקדמת

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

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

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

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

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

השתמש במספר דליים של אחסון בענן

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

ג'אווה

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

עבודה עם דליים מיובאים

בעת ייבוא ​​דלי אחסון ענן קיימים ל- Firebase, יהיה עליך להעניק ל- Firebase את האפשרות לגשת לקבצים אלה באמצעות הכלי gsutil , הכלול ב- SDK של Google Cloud :

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 שאותחל מאותה יישום:

ג'אווה

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

הצעדים הבאים