شروع به کار با Cloud Storage در پلاتفرم‌های Apple

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

قبل از شروع

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

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

    • ثبت کردن برنامه پلاتفرم‌های Apple با پروژه، و متصل کردن برنامه به Firebase با افزودن کتابخانه Firebase و فایل پیکربندی Firebase (GoogleService-Info.plist) به برنامه.

  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 به برنامه

از «مدیر بسته Swift» برای نصب و مدیریت وابستگی‌های Firebase استفاده کنید.

  1. در Xcode، با باز بودن پروژه برنامه، به File > Add Packages (فایل > افزودن بسته‌ها) پیمایش کنید.
  2. وقتی درخواست شد، مخزن کیت توسعه نرم‌افزار پلاتفرم‌های Firebase Apple را اضافه کنید:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. کتابخانه Cloud Storage را انتخاب کنید.
  5. پرچم -ObjC را به بخش پرچم‌های پیونددهنده دیگر در تنظیمات ساخت هدف اضافه کنید.
  6. پس‌از اتمام، Xcode به‌طور خودکار شروع به حل و بارگیری وابستگی‌های شما در پس‌زمینه می‌کند.

راه‌اندازی Cloud Storage در برنامه

  1. ‫Firebase را قبل‌از ایجاد یا استفاده از هر مرجع Firebase مقداردهی اولیه کنید.

    اگر قبلاً محصول Firebase دیگری را راه‌اندازی کرده‌اید، ممکن است این کار را قبلاً انجام داده باشید، اما باید مطمئن شوید که کتابخانه FirebaseStorage را به فهرست واردات خود اضافه کنید.

    1. واحد 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;
      // ...
      
    2. یک نمونه مشترک در روش 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];
      
    3. (فقط 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()
            }
          }
        }
      }
      
  2. بااستفاده از «برنامه Firebase» پیش‌فرض، مرجعی برای سرویس Cloud Storage دریافت کنید.

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

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

      2. از این فایل پیکربندی بارگیری‌شده برای جایگزین کردن فایل GoogleService-Info.plist موجود در ریشه پروژه Xcode استفاده کنید. اگر درخواست شد، انتخاب کنید که فایل پیکربندی به همه هدف‌ها اضافه شود.

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

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

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

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

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

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