يتيح لك Cloud Storage for Firebase تحميل ومشاركة المحتوى الذي ينشئه المستخدم ، مثل الصور والفيديو ، مما يسمح لك بإنشاء محتوى وسائط غني في تطبيقاتك. يتم تخزين بياناتك في حاوية Google Cloud Storage - وهو حل تخزين كائنات بحجم إكسابايت مع توفر عالٍ وتكرار عالمي. يتيح لك التخزين السحابي لـ Firebase تحميل هذه الملفات بأمان مباشرة من الأجهزة المحمولة ومتصفحات الويب ، والتعامل مع الشبكات المتقطعة بسهولة.
المتطلبات الأساسية
- ثبّت حزمة Firebase SDK .
- أضف تطبيقك إلى مشروع Firebase في وحدة تحكم Firebase .
أنشئ حاوية تخزين سحابية افتراضية
من جزء التنقل بوحدة تحكم Firebase ، حدد التخزين ، ثم انقر على البدء .
راجع الرسائل المتعلقة بتأمين بيانات Cloud Storage الخاصة بك باستخدام قواعد الأمان. أثناء التطوير ، ضع في اعتبارك إعداد القواعد الخاصة بك للوصول العام .
حدد موقعًا لحاوية التخزين السحابية الافتراضية.
يعد إعداد الموقع هذا هو موقع موارد Google Cloud Platform (GCP) الافتراضي لمشروعك. لاحظ أنه سيتم استخدام هذا الموقع لخدمات GCP في مشروعك التي تتطلب إعداد موقع ، وعلى وجه التحديد ، قاعدة بيانات Cloud Firestore وتطبيق App Engine (وهو مطلوب إذا كنت تستخدم Cloud Scheduler).
إذا لم تكن قادرًا على تحديد موقع ، فإن مشروعك يحتوي بالفعل على موقع موارد GCP افتراضي. تم تعيينه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.
إذا كنت تستخدم خطة Blaze ، فيمكنك إنشاء مجموعات متعددة ، لكل منها موقعه الخاص.
انقر فوق تم .
قم بإعداد الوصول العام
يوفر Cloud Storage for Firebase لغة قواعد تعريفية تسمح لك بتحديد كيفية تنظيم بياناتك ، وكيف ينبغي فهرستها ، ومتى يمكن قراءة بياناتك والكتابة إليها. بشكل افتراضي ، يكون الوصول للقراءة والكتابة إلى Cloud Storage مقيدًا بحيث يمكن للمستخدمين المصادق عليهم فقط قراءة البيانات أو كتابتها. للبدء بدون إعداد المصادقة ، يمكنك تكوين القواعد الخاصة بك للوصول العام .
هذا يجعل التخزين السحابي مفتوحًا لأي شخص ، حتى الأشخاص الذين لا يستخدمون تطبيقك ، لذا تأكد من تقييد التخزين السحابي مرة أخرى عند إعداد المصادقة.
أضف Cloud Storage إلى تطبيقك
استخدم Swift Package Manager لتثبيت وإدارة تبعيات Firebase.
- في Xcode ، مع فتح مشروع التطبيق الخاص بك ، انتقل إلى ملف> إضافة حزم .
- عند المطالبة ، أضف مستودع SDK لأنظمة Apple الأساسية لـ Firebase:
- اختر مكتبة التخزين السحابي.
- عند الانتهاء ، سيبدأ Xcode تلقائيًا في حل وتنزيل التبعيات الخاصة بك في الخلفية.
https://github.com/firebase/firebase-ios-sdk
قم بإعداد التخزين السحابي
يجب تهيئة Firebase قبل إنشاء أو استخدام أي مرجع Firebase. إذا كنت قد فعلت ذلك بالفعل لميزة Firebase أخرى ، فيمكنك تخطي هذه الخطوة.
- قم باستيراد وحدة
FirebaseCore
في مندوبUIApplicationDelegate
، بالإضافة إلى أي وحدات Firebase أخرى يستخدمها مفوض التطبيق. على سبيل المثال ، لاستخدام Cloud Firestore والمصادقة:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
سويفت
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
ج موضوعية
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- قم بتهيئة مثيل
FirebaseApp
مشترك فيapplication(_:didFinishLaunchingWithOptions:)
:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
سويفت
// Use Firebase library to configure APIs FirebaseApp.configure()
ج موضوعية
// Use Firebase library to configure APIs [FIRApp configure];
- إذا كنت تستخدم 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() } } } }
- احصل على مرجع إلى خدمة التخزين السحابي ، باستخدام تطبيق Firebase الافتراضي:
سويفت
let storage = Storage.storage()
ج موضوعية
FIRStorage *storage = [FIRStorage storage];
أنت جاهز لبدء استخدام Cloud Storage!
أولاً ، دعنا نتعلم كيفية إنشاء مرجع Cloud 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"];
العمل مع الجرافات المستوردة
عند استيراد حاوية التخزين السحابي الحالية إلى 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"];
الخطوات التالية
استعد لإطلاق تطبيقك:
قم بتمكين التحقق من التطبيق للمساعدة في ضمان أن تطبيقاتك فقط هي التي يمكنها الوصول إلى حاويات التخزين الخاصة بك.
قم بإعداد تنبيهات الميزانية لمشروعك في Google Cloud Console.
راقب لوحة معلومات الاستخدام والفوترة في وحدة تحكم Firebase للحصول على صورة شاملة لاستخدام مشروعك عبر خدمات Firebase المتعددة. يمكنك أيضًا زيارة لوحة معلومات استخدام التخزين السحابي للحصول على معلومات استخدام أكثر تفصيلاً.