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

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

قبل از شروع

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

    • ایجاد پروژه Firebase

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

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

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

  1. از صفحه پیمایش کنسول Firebase ، Storage را انتخاب کنید.

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

  2. روی Get start کلیک کنید.

  3. مکانی را برای سطل پیش فرض خود انتخاب کنید.

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

  5. روی Done کلیک کنید.

اکنون می توانید سطل را در برگه Cloud Storage Files کنسول Firebase مشاهده کنید. فرمت نام سطل پیش فرض شما این است PROJECT_ID .firebasestorage.app .

دسترسی عمومی را تنظیم کنید

Cloud Storage for Firebase یک زبان قواعد اعلامی ارائه می‌کند که به شما امکان می‌دهد نحوه ساختار داده‌هایتان، نحوه فهرست‌بندی و زمان خواندن و نوشتن داده‌هایتان را تعریف کنید. به طور پیش‌فرض، دسترسی خواندن و نوشتن به Cloud Storage محدود شده است، بنابراین فقط کاربران تأیید شده می‌توانند داده‌ها را بخوانند یا بنویسند. برای شروع بدون تنظیم Authentication ، می توانید قوانین خود را برای دسترسی عمومی پیکربندی کنید .

این باعث می‌شود که Cloud Storage برای هر کسی باز شود، حتی افرادی که از برنامه شما استفاده نمی‌کنند، بنابراین هنگام تنظیم احراز هویت، مطمئن شوید که Cloud Storage خود را دوباره محدود کنید.

Cloud Storage به برنامه خود اضافه کنید

برای نصب و مدیریت وابستگی های Firebase از Swift Package Manager استفاده کنید.

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

Cloud Storage در برنامه خود راه اندازی کنید

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

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

    1. ماژول FirebaseCore و ماژول FirebaseStorage را در UIApplicationDelegate خود وارد کنید. ما همچنین اضافه کردن FirebaseAuth را توصیه می کنیم.

      SwiftUI

      import SwiftUI
      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      سویفت

      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      هدف-C

      @import FirebaseCore;
      @import FirebaseStorage;
      @import FirebaseAuth;
      // ...
      
    2. یک نمونه اشتراک‌گذاری شده FirebaseApp در روش application(_:didFinishLaunchingWithOptions:) پیکربندی کنید:

      SwiftUI

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      سویفت

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      هدف-C

      // Use Firebase library to configure APIs
      [FIRApp configure];
      
    3. (فقط SwiftUI) یک نماینده برنامه ایجاد کنید و آن را با استفاده از UIApplicationDelegateAdaptor یا NSApplicationDelegateAdaptor به ساختار App خود متصل کنید. همچنین باید swizzling نمایندگی برنامه را غیرفعال کنید. برای اطلاعات بیشتر، دستورالعمل های 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 مراجعه کنید:

      سویفت

      let storage = Storage.storage()
      // Alternatively, explicitly specify the bucket name URL.
      storage = Storage.storage(url:"gs://BUCKET_NAME")

      هدف-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 استفاده کنید .

مورد سوم در صورتی مفید است که در حال ساختن برنامه‌ای مانند Google Drive هستید که به کاربران امکان می‌دهد چندین حساب وارد شده (به عنوان مثال، یک حساب شخصی و یک حساب کاری) داشته باشند. می توانید از یک نمونه برنامه Firebase سفارشی برای احراز هویت هر حساب اضافی استفاده کنید .

از چند سطل Cloud Storage استفاده کنید

اگر می‌خواهید از یک سطل Cloud Storage غیر از سطل پیش‌فرض ارائه شده در بالا استفاده کنید، یا از چندین سطل Cloud Storage در یک برنامه استفاده کنید، می‌توانید نمونه‌ای از FIRStorage ایجاد کنید که به سطل سفارشی شما ارجاع دهد:

سویفت

// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

هدف-C

// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"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 سفارشی استفاده کنید

اگر با استفاده از FirebaseApp سفارشی برنامه پیچیده‌تری می‌سازید، می‌توانید نمونه‌ای از Storage که با آن برنامه مقداردهی شده است ایجاد کنید:

سویفت

// 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")
    

هدف-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"];
    

مراحل بعدی