تتيح لك أداة Cloud Storage for Firebase تحميل محتوى ينشئه المستخدمون ومشاركته، مثل الصور والفيديوهات، ما يتيح لك إنشاء محتوى وسائط متعددة تفاعلية في تطبيقاتك. يتم تخزين بياناتك في حزمة Google Cloud Storage، وهي حلّ تخزين كائنات على مستوى إكسابايت يتميز بمدى توفّر مرتفع ومزود بميزة التجميع الفائض على مستوى عالمي. يتيح لك تطبيق Cloud Storage for Firebase تحميل هذه الملفات بأمان مباشرةً من الأجهزة الجوّالة ومتصفّحات الويب، والتعامل بسهولة مع الشبكات التي تتوفّر فيها اتصالات متقطّعة.
قبل البدء
تأكَّد من إكمال دليل البدء لتطبيقات منصات Apple، إذا لم يسبق لك ذلك. يشمل هذا النوع من المحتوى ما يلي:
إنشاء مشروع على Firebase
تسجيل تطبيقك المتوافق مع منصات Apple في المشروع، وربط تطبيقك بخدمة Firebase من خلال إضافة مكتبة Firebase وملف إعدادات Firebase (
GoogleService-Info.plist
) إلى تطبيقك
تأكَّد من أنّ مشروعك على Firebase يستخدم خطة أسعار Blaze المستندة إلى الدفع حسب الاستخدام. إذا كنت حديث العهد بخدمة Firebase وGoogle Cloud، تحقّق ممّا إذا كنت مؤهلاً للحصول على رصيد بقيمة 300 دولار أمريكي.
إنشاء حزمة Cloud Storage تلقائية
من لوحة التنقّل في وحدة تحكّم Firebase، اختَر مساحة التخزين.
إذا لم يكن مشروعك مشتركًا في خطة أسعار Blaze المستندة إلى الدفع عند الاستخدام بعد، سيتم إعلامك بضرورة ترقية مشروعك.
انقر على البدء.
اختَر موقعًا جغرافيًا للحزمة التلقائية.
يمكن للحزم في
وUS-CENTRAL1
وUS-EAST1
الاستفادة من المستوى"مجاني دائمًا" في Google Cloud Storage. وتلتزم الحِزم في جميع المواقع الجغرافية الأخرى بحدود Google Cloud Storage السعر والاستخدام.US-WEST1
يمكنك في وقت لاحق إنشاء حِزم متعددة، يكون لكلّ منها موقع جغرافي خاص بها، إذا أردت ذلك.
اضبط Firebase Security Rules للحزمة التلقائية. أثناء التطوير، ننصحك بإعداد قواعد الوصول العلني.
انقر على تم.
يمكنك الآن عرض الحزمة في علامتَي التبويب
Cloud Storage الملفات
في وحدة تحكّم Firebase. تنسيق اسم الحزمة التلقائي هو
PROJECT_ID.firebasestorage.app
إعداد إمكانية الوصول العلني
Cloud Storage for Firebase يوفّر لغة قواعد توضيحية تتيح لك تحديد كيفية تنظيم بياناتك وكيفية فهرستها والحالات التي يمكن فيها قراءة بياناتك وكتابتها. يتم تلقائيًا حظر الوصول للقراءة والكتابة إلى Cloud Storage حتى لا يتمكّن سوى المستخدمين الذين تم مصادقة هويتهم من قراءة data أو كتابتها. للبدء بدون إعداد Authentication، يمكنك ضبط قواعدك للوصول العلني.
يؤدي ذلك إلى فتح Cloud Storage لأي مستخدم، حتى المستخدمين الذين لا يستخدمون تطبيقك، لذا احرص على حظر Cloud Storage مرة أخرى عند إعداد مصادقة.
إضافة Cloud Storage إلى تطبيقك
استخدِم أداة Swift Package Manager لتثبيت تبعيات Firebase وإدارتها.
- في Xcode، مع فتح مشروع تطبيقك، انتقِل إلى ملف > إضافة حِزم.
- أضِف مستودع حزمة تطوير البرامج (SDK) لمنصّات Apple من Firebase عندما يُطلب منك ذلك:
- اختَر مكتبة Cloud Storage.
- أضِف العلامة
-ObjC
إلى قسم رموز ربط أخرى في إعدادات الإنشاء الخاصة بالهدف. - عند الانتهاء، سيبدأ Xcode تلقائيًا في حلّ ملفاتك المضمّنة وتنزيلها في الخلفية.
https://github.com/firebase/firebase-ios-sdk.git
إعداد Cloud Storage في تطبيقك
عليك إعداد Firebase قبل إنشاء أي مرجع Firebase أو استخدامه.
قد تكون قد أجريت ذلك من قبل إذا سبق لك إعداد منتج آخر من Firebase، ولكن عليك التأكّد من إضافة مكتبة
FirebaseStorage
إلى قائمة عمليات الاستيراد.استورِد وحدة
FirebaseCore
ووحدةFirebaseStorage
فيUIApplicationDelegate
. ننصحك أيضًا بإضافةFirebaseAuth
.SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...
يمكنك ضبط مثيل مشترَك لملف برمجي
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];
(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() } } } }
الحصول على مرجع لخدمة Cloud Storage باستخدام تطبيق Firebase التلقائي
تأكَّد من تعديل ملف إعدادات Firebase (
GoogleService-Info.plist
) في codebase لتطبيقك باستخدام اسم حزمة Cloud Storage التلقائية.استخدِم ملف الإعدادات الذي تم تنزيله لاستبدال ملف
GoogleService-Info.plist
الحالي في جذر مشروع Xcode. اختَر إضافة ملف الإعدادات إلى جميع الاستهدافات إذا طُلب منك ذلك.تأكَّد من أنّ ملف الإعدادات الذي تم تنزيله مؤخرًا هو الوحيد الذي تم تضمينه في تطبيقك، ومن أنّه لم يتم إلحاق اسم الملف بعلامات إضافية، مثل
(2)
.
احصل على مرجع للخدمة Cloud Storage باستخدام تطبيق Firebase التلقائي:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-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 في مناطق جغرافية متعدّدة
- استخدام 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://BUCKET_NAME
يمكنك العثور على رقم مشروعك كما هو موضّح في مقدّمة عن مشاريع 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"];
الخطوات التالية
تجهيز تطبيقك للإطلاق:
فعِّل App Check للمساعدة في التأكّد من أنّه يمكن لتطبيقاتك فقط الوصول إلى حِزم التخزين.
إعداد تنبيهات بشأن الميزانية لمشروعك في وحدة تحكّم Google Cloud
يمكنك مراقبة لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase للحصول على نظرة عامة على استخدام مشروعك على مستوى خدمات Firebase المتعددة. يمكنك أيضًا الانتقال إلى لوحة بيانات Cloud Storage الاستخدام للحصول على معلومات استخدام أكثر تفصيلاً.