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

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

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

  1. ثبِّت حزمة تطوير البرامج (SDK) لمنصّة Firebase.
  2. أضِف تطبيقك إلى مشروع Firebase في وحدة تحكُّم Firebase.

إنشاء حزمة Cloud Storage تلقائية

  1. من مساحة الروابط في وحدة تحكّم Firebase، اختَر مساحة التخزين. ثم انقر على البدء.

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

  3. اختَر موقعًا جغرافيًا لموقعك الجغرافي التلقائي. حزمة Cloud Storage

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

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

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

  4. انقر على تم.

إعداد إتاحة الوصول للجميع

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

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

إضافة Cloud Storage إلى تطبيقك

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

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

إعداد ميزة "Cloud Storage"

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

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

    SwiftUI

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

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @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، عليك إنشاء عنصر نائب للتطبيق وإرفاقه ببنية App من خلال UIApplicationDelegateAdaptor أو NSApplicationDelegateAdaptor. ويجب أيضًا إيقاف إيماءة تفويض التطبيق. بالنسبة لمزيد من المعلومات، يُرجى الاطّلاع على تعليمات SwiftUI.

    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 التلقائي:

    Swift

    let storage = Storage.storage()
    

    Objective-C

    FIRStorage *storage = [FIRStorage storage];
    

يمكنك الآن بدء استخدام Cloud Storage.

لنتعرف أولاً على كيفية إنشاء Cloud Storage المرجع.

الإعداد المتقدّم

هناك بعض حالات الاستخدام التي تتطلّب إجراء إعدادات إضافية:

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

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

في أي من حالات الاستخدام هذه، ستحتاج إلى استخدام حِزم 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 المضمّنة في حزمة تطوير البرامج (SDK) لنظامGoogle Cloud:

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 تم إعداده باستخدام هذا التطبيق:

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

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