شروع به کار با Cloud Storage در Android

Cloud Storage for Firebase به شما امکان می‌دهد محتوای تولیدشده توسط کاربر، مانند تصاویر و ویدیو، را بارگذاری و هم‌رسانی کنید، که به شما اجازه می‌دهد محتوای رسانه تعاملی را در برنامه‌هایتان بسازید. داده‌های شما در یک Google Cloud Storage bucket ذخیره می‌شود — یک راهکار ذخیره‌سازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان می‌دهد این فایل‌ها را به‌طور ایمن مستقیماً از دستگاه‌های همراه و مرورگرهای وب بارگذاری کنید و به‌راحتی با شبکه‌های ناپایدار کنار بیایید.

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، مطمئن شوید راهنمای شروع به کار برای برنامه‌های Android را تکمیل کرده‌اید. ازجمله:

    • درحال ایجاد پروژه Firebase.

    • ثبت برنامه Android با پروژه، و متصل کردن برنامه به Firebase با افزودن وابستگی‌های Firebase، افزونه سرویس‌های Google، و فایل پیکربندی Firebase (google-services.json) به برنامه.

  2. مطمئن شوید پروژه Firebase شما در طرح قیمت‌گذاری Blaze پرداخت به اندازه استفاده باشد که برای استفاده از Cloud Storage for Firebase الزامی است. اگر در Firebase و Google Cloud تازه‌کار هستید، بررسی کنید که آیا واجدشرایط دریافت اعتبار ۳۰۰ دلاری هستید یا نه.

ایجاد سطل پیش‌فرض Cloud Storage

  1. در کنسول Firebase، به پایگاه‌های داده و فضای ذخیره‌سازی > فضای ذخیره‌سازی پیمایش کنید.

    اگر پروژه‌تان هنوز در طرح قیمت‌گذاری Blaze پرداخت به اندازه استفاده نیست، از شما خواسته می‌شود پروژه‌تان را ارتقا دهید.

  2. روی شروع به کار کلیک کنید.

  3. مکانی برای دسته پیش‌فرضتان انتخاب کنید.

  4. Firebase Security Rules را برای دسته پیش‌فرضتان پیکربندی کنید. درطول توسعه، تنظیم کردن قوانین برای دسترسی عمومی را درنظر بگیرید.

  5. روی تمام کلیک کنید.

اکنون می‌توانید دسته را در کنسول 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 در برنامه

  1. مطمئن شوید فایل پیکربندی Firebase (google-services.json) در پایگاه کد برنامه‌تان با نام دسته پیش‌فرض Cloud Storage به‌روز شده باشد.

    1. فایل پیکربندی به‌روزشده‌تان را دریافت کنید.

    2. از این فایل پیکربندی بارگیری‌شده برای جایگزین کردن فایل google-services.json موجود در فهرست راهنمای (سطح برنامه) واحد برنامه‌تان استفاده کنید.

      مطمئن شوید که فقط این جدیدترین فایل پیکربندی بارگیری‌شده را در برنامه‌تان دارید و نویسه‌های اضافی، مثل (2)، به نام فایل آن اضافه نشده است.

  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 آشنا شوید.

راه‌اندازی پیشرفته

چند مورد استفاده وجود دارد که به راه‌اندازی اضافی نیاز دارد:

مورد استفاده اول برای زمانی عالی است که کاربرانی در سراسر جهان دارید و می‌خواهید داده‌هایشان را در نزدیکی آن‌ها ذخیره کنید. برای مثال، می‌توانید برای ذخیره داده‌های کاربران در ایالات متحده، اروپا، و آسیا، در این مناطق سطل ایجاد کنید تا تأخیر کاهش یابد.

مورد استفاده دوم زمانی مفید است که داده‌هایی با الگوهای دسترسی متفاوت داشته باشید. برای مثال: می‌توانید یک سطل چندمنطقه‌ای یا منطقه‌ای راه‌اندازی کنید که تصاویر یا سایر محتواهای پردسترسی را ذخیره می‌کند، و یک سطل 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 را مرور کنید.