Cloud Storage for Firebase به شما امکان میدهد محتوای تولید شده توسط کاربر، مانند تصاویر و ویدیو را آپلود و به اشتراک بگذارید، که به شما امکان میدهد محتوای رسانهای غنی را در برنامههای خود بسازید. دادههای شما در یک سطل Google Cloud Storage - یک راهحل ذخیرهسازی شی در مقیاس اگزابایت با در دسترس بودن بالا و افزونگی جهانی ذخیره میشود. Cloud Storage for Firebase به شما امکان میدهد این فایلها را مستقیماً از دستگاههای تلفن همراه و مرورگرهای وب بهطور ایمن آپلود کنید و به راحتی شبکههای ناقص را مدیریت کنید.
پیش نیازها
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید .
یک سطل پیشفرض Cloud Storage ایجاد کنید
از صفحه پیمایش کنسول Firebase ، Storage را انتخاب کنید، سپس روی شروع به کار کلیک کنید.
پیامهای مربوط به ایمن کردن دادههای Cloud Storage خود را با استفاده از قوانین امنیتی مرور کنید. در طول توسعه، قوانین خود را برای دسترسی عمومی تنظیم کنید .
مکانی را برای سطل Cloud Storage پیش فرض خود انتخاب کنید.
این تنظیم مکان، مکان منبع پیشفرض Google Cloud Platform (GCP) پروژه شما است. توجه داشته باشید که این مکان برای سرویسهای GCP در پروژه شما استفاده میشود که به تنظیمات مکان نیاز دارند، بهویژه پایگاه داده Cloud Firestore و برنامه App Engine شما (که در صورت استفاده از Cloud Scheduler لازم است).
اگر نمیتوانید مکانی را انتخاب کنید، پروژه شما از قبل دارای یک مکان منبع GCP پیشفرض است. در حین ایجاد پروژه یا هنگام راهاندازی سرویس دیگری که نیاز به تنظیم مکان دارد تنظیم شده است.
اگر در طرح Blaze هستید، میتوانید چندین سطل ایجاد کنید که هر کدام مکان خاص خود را دارند.
روی Done کلیک کنید.
دسترسی عمومی را تنظیم کنید
Cloud Storage for Firebase یک زبان قواعد اعلامی را ارائه می دهد که به شما امکان می دهد نحوه ساختار داده های شما، نحوه نمایه سازی و زمان خواندن و نوشتن داده های شما را تعریف کنید. به طور پیشفرض، دسترسی خواندن و نوشتن به Cloud Storage محدود شده است، بنابراین فقط کاربران تأیید شده میتوانند دادهها را بخوانند یا بنویسند. برای شروع بدون تنظیم Authentication ، می توانید قوانین خود را برای دسترسی عمومی پیکربندی کنید .
این باعث میشود که Cloud Storage برای هر کسی باز شود، حتی افرادی که از برنامه شما استفاده نمیکنند، بنابراین هنگام تنظیم احراز هویت، مطمئن شوید که Cloud Storage خود را دوباره محدود کنید.
Cloud Storage SDK را به برنامه خود اضافه کنید
در فایل Gradle ماژول (سطح برنامه) خود (معمولا<project>/<app-module>/build.gradle.kts
یا <project>/<app-module>/build.gradle
)، وابستگی را برای Cloud Storage اضافه کنید. کتابخانه برای اندروید توصیه میکنیم از Firebase Android BoM برای کنترل نسخهسازی کتابخانه استفاده کنید.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.3.0")) // 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:21.0.0") }
Cloud Storage راه اندازی کنید
اولین قدم برای دسترسی به سطل Cloud Storage ، ایجاد یک نمونه از FirebaseStorage
است:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
شما آماده شروع استفاده از Cloud Storage هستید!
ابتدا، بیایید نحوه ایجاد یک مرجع Cloud Storage را بیاموزیم.
راه اندازی پیشرفته
چند مورد استفاده وجود دارد که نیاز به تنظیمات اضافی دارد:
- استفاده از سطل های Cloud Storage در چندین منطقه جغرافیایی
- استفاده از سطل های Cloud Storage در کلاس های ذخیره سازی مختلف
- استفاده از سطلهای Cloud Storage با چندین کاربر احراز هویت شده در یک برنامه
اولین مورد استفاده اگر کاربرانی در سراسر جهان دارید و می خواهید داده های آنها را در نزدیکی آنها ذخیره کنید، عالی است. برای مثال، میتوانید در ایالات متحده، اروپا و آسیا سطلهایی ایجاد کنید تا دادهها را برای کاربران آن مناطق ذخیره کنید تا تأخیر را کاهش دهید.
مورد دوم اگر داده هایی با الگوهای دسترسی متفاوت دارید مفید است. به عنوان مثال: میتوانید یک سطل چند منطقهای یا منطقهای راهاندازی کنید که تصاویر یا سایر محتوایی که اغلب به آنها دسترسی دارند را ذخیره میکند، و یک سطل نزدیک یا سرد که پشتیبانگیریهای کاربر یا سایر محتوایی که بهندرت به آنها دسترسی دارند را ذخیره میکند.
در هر یک از این موارد استفاده، میخواهید از چند سطل Cloud Storage استفاده کنید .
مورد سوم در صورتی مفید است که در حال ساختن برنامهای مانند Google Drive هستید که به کاربران امکان میدهد چندین حساب وارد شده (به عنوان مثال، یک حساب شخصی و یک حساب کاری) داشته باشند. می توانید از یک نمونه برنامه Firebase سفارشی برای احراز هویت هر حساب اضافی استفاده کنید .
از چند سطل Cloud Storage استفاده کنید
اگر میخواهید از یک سطل Cloud Storage غیر از سطل پیشفرض ارائهشده در بالا استفاده کنید، یا از چند سطل Cloud Storage در یک برنامه استفاده کنید، میتوانید نمونهای از FirebaseStorage
ایجاد کنید که به سطل سفارشی شما ارجاع دهد:
Kotlin+KTX
// 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://<your-cloud-storage-bucket>
می توانید شماره پروژه خود را همانطور که در مقدمه پروژه های Firebase توضیح داده شده است، پیدا کنید.
این روی سطلهای تازه ایجاد شده تأثیری نمیگذارد، زیرا آنها دارای تنظیم پیشفرض کنترل دسترسی برای اجازه دادن به Firebase هستند. این یک اقدام موقت است و در آینده به صورت خودکار انجام خواهد شد.
از یک برنامه Firebase سفارشی استفاده کنید
اگر با استفاده از FirebaseApp
سفارشی برنامه پیچیدهتری میسازید، میتوانید یک نمونه از FirebaseStorage
که با آن برنامه مقداردهی شده است ایجاد کنید:
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")
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 را مرور کنید.