Cloud Storage for Firebase به شما امکان میدهد محتوای تولیدشده توسط کاربر، مانند تصاویر و ویدیو، را بارگذاری و همرسانی کنید، که به شما اجازه میدهد محتوای رسانه تعاملی را در برنامههایتان بسازید. دادههای شما در یک Google Cloud Storage bucket ذخیره میشود — یک راهکار ذخیرهسازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان میدهد این فایلها را بهطور ایمن مستقیماً از دستگاههای همراه و مرورگرهای وب بارگذاری کنید و بهراحتی با شبکههای ناپایدار کنار بیایید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، مطمئن شوید راهنمای شروع به کار برای برنامههای Android را تکمیل کردهاید. ازجمله:
درحال ایجاد پروژه Firebase.
ثبت برنامه Android با پروژه، و متصل کردن برنامه به Firebase با افزودن وابستگیهای Firebase، افزونه سرویسهای Google، و فایل پیکربندی Firebase (
google-services.json) به برنامه.
مطمئن شوید پروژه Firebase شما در طرح قیمتگذاری Blaze پرداخت به اندازه استفاده باشد که برای استفاده از Cloud Storage for Firebase الزامی است. اگر در Firebase و Google Cloud تازهکار هستید، بررسی کنید که آیا واجدشرایط دریافت اعتبار ۳۰۰ دلاری هستید یا نه.
ایجاد سطل پیشفرض Cloud Storage
در کنسول Firebase، به پایگاههای داده و فضای ذخیرهسازی > فضای ذخیرهسازی پیمایش کنید.
اگر پروژهتان هنوز در طرح قیمتگذاری Blaze پرداخت به اندازه استفاده نیست، از شما خواسته میشود پروژهتان را ارتقا دهید.
روی شروع به کار کلیک کنید.
مکانی برای دسته پیشفرضتان انتخاب کنید.
دستههای موجود در
،US-CENTRAL1 ، وUS-EAST1 میتوانند از سطح «همیشه رایگان» برای Google Cloud Storage استفاده کنند. دستهها در همه مکانهای دیگر از Google Cloud Storage قیمتگذاری و استفاده پیروی میکنند.US-WEST1اگر بخواهید، میتوانید بعداً چند سطل ایجاد کنید که هرکدام مکان خودش را داشته باشد.
Firebase Security Rules را برای دسته پیشفرضتان پیکربندی کنید. درطول توسعه، تنظیم کردن قوانین برای دسترسی عمومی را درنظر بگیرید.
روی تمام کلیک کنید.
اکنون میتوانید دسته را در کنسول Firebase مشاهده کنید (به برگه
پایگاههای داده و فضای ذخیرهسازی > فضای ذخیرهسازی >
فایلها بروید).
قالب نام پیشفرض سطل شما PROJECT_ID.firebasestorage.app
راهاندازی دسترسی عمومی
Cloud Storage for Firebase زبان قوانین اعلانی ارائه میدهد که به شما امکان میدهد تعریف کنید دادههایتان چگونه باید ساختاردهی شود، چگونه باید نمایهسازی شود، و چه زمانی میتوان دادههایتان را خواند و در آن نوشت. بهطور پیشفرض، دسترسی خواندن و نوشتن به Cloud Storage محدود شده است تا فقط کاربران اصالتسنجیشده بتوانند دادهها را بخوانند یا بنویسند. برای شروع بدون راهاندازی Authentication، میتوانید قوانین خود را برای دسترسی عمومی پیکربندی کنید.
این کار باعث میشود Cloud Storage برای همه باز شود، حتی افرادی که از برنامهتان استفاده نمیکنند، بنابراین حتماً هنگام راهاندازی اصالتسنجی، Cloud Storage را دوباره محدود کنید.
کیت توسعه نرمافزار Cloud Storage را به برنامهتان اضافه کنید
در فایل Gradle (سطح برنامه) (معمولاً<project>/<app-module>/build.gradle.kts یا
<project>/<app-module>/build.gradle)،
وابستگی کتابخانه Cloud Storage را برای Android اضافه کنید. توصیه میکنیم از
Firebase Android BoM
برای کنترل نسخهبندی کتابخانه استفاده کنید.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // 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:23.0.0") }
راهاندازی Cloud Storage در برنامه
مطمئن شوید فایل پیکربندی Firebase (
google-services.json) در پایگاه کد برنامهتان با نام دسته پیشفرض Cloud Storage بهروز شده باشد.از این فایل پیکربندی بارگیریشده برای جایگزین کردن فایل
google-services.jsonموجود در فهرست راهنمای (سطح برنامه) واحد برنامهتان استفاده کنید.مطمئن شوید که فقط این جدیدترین فایل پیکربندی بارگیریشده را در برنامهتان دارید و نویسههای اضافی، مثل
(2)، به نام فایل آن اضافه نشده است.
با ایجاد نمونهای از
FirebaseStorage، به سطل Cloud Storage خود دسترسی پیدا کنید:Kotlin
storage = Firebase.storage
// Alternatively, explicitly specify the bucket name URL. // val storage = Firebase.storage("gs://BUCKET_NAME")
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
// Alternatively, explicitly specify the bucket name URL. // FirebaseStorage storage = FirebaseStorage.getInstance("gs://BUCKET_NAME");
آماده استفاده از Cloud Storage هستید!
مرحله بعدی؟ با نحوه ایجاد مرجع Cloud Storage آشنا شوید.
راهاندازی پیشرفته
چند مورد استفاده وجود دارد که به راهاندازی اضافی نیاز دارد:
- استفاده از Cloud Storage دسته در چند منطقه جغرافیایی
- استفاده از Cloud Storage سطل در کلاسهای ذخیرهسازی مختلف
- استفاده از Cloud Storage سطل با چند کاربر اصالتسنجیشده در یک برنامه
مورد استفاده اول برای زمانی عالی است که کاربرانی در سراسر جهان دارید و میخواهید دادههایشان را در نزدیکی آنها ذخیره کنید. برای مثال، میتوانید برای ذخیره دادههای کاربران در ایالات متحده، اروپا، و آسیا، در این مناطق سطل ایجاد کنید تا تأخیر کاهش یابد.
مورد استفاده دوم زمانی مفید است که دادههایی با الگوهای دسترسی متفاوت داشته باشید. برای مثال: میتوانید یک سطل چندمنطقهای یا منطقهای راهاندازی کنید که تصاویر یا سایر محتواهای پردسترسی را ذخیره میکند، و یک سطل nearline یا coldline که نسخههای پشتیبان کاربر یا سایر محتواهای کمدسترسی را ذخیره میکند.
در هریک از این موارد استفاده، باید از چند Cloud Storage سطل استفاده کنید.
مورد استفاده سوم زمانی مفید است که درحال ساختن برنامهای مثل Google Drive باشید که به کاربران اجازه میدهد چندین حساب واردشده به سیستم داشته باشند (برای مثال، یک حساب شخصی و یک حساب کاری). میتوانید از نمونه سفارشی Firebase App استفاده کنید تا هر حساب اضافی را اصالتسنجی کنید.
استفاده از چند سطل Cloud Storage
اگر میخواهید از سطل Cloud Storage دیگری غیراز سطل پیشفرض شرحدادهشده
در این راهنما استفاده کنید، یا از چند سطل Cloud Storage در یک برنامه استفاده کنید،
میتوانید نمونهای از FirebaseStorage ایجاد کنید که به سطل سفارشی شما ارجاع میدهد:
Kotlin
// 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://BUCKET_NAME
میتوانید شماره پروژهتان را همانطور که در مقدمهای بر پروژههای Firebase شرح داده شده است پیدا کنید.
این موضوع بر دستههای جدیداً ایجادشده تأثیری ندارد، زیرا کنترل دسترسی پیشفرض آنها برای مجاز کردن Firebase تنظیم شده است. این اقدامی موقتی است و در آینده بهطور خودکار انجام خواهد شد.
استفاده از Firebase App سفارشی
اگر درحال ساختن برنامه پیچیدهتری بااستفاده از FirebaseApp سفارشی هستید، میتوانید
نمونهای از FirebaseStorage را که با آن برنامه مقداردهی اولیه شده است ایجاد کنید:
Kotlin
// 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");
مراحل بعدی
آماده شدن برای راهاندازی برنامه:
App Check را فعال کنید تا مطمئن شوید فقط برنامههای شما میتوانند به مخزنهای فضای ذخیرهسازیتان دسترسی داشته باشند.
هشدارهای بودجه را برای پروژهتان در کنسول Google Cloud راهاندازی کنید.
داشبورد استفاده و صورتحساب را در کنسول Firebase پایش کنید تا تصویری کلی از استفاده پروژهتان در چندین سرویس Firebase بهدست آورید. همچنین میتوانید برای اطلاعات دقیقتر درباره استفاده، به داشبورد Cloud Storage استفاده مراجعه کنید.
بازبینه راهاندازی Firebase را مرور کنید.