Cloud Storage for Firebase به شما امکان میدهد محتوای تولیدشده توسط کاربر، مانند تصاویر و ویدیو، را بارگذاری و همرسانی کنید، که به شما امکان میدهد محتوای رسانهای غنی در برنامههایتان بسازید. دادههایتان در Google Cloud Storage ظرف ذخیرهسازی ذخیره میشود — راهحل ذخیرهسازی شیء در مقیاس اگزابایت با دردسترس بودن بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان میدهد این فایلها را بهطور ایمن مستقیماً از دستگاههای همراه و مرورگرهای وب بارگذاری کنید و شبکههای ناپایدار را بهراحتی مدیریت کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، مطمئن شوید که راهنمای شروع به کار برای برنامههای پلاتفرمهای Apple را تکمیل کردهاید. ازجمله:
درحال ایجاد پروژه Firebase.
ثبت کردن برنامه پلاتفرمهای Apple با پروژه، و متصل کردن برنامه به Firebase با افزودن کتابخانه Firebase و فایل پیکربندی Firebase (
GoogleService-Info.plist) به برنامه.
مطمئن شوید پروژه 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 به برنامه
از «مدیر بسته Swift» برای نصب و مدیریت وابستگیهای Firebase استفاده کنید.
- در Xcode، با باز بودن پروژه برنامه، به File > Add Packages (فایل > افزودن بستهها) پیمایش کنید.
- وقتی درخواست شد، مخزن کیت توسعه نرمافزار پلاتفرمهای Firebase Apple را اضافه کنید:
- کتابخانه Cloud Storage را انتخاب کنید.
- پرچم
-ObjCرا به بخش پرچمهای پیونددهنده دیگر در تنظیمات ساخت هدف اضافه کنید. - پساز اتمام، Xcode بهطور خودکار شروع به حل و بارگیری وابستگیهای شما در پسزمینه میکند.
https://github.com/firebase/firebase-ios-sdk.git
راهاندازی Cloud Storage در برنامه
Firebase را قبلاز ایجاد یا استفاده از هر مرجع Firebase مقداردهی اولیه کنید.
اگر قبلاً محصول Firebase دیگری را راهاندازی کردهاید، ممکن است این کار را قبلاً انجام داده باشید، اما باید مطمئن شوید که کتابخانه
FirebaseStorageرا به فهرست واردات خود اضافه کنید.واحد
FirebaseCoreو واحدFirebaseStorageرا درUIApplicationDelegateخود وارد کنید. همچنین توصیه میکنیمFirebaseAuthرا اضافه کنید.SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...یک نمونه مشترک در روش
FirebaseAppنماینده برنامه خود پیکربندی کنید:application(_:didFinishLaunchingWithOptions:)SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()Swift
// Use Firebase library to configure APIs FirebaseApp.configure()Objective-C
// Use Firebase library to configure APIs [FIRApp configure];(فقط SwiftUI) نماینده برنامهای ایجاد کنید و آن را بااستفاده از
UIApplicationDelegateAdaptorیاNSApplicationDelegateAdaptorبه ساختارAppپیوست کنید. همچنین باید «جایگزینی نماینده برنامه» را غیرفعال کنید. برای اطلاعات بیشتر، دستورالعملهای SwiftUI را ببینید.SwiftUI
@main struct YourApp: App { // Register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
بااستفاده از «برنامه Firebase» پیشفرض، مرجعی برای سرویس Cloud Storage دریافت کنید.
مطمئن شوید که فایل پیکربندی Firebase (
GoogleService-Info.plist) در پایگاه کد برنامه شما با نام Cloud Storage پیشفرض شما بهروزرسانی شده باشد.از این فایل پیکربندی بارگیریشده برای جایگزین کردن فایل
GoogleService-Info.plistموجود در ریشه پروژه Xcode استفاده کنید. اگر درخواست شد، انتخاب کنید که فایل پیکربندی به همه هدفها اضافه شود.مطمئن شوید که فقط این فایل پیکربندی بارگیریشده اخیر در برنامهتان وجود دارد و نام فایل آن با نویسههای اضافی، مثل
(2)، الحاق نشده باشد.
بااستفاده از «برنامه Firebase» پیشفرض، مرجعی برای سرویس Cloud Storage دریافت کنید:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C
FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
آمادهاید از Cloud Storage استفاده کنید!
مرحله بعدی؟ با نحوه ایجاد مرجع Cloud Storage آشنا شوید.
راهاندازی پیشرفته
چند مورد استفاده وجود دارد که به راهاندازی اضافی نیاز دارند:
- استفاده از Cloud Storage مخزن در چندین منطقه جغرافیایی
- استفاده از Cloud Storage محفظه در طبقههای ذخیرهسازی مختلف
- استفاده از Cloud Storage مخزن با چندین کاربر اصالتسنجیشده در یک برنامه
اولین مورد استفاده برای زمانی که کاربرانی در سراسر جهان دارید و میخواهید دادههای آنها را در نزدیکیشان ذخیره کنید عالی است. برای مثال، میتوانید در ایالات متحده، اروپا، و آسیا دستههایی ایجاد کنید تا دادههای کاربران این مناطق را در آنها ذخیره کنید و از این طریق تأخیر را کاهش دهید.
اگر دادههایی با الگوهای دسترسی متفاوت دارید، مورد استفاده دوم مفید است. برای مثال: میتوانید یک مخزن چندمنطقهای یا منطقهای راهاندازی کنید که تصاویر یا محتوای دیگری را که اغلب به آن دسترسی دارید ذخیره میکند، و یک مخزن nearline یا coldline که پشتیبانگیریهای کاربر یا محتوای دیگری را که بهندرت به آن دسترسی دارید ذخیره میکند.
در هریک از این موارد استفاده، میخواهید از چند Cloud Storage دستهبندی استفاده کنید.
سومین مورد استفاده زمانی مفید است که درحال ساختن برنامهای مثل Google Drive هستید که به کاربران امکان میدهد چندین حساب واردشده داشته باشند (برای مثال، یک حساب شخصی و یک حساب کاری). میتوانید از نمونه برنامه Firebase سفارشی برای اصالتسنجی هر حساب اضافی استفاده کنید.
استفاده از چند Cloud Storage دستهبندی
اگر میخواهید از Cloud Storage سطلی غیر از سطل پیشفرض ارائهشده در بالا استفاده کنید،
یا از چند سطل Cloud Storage در یک برنامه استفاده کنید، میتوانید نمونهای از FIRStorage ایجاد کنید که به سطل سفارشی شما ارجاع دهد:
Swift
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
کار کردن با مخزنهای واردشده
هنگام وارد کردن یک مخزن Cloud Storage موجود به Firebase، باید به Firebase اجازه دهید بااستفاده از ابزار gsutil که در کیت توسعه نرمافزار Google Cloud گنجانده شده است به این فایلها دسترسی داشته باشد:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
شماره پروژهتان را میتوانید همانطور که در مقدمه پروژههای Firebase توضیح داده شده است پیدا کنید.
این موضوع بر دستههای جدید ایجادشده تأثیر نمیگذارد، زیرا کنترل دسترسی پیشفرض آنها روی «اجازه دادن به Firebase» تنظیم شده است. این اقدام موقتی است و در آینده بهطور خودکار انجام خواهد شد.
استفاده از برنامه Firebase سفارشی
اگر بااستفاده از FirebaseApp سفارشی برنامه پیچیدهتری میسازید، میتوانید نمونهای از Storage را که با آن برنامه مقداردهی اولیه شده است ایجاد کنید:
Swift
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
مراحل بعدی
آمادهسازی برای راهاندازی برنامه:
App Check را فعال کنید تا مطمئن شوید فقط برنامههای شما میتوانند به مخازن فضای ذخیرهسازیتان دسترسی داشته باشند.
هشدار بودجه را برای پروژه خود در کنسول Google Cloud تنظیم کنید.
داشبورد مصرف و صورتحساب را در کنسول Firebase پایش کنید تا تصویری کلی از مصرف پروژه خود در چندین سرویس Firebase بهدست آورید. همچنین میتوانید برای دریافت اطلاعات دقیقتر درباره استفاده، به Cloud Storage داشبورد استفاده مراجعه کنید.
بازبینه راهاندازی Firebase را مرور کنید.