Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

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

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

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

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

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

    • הגדרת המיקום זהו הפרויקט שלך בפלטפורמת הענן של Google מחדל מיקום משאב (GCP) . שים לב שמיקום זה ישמש עבור שירותים GCP בפרויקט שלך הדורשים הגדרת המיקום, במיוחד, שלך ענן Firestore מסד הנתונים שלך מנוע יישום האפליקציה (נדרש אם אתה משתמש ענן מתזמן).

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

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

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

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

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

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

הוסף את SDK אחסון הענן לאפליקציה שלך

באמצעות BOM אנדרואיד Firebase , להכריז על התלות של הספרייה אחסון ענן אנדרואיד במודול שלך (ברמת האפליקציה) קובץ Gradle (בדרך כלל app/build.gradle ).

ג'אווה

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.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 אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד 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'
}

קוטלין+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.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 אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד 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();

קוטלין+KTX

storage = Firebase.storage

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

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

התקנה מתקדמת

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

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

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

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

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

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

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

ג'אווה

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

קוטלין+KTX

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

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

בעת יבוא קובץ דלי אחסון הענן קיים לתוך 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 אותחל עם אותה אפליקציה:

ג'אווה

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

קוטלין+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")

הצעדים הבאים