ابدأ باستخدام Cloud Storage على منصات Apple

يتيح لك Cloud Storage for Firebase تحميل ومشاركة المحتوى الذي ينشئه المستخدم، مثل الصور والفيديو، مما يسمح لك بإنشاء محتوى وسائط غني في تطبيقاتك. يتم تخزين بياناتك في مجموعة Google Cloud Storage - وهو حل تخزين كائنات بحجم إكسابايت يتميز بتوفر عالٍ وتكرار عالمي. يتيح لك Cloud Storage for Firebase تحميل هذه الملفات بشكل آمن مباشرة من الأجهزة المحمولة ومتصفحات الويب، والتعامل مع الشبكات المتقطعة بسهولة.

المتطلبات الأساسية

  1. قم بتثبيت Firebase SDK .
  2. أضف تطبيقك إلى مشروع Firebase الخاص بك في وحدة تحكم Firebase .

قم بإنشاء مجموعة تخزين سحابية افتراضية

  1. من جزء التنقل بوحدة تحكم Firebase ، حدد التخزين ، ثم انقر فوق البدء .

  2. قم بمراجعة الرسائل حول تأمين بيانات Cloud Storage الخاصة بك باستخدام قواعد الأمان. أثناء التطوير، فكر في إعداد القواعد الخاصة بك للوصول العام .

  3. حدد موقعًا لحاوية التخزين السحابي الافتراضية الخاصة بك.

    • يعد إعداد الموقع هذا هو موقع موارد Google Cloud Platform (GCP) الافتراضي لمشروعك. لاحظ أنه سيتم استخدام هذا الموقع لخدمات GCP في مشروعك الذي يتطلب إعداد الموقع، على وجه التحديد، قاعدة بيانات Cloud Firestore وتطبيق App Engine (وهو أمر مطلوب إذا كنت تستخدم Cloud Scholer).

    • إذا لم تتمكن من تحديد موقع، فهذا يعني أن مشروعك يحتوي بالفعل على موقع مورد Google Cloud Platform افتراضي. تم ضبطه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.

    إذا كنت مشتركًا في خطة Blaze، فيمكنك إنشاء مجموعات متعددة ، لكل منها موقعها الخاص.

  4. انقر فوق تم .

قم بإعداد الوصول العام

يوفر Cloud Storage for Firebase لغة قواعد تعريفية تسمح لك بتحديد كيفية تنظيم بياناتك، وكيفية فهرستها، ومتى يمكن قراءة بياناتك منها والكتابة إليها. بشكل افتراضي، يتم تقييد الوصول للقراءة والكتابة إلى Cloud Storage بحيث يتمكن المستخدمون المصادق عليهم فقط من قراءة البيانات أو كتابتها. للبدء دون إعداد المصادقة ، يمكنك تكوين القواعد الخاصة بك للوصول العام .

وهذا يجعل التخزين السحابي مفتوحًا لأي شخص، حتى الأشخاص الذين لا يستخدمون تطبيقك، لذا تأكد من تقييد التخزين السحابي الخاص بك مرة أخرى عند إعداد المصادقة.

أضف التخزين السحابي إلى تطبيقك

استخدم Swift Package Manager لتثبيت تبعيات Firebase وإدارتها.

  1. في Xcode، مع فتح مشروع التطبيق الخاص بك، انتقل إلى File > Add Packages .
  2. عندما يُطلب منك ذلك، قم بإضافة مستودع Firebase Apple الأساسي لـ SDK:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. اختر مكتبة التخزين السحابي.
  5. أضف علامة -ObjC إلى قسم إشارات الرابط الأخرى في إعدادات إنشاء هدفك.
  6. عند الانتهاء، سيبدأ Xcode تلقائيًا في حل وتنزيل تبعياتك في الخلفية.

قم بإعداد التخزين السحابي

يجب عليك تهيئة Firebase قبل إنشاء أي مرجع لـ Firebase أو استخدامه. إذا كنت قد قمت بذلك بالفعل لميزة أخرى في Firebase، فيمكنك تخطي هذه الخطوة.

  1. قم باستيراد وحدة FirebaseCore في UIApplicationDelegate ، بالإضافة إلى أي وحدات Firebase أخرى يستخدمها مندوب تطبيقك. على سبيل المثال، لاستخدام Cloud Firestore والمصادقة:

    سويفتويي

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    سويفت

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    ج موضوعية

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. قم بتكوين مثيل FirebaseApp مشترك في طريقة application(_:didFinishLaunchingWithOptions:) :

    سويفتويي

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

    سويفت

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

    ج موضوعية

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. إذا كنت تستخدم SwiftUI، فيجب عليك إنشاء مفوض تطبيق وإرفاقه ببنية App الخاص بك عبر UIApplicationDelegateAdaptor أو NSApplicationDelegateAdaptor . يجب عليك أيضًا تعطيل swizzling مندوب التطبيق. لمزيد من المعلومات، راجع تعليمات SwiftUI .

    سويفتويي

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. احصل على مرجع لخدمة Cloud Storage، باستخدام تطبيق Firebase الافتراضي:

    سويفت

    let storage = Storage.storage()
    

    ج موضوعية

    FIRStorage *storage = [FIRStorage storage];
    

أنت جاهز لبدء استخدام التخزين السحابي!

أولاً، دعونا نتعلم كيفية إنشاء مرجع للتخزين السحابي .

اعدادات متقدمة

هناك بعض حالات الاستخدام التي تتطلب إعدادًا إضافيًا:

تعتبر حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمين في جميع أنحاء العالم، وترغب في تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء مجموعات بيانات في الولايات المتحدة وأوروبا وآسيا لتخزين البيانات للمستخدمين في تلك المناطق لتقليل زمن الاستجابة.

حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات ذات أنماط وصول مختلفة. على سبيل المثال: يمكنك إعداد حاوية إقليمية أو متعددة المناطق لتخزين الصور أو غيرها من المحتويات التي يتم الوصول إليها بشكل متكرر، وحاوية الخط القريب أو البارد التي تخزن النسخ الاحتياطية للمستخدم أو أي محتوى آخر لا يتم الوصول إليه بشكل متكرر.

في أي من حالات الاستخدام هذه، ستحتاج إلى استخدام مجموعات تخزين سحابية متعددة .

تعتبر حالة الاستخدام الثالثة مفيدة إذا كنت تقوم بإنشاء تطبيق، مثل Google Drive، والذي يتيح للمستخدمين الحصول على حسابات متعددة مسجلة الدخول (على سبيل المثال، حساب شخصي وحساب عمل). يمكنك استخدام مثيل تطبيق Firebase مخصص لمصادقة كل حساب إضافي.

استخدم عدة مجموعات تخزين سحابية

إذا كنت تريد استخدام مجموعة تخزين سحابي بخلاف الحاوية الافتراضية المذكورة أعلاه، أو استخدام مجموعات تخزين سحابية متعددة في تطبيق واحد، فيمكنك إنشاء مثيل FIRStorage الذي يشير إلى حاويتك المخصصة:

سويفت

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

ج موضوعية

// 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://<your-cloud-storage-bucket>

يمكنك العثور على رقم مشروعك كما هو موضح في مقدمة مشاريع 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")
    

ج موضوعية

// 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"];
    

الخطوات التالية