تتيح لك أداة Cloud Storage for Firebase تحميل محتوى ينشئه المستخدمون ومشاركته، مثل الصور والفيديوهات، ما يتيح لك إنشاء محتوى وسائط متعددة تفاعلية في تطبيقاتك. يتم تخزين بياناتك في حزمة Google Cloud Storage، وهي حلّ تخزين كائنات على مستوى إكسابايت يتميز بمدى توفّر مرتفع ومزود بميزة التجميع الفائض على مستوى عالمي. يتيح لك Cloud Storage for Firebase تحميل هذه الملفات بأمان. من الأجهزة المحمولة ومتصفحات الويب، مما يؤدي إلى التعامل مع الشبكات غير المستقرة والسهولة.
المتطلبات الأساسية
أضِف Firebase إلى مشروع Android الخاص بك، في حال لم يسبق لك إجراء ذلك.
إنشاء حزمة Cloud Storage تلقائية
من مساحة الروابط في وحدة تحكّم Firebase، اختَر مساحة التخزين. ثم انقر على البدء.
يمكنك مراجعة الرسالة حول تأمين بياناتك في "Cloud Storage" باستخدام الأمان. القواعد. أثناء التطوير، ننصحك بإعداد قواعد الوصول العلني.
اختَر موقعًا جغرافيًا لموقعك الجغرافي التلقائي. حزمة Cloud Storage
إنّ إعداد الموقع الجغرافي هذا هو إعدادات مشروعك الموقع الجغرافي التلقائي لموارد Google Cloud Platform (GCP) تجدر الإشارة إلى أنّه سيتم استخدام هذا الموقع الجغرافي لخدمات GCP في مشروعك. التي تتطلب إعدادًا للموقع الجغرافي، وتحديدًا، قاعدة بيانات Cloud Firestore تطبيق App Engine (والذي يكون مطلوبًا في حال استخدام Cloud Scheduler).
إذا لم تتمكّن من اختيار موقع جغرافي، يعني ذلك أنّ مشروعك لديه موقع جغرافي تلقائي لمورد Google Cloud Platform. تم ضبطه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلّب تحديد الموقع الجغرافي.
إذا كنت تستخدم خطة Blaze، يمكنك إنشاء حِزم متعددة، ولكل حزمة موقع جغرافي خاص بها.
انقر على تم.
إعداد إتاحة الوصول للجميع
توفّر Cloud Storage for Firebase لغة قواعد تعريفية تتيح لك لتحديد كيف يجب تنظيم بياناتك، وكيف يجب فهرستها، ومتى يجب يمكن قراءة البيانات منها والكتابة إليها. يتم تلقائيًا حظر الوصول للقراءة والكتابة إلى Cloud Storage حتى لا يتمكّن سوى المستخدمين الذين تم مصادقة هويتهم من قراءة data أو كتابتها. للبدء بدون إعداد Authentication، يمكنك ضبط قواعدك للوصول العلني.
يؤدي ذلك إلى فتح Cloud Storage لأي مستخدم، حتى المستخدمين الذين لا يستخدمون تطبيقك، لذا احرص على حظر Cloud Storage مرة أخرى عند إعداد مصادقة.
إضافة حزمة تطوير البرامج (SDK) لتطبيق Cloud Storage إلى تطبيقك
في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً<project>/<app-module>/build.gradle.kts
أو
<project>/<app-module>/build.gradle
)،
أضف التبعية لمكتبة Cloud Storage لنظام التشغيل Android. ننصح باستخدام
Firebase Android BoM
للتحكم في إصدارات المكتبة.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.4.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Android في Firebase.
(بديل) إضافة تبعيات مكتبة Firebase بدون استخدام BoM
إذا اخترت عدم استخدام Firebase BoM، يجب تحديد كل إصدار من إصدارات مكتبة Firebase. في سطر التبعية.
يُرجى ملاحظة أنّه إذا كنت تستخدم مكتبات Firebase متعددة في تطبيقك، سنعتمد بشدة ننصح باستخدام BoM لإدارة نُسخ المكتبة، ما يضمن نشر جميع النُسخ متوافقة.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.1") }
إعداد Cloud Storage
للوصول إلى حزمة Cloud Storage، عليك أولاً إنشاء
مثال لـ FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
يمكنك الآن بدء استخدام Cloud Storage.
لنتعرف أولاً على كيفية إنشاء Cloud Storage المرجع.
الإعداد المتقدّم
هناك بعض حالات الاستخدام التي تتطلّب إجراء إعدادات إضافية:
- استخدام حِزم Cloud Storage في مناطق جغرافية متعدّدة
- استخدام Cloud Storage مجموعات في فئات تخزين مختلفة
- استخدام Cloud Storage حزمة مع عدة مستخدمين تمت مصادقتهم في التطبيق نفسه
تكون حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمون في جميع أنحاء العالم وأردت تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء مجموعات في الولايات المتحدة أوروبا وآسيا لتخزين البيانات للمستخدمين في هاتين المنطقتين لتقليل وقت الاستجابة
تكون حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات تتضمّن أنماط وصول مختلفة. على سبيل المثال: يمكنك إعداد حزمة متعدّدة المناطق أو إقليمية لتخزين والصور أو أي محتوى آخر يتم الوصول إليه بشكل متكرر، بالإضافة إلى حزمة تخزن النسخ الاحتياطية للمستخدمين أو غيره من المحتوى الذي يتم الوصول إليه بشكل غير متكرر.
في أي من حالات الاستخدام هذه، ستحتاج إلى استخدام حِزم Cloud Storage متعدّدة
أما حالة الاستخدام الثالثة فهي مفيدة إذا كنت تنشئ تطبيقًا، مثل Google Drive، يتيح للمستخدمين امتلاك عدة حسابات تم تسجيل الدخول إليها (على سبيل المثال، حساب شخصي وحساب العمل). يمكنك استخدام مثيل تطبيق Firebase مخصّص لمصادقة كل حساب إضافي.
استخدام حِزم Cloud Storage متعدّدة
إذا كنت تريد استخدام حزمة Cloud Storage غير الحزمة التلقائية المتوفّرة أعلاه،
أو استخدام عدة حِزم Cloud Storage في تطبيق واحد، يمكنك إنشاء مثيل
من FirebaseStorage
تشير إلى حزمتك المخصَّصة:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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
مخصّص، يمكنك
إنشاء مثيل من FirebaseStorage
تم إعداده باستخدام هذا التطبيق:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
الخطوات التالية
الاستعداد لإطلاق تطبيقك:
يمكنك تفعيل App Check للمساعدة في التأكد من وصول تطبيقاتك إلى حِزم مساحة التخزين
إعداد الميزانية تنبيهات لمشروعك في وحدة تحكم Google Cloud.
يمكنك مراقبة الاستخدام والفوترة لوحة البيانات في وحدة تحكم Firebase للحصول على صورة شاملة عبر خدمات Firebase المتعددة. يمكنك أيضًا الانتقال إلى Cloud Storage لوحة بيانات "الاستخدام" للحصول على مزيد من المعلومات التفصيلية عن الاستخدام.