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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java

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

    // 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.4')

    // 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 :

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

קוטלין+KTX

storage = Firebase.storage

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

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

התקנה מתקדמת

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

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

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

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

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

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

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

Java

// 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 אותחל עם אותה אפליקציה:

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

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

הצעדים הבאים