تتيح لك خدمة Cloud Storage for Firebase تحميل محتوى من إنشاء المستخدمين ومشاركته، مثل الصور والفيديوهات، ما يتيح لك إنشاء محتوى من الوسائط التفاعلية المتقدّمة في تطبيقاتك. ويتم تخزين بياناتك في حزمة Google Cloud Storage، وهي عبارة عن حل لتخزين العناصر على نطاق كبير جدًا مع توفّر عالٍ وتكرار على مستوى العالم. تتيح لك خدمة Cloud Storage for Firebase تحميل هذه الملفات بأمان مباشرةً من الأجهزة الجوّالة ومتصفّحات الويب، مع التعامل مع الشبكات غير المستقرة بسهولة.
المتطلّبات الأساسية
- ثبِّت حزمة تطوير البرامج (SDK) لمنصّة Firebase.
- أضِف تطبيقك إلى مشروع Firebase في وحدة تحكُّم Firebase.
إنشاء حزمة تلقائية في Cloud Storage
من مساحة الروابط في وحدة تحكُّم Firebase، اختَر مساحة التخزين، ثم انقر على البدء.
راجِع الرسالة المتعلقة بتأمين بيانات Cloud Storage باستخدام قواعد الأمان. أثناء التطوير، يمكنك إعداد قواعد الوصول العام.
اختَر موقعًا جغرافيًا لحزمتك التلقائية في Cloud Storage.
إنّ إعداد الموقع الجغرافي هذا هو الموقع الجغرافي التلقائي لموارد Google Cloud Platform (GCP) لمشروعك. تجدر الإشارة إلى أنّه سيتم استخدام هذا الموقع الجغرافي في خدمات Google Cloud Platform في مشروعك التي تتطلّب ضبط إعدادات الموقع الجغرافي، وتحديدًا قاعدة بيانات Cloud Firestore وتطبيق App Engine (مطلوب في حال استخدام Cloud Scheduler).
إذا لم تتمكّن من اختيار موقع جغرافي، يعني ذلك أنّ مشروعك يحتوي على موقع جغرافي تلقائي لمورد Google Cloud Platform. تم إعداده إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.
إذا كنت مشتركًا في خطة Blaze، يمكنك إنشاء عدة مجموعات بيانات، لكل منها موقعها الجغرافي الخاص.
انقر على تم.
إعداد إتاحة الوصول للجميع
توفّر خدمة Cloud Storage for Firebase لغة قواعد تعريفية تتيح لك تحديد كيفية تنظيم البيانات، وطريقة فهرستها، ومتى يمكن قراءة البيانات منها وكتابتها. وفقًا للإعدادات التلقائية، يكون إذن الوصول للقراءة والكتابة إلى Cloud Storage محظورًا، لذلك لا يمكن لأحد سوى المستخدمين الذين تمت مصادقتهم قراءة البيانات أو كتابتها. للبدء بدون إعداد المصادقة، يمكنك ضبط قواعدك للوصول العام.
يؤدي ذلك إلى إتاحة خدمة Cloud Storage لأي شخص، حتى الأشخاص الذين لا يستخدمون تطبيقك، لذا احرص على تقييد استخدام Cloud Storage مرة أخرى عند إعداد المصادقة.
إضافة Cloud Storage إلى تطبيقك
يمكنك استخدام "مدير حزم Swift" لتثبيت اعتماديات Firebase وإدارتها.
- في Xcode، بعد فتح مشروع تطبيقك، انتقِل إلى File > Add Packages (ملف > إضافة حِزم).
- أضِف مستودع حزمة تطوير البرامج (SDK) لمنصّات Firebase Apple عندما يُطلب منك ذلك:
- اختَر مكتبة Cloud Storage.
- أضِف العلامة
-ObjC
إلى القسم علامات الروابط الأخرى في إعدادات إصدار هدفك. - عند الانتهاء، ستبدأ خدمة Xcode تلقائيًا في حلّ المشاكل المتعلّقة بالعناصر التي تعتمد عليها وتنزيلها في الخلفية.
https://github.com/firebase/firebase-ios-sdk.git
إعداد Cloud Storage
يجب إعداد Firebase قبل إنشاء أو استخدام أي مرجع لمنصة Firebase. وإذا سبق لك إجراء ذلك لميزة أخرى في Firebase، يمكنك تخطّي هذه الخطوة.
- يمكنك استيراد وحدة
FirebaseCore
فيUIApplicationDelegate
، بالإضافة إلى أي وحدات Firebase أخرى يستخدمها المستخدم المفوَّض في تطبيقك. على سبيل المثال، لاستخدام Cloud Firestore والمصادقة:واجهة المستخدم
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- يمكنك ضبط المثيل المشترك ضمن
FirebaseApp
في طريقةapplication(_:didFinishLaunchingWithOptions:)
الخاصة بمفوَّض تطبيقك:واجهة المستخدم
// 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];
- إذا كنت تستخدم SwiftUI، عليك إنشاء تفويض تطبيق وإرفاقه
ببنية
App
من خلالUIApplicationDelegateAdaptor
أوNSApplicationDelegateAdaptor
. ويجب أيضًا إيقاف إيماءة تفويض التطبيق. لمزيد من المعلومات، راجِع تعليمات SwiftUI.واجهة المستخدم
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
الحصول على مرجع إلى خدمة Cloud Storage باستخدام تطبيق Firebase التلقائي:
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
أنت جاهز لبدء استخدام Cloud Storage.
لنتعرّف أولاً على كيفية إنشاء مرجع Cloud Storage.
الإعداد المتقدّم
هناك بعض حالات الاستخدام التي تتطلب إعدادًا إضافيًا:
- استخدام حِزم Cloud 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
المضمّنة في 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
تم إعداده باستخدام هذا التطبيق:
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"];
الخطوات اللاحقة
الاستعداد لإطلاق تطبيقك:
فعِّل ميزة التحقّق من التطبيقات للمساعدة في التأكّد من أنّ تطبيقاتك فقط يمكنها الوصول إلى حِزم التخزين.
إعداد تنبيهات الميزانية لمشروعك في Google Cloud Console
راقِب لوحة بيانات الاستخدام والفوترة في وحدة تحكُّم Firebase للحصول على صورة عامة عن استخدام مشروعك على عدّة خدمات في Firebase. يمكنك أيضًا الانتقال إلى لوحة بيانات استخدام Cloud Storage للاطّلاع على معلومات أكثر تفصيلاً عن الاستخدام.