Cloud Storage for Firebase به شما امکان میدهد محتوای تولید شده توسط کاربر، مانند تصاویر و ویدیو را آپلود و به اشتراک بگذارید، که به شما امکان میدهد محتوای رسانهای غنی را در برنامههای خود ایجاد کنید. دادههای شما در یک سطل Google Cloud Storage ذخیره میشوند - یک راهحل ذخیرهسازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان میدهد این فایلها را مستقیماً از دستگاههای تلفن همراه و مرورگرهای وب به طور ایمن آپلود کنید و شبکههای پراکنده را به راحتی مدیریت کنید.
قبل از اینکه شروع کنی
اگر هنوز این کار را نکردهاید، مطمئن شوید که راهنمای شروع به کار با برنامههای اندروید را تکمیل کردهاید. این شامل موارد زیر است:
ایجاد یک پروژه فایربیس
ثبت برنامه اندروید خود در پروژه و اتصال برنامه به فایربیس با اضافه کردن وابستگیهای فایربیس، افزونه سرویسهای گوگل و فایل پیکربندی فایربیس (
google-services.json) به برنامه.
مطمئن شوید که پروژه Firebase شما در طرح قیمتگذاری Blaze با پرداخت به ازای استفاده قرار دارد، که الزامی است که از اکتبر 2024 آغاز شده است (به سوالات متداول ما مراجعه کنید). اگر در Firebase و Google Cloud تازهکار هستید، بررسی کنید که آیا واجد شرایط دریافت اعتبار 300 دلاری هستید یا خیر.
یک سطل Cloud Storage پیشفرض ایجاد کنید
از پنل ناوبری کنسول Firebase ، گزینه Storage را انتخاب کنید.
اگر پروژه شما هنوز در طرح قیمتگذاری پرداخت در محل Blaze قرار ندارد، از شما خواسته میشود پروژه خود را ارتقا دهید.
روی شروع به کار کلیک کنید.
مکانی را برای سطل پیشفرض خود انتخاب کنید.
سطلها در
US-CENTRAL1،US-EAST1، وUS-WEST1میتواند از ردیف «همیشه رایگان» برای Google Cloud Storage استفاده کند. باکتها در سایر مکانها از قیمتگذاری و میزان استفاده Google Cloud Storage پیروی میکنند.اگر مایل باشید، میتوانید بعداً چندین سطل ایجاد کنید که هر کدام مکان خاص خود را دارند.
Firebase Security Rules برای باکت پیشفرض خود پیکربندی کنید. در طول توسعه، تنظیم قوانین برای دسترسی عمومی را در نظر بگیرید.
روی انجام شد کلیک کنید.
اکنون میتوانید سطل را در تب Cloud Storage Files در کنسول Firebase مشاهده کنید. فرمت نام سطل پیشفرض شما به صورت زیر است:PROJECT_ID .firebasestorage.app
تنظیم دسترسی عمومی
Cloud Storage for Firebase یک زبان قوانین اعلانی ارائه میدهد که به شما امکان میدهد نحوه ساختاردهی دادههای خود، نحوه ایندکسگذاری آنها و زمان خواندن و نوشتن دادههای خود را تعریف کنید. به طور پیشفرض، دسترسی خواندن و نوشتن به Cloud Storage محدود شده است، بنابراین فقط کاربران احراز هویت شده میتوانند دادهها را بخوانند یا بنویسند. برای شروع بدون تنظیم Authentication ، میتوانید قوانین خود را برای دسترسی عمومی پیکربندی کنید .
این باعث میشود Cloud Storage برای همه، حتی افرادی که از برنامه شما استفاده نمیکنند، باز باشد، بنابراین هنگام تنظیم احراز هویت، حتماً Cloud Storage خود را دوباره محدود کنید.
SDK Cloud Storage را به برنامه خود اضافه کنید
در فایل 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:34.4.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 استفاده خواهد کرد.
(جایگزین) اضافه کردن وابستگیهای کتابخانه 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:22.0.1") }
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 استفاده کنید .
مورد سوم در صورتی مفید است که در حال ساخت برنامهای مانند گوگل درایو باشید که به کاربران اجازه میدهد چندین حساب کاربری (مثلاً یک حساب شخصی و یک حساب کاری) داشته باشند. میتوانید از یک نمونه برنامه سفارشی Firebase برای تأیید اعتبار هر حساب اضافی استفاده کنید .
از چندین فضای 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 موجود به فایربیس، باید با استفاده از ابزار 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 سفارشی استفاده کنید
اگر در حال ساخت یک برنامه پیچیدهتر با استفاده از یک 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 را مرور کنید.