تتيح لك Cloud Storage for Firebase تحميل المحتوى من إنشاء المستخدمين ومشاركته، مثل الصور والفيديوهات، ما يتيح لك إنشاء محتوى وسائط متعددة تفاعلية في تطبيقاتك. يتم تخزين بياناتك في حزمة Google Cloud Storage، وهي حل لتخزين الكائنات بسعة إكسابايت مع توفّر عالٍ وتكرار عالمي. تتيح لك ميزة Cloud Storage for Firebase تحميل هذه الملفات بأمان مباشرةً من الأجهزة الجوّالة ومتصفحات الويب، والتعامل مع الشبكات المتقطّعة بسهولة.
قبل البدء
إذا لم يسبق لك إجراء ذلك، تأكَّد من إكمال دليل بدء استخدام التطبيقات على منصات Apple. ويشمل ذلك ما يلي:
إنشاء مشروع على Firebase
تسجيل تطبيقك على منصات Apple في المشروع، وربط تطبيقك بمنصة Firebase من خلال إضافة مكتبة Firebase وملف إعدادات Firebase (
GoogleService-Info.plist
) إلى تطبيقك
تأكَّد من أنّ مشروعك على Firebase يستخدِم خطة أسعار "الفئة المَرِنة" بنظام الدفع حسب الاستخدام. إذا كنت حديث العهد باستخدام 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، وبالتالي لا يمكن للمستخدمين المصادق عليهم فقط قراءة البيانات أو كتابتها. للبدء بدون إعداد Authentication، يمكنك ضبط قواعد الوصول العام.
يؤدي ذلك إلى إتاحة Cloud Storage لأي شخص، حتى الأشخاص الذين لا يستخدمون تطبيقك، لذا احرص على حصر الوصول إلى Cloud Storage مرة أخرى عند إعداد المصادقة.
إضافة Cloud Storage إلى تطبيقك
استخدِم أداة Swift Package Manager لتثبيت الموارد الاعتمادية في Firebase وإدارتها.
- في Xcode، بعد فتح مشروع تطبيقك، انتقِل إلى ملف > إضافة حِزم.
- عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصة Firebase على أجهزة Apple:
- اختَر مكتبة 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
) في قاعدة رموز تطبيقك ليشمل اسم حزمة 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 مع عدة مستخدمين تمت مصادقتهم في التطبيق نفسه
تكون حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمون في جميع أنحاء العالم، وتريد تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء حِزم في الولايات المتحدة وأوروبا وآسيا لتخزين بيانات المستخدمين في هذه المناطق من أجل تقليل وقت الاستجابة.
تكون حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات بأنماط وصول مختلفة. على سبيل المثال، يمكنك إعداد حزمة متعددة المناطق أو حزمة إقليمية تخزّن الصور أو المحتوى الآخر الذي يتم الوصول إليه بشكل متكرر، وحزمة Nearline أو Coldline تخزّن نُسخًا احتياطية من بيانات المستخدمين أو المحتوى الآخر الذي يتم الوصول إليه بشكل غير متكرر.
في أيّ من هاتين الحالتين، عليك استخدام عدة حِزم 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 لوحة بيانات الاستخدام للحصول على معلومات أكثر تفصيلاً حول الاستخدام.