Catch up on everthing we announced at this year's Firebase Summit. Learn more

ابدأ مع Cloud Storage على Android

يتيح لك Cloud Storage for Firebase تحميل ومشاركة المحتوى الذي ينشئه المستخدمون ، مثل الصور والفيديو ، مما يسمح لك بإنشاء محتوى وسائط غني في تطبيقاتك. يتم تخزين البيانات في جوجل سحابة التخزين دلو - حل تخزين الكائن نطاق شركة Exabyte مع توافر عالية والتكرار العالمي. يتيح لك التخزين السحابي لـ Firebase تحميل هذه الملفات بأمان مباشرة من الأجهزة المحمولة ومتصفحات الويب ، والتعامل مع الشبكات المتقطعة بسهولة.

المتطلبات الأساسية

إذا كنت لم تقم بذلك بالفعل، إضافة Firebase إلى مشروع Android .

قم بإنشاء حاوية تخزين سحابية افتراضية

  1. من جزء التنقل من وحدة التحكم Firebase ، حدد التخزين، ثم انقر فوق ابدأ.

  2. راجع الرسائل المتعلقة بتأمين بيانات Cloud Storage الخاصة بك باستخدام قواعد الأمان. أثناء التطور، والنظر في وضع قواعد للحصول على وصول الجمهور .

  3. حدد موقع لديك دلو سحابة التخزين الافتراضي.

    • هذا الإعداد الموقع مشروعك جوجل سحابة منصة (GCP) موقع الموارد الافتراضية . علما بأن هذا الموقع سوف تستخدم لخدمات GCP في المشروع التي تتطلب إعداد الموقع، وعلى وجه التحديد، يا سحابة Firestore قاعدة البيانات الخاصة بك و محرك التطبيقات التطبيق (وهو مطلوب إذا كنت تستخدم الغيمة جدولة).

    • إذا لم تكن قادرًا على تحديد موقع ، فإن مشروعك يحتوي بالفعل على موقع موارد GCP افتراضي. تم تعيينه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.

    إذا كنت على خطة الحريق، يمكنك إنشاء مجموعات بيانات متعددة ، ولكل منها الخاصة به موقع .

  4. انقر فوق تم.

إعداد الوصول العام

يوفر Cloud Storage for Firebase لغة قواعد تعريفية تسمح لك بتحديد كيفية تنظيم بياناتك ، وكيف ينبغي فهرستها ، ومتى يمكن قراءة بياناتك والكتابة إليها. بشكل افتراضي ، يكون الوصول للقراءة والكتابة إلى Cloud Storage مقيدًا بحيث يمكن للمستخدمين المصادق عليهم فقط قراءة البيانات أو كتابتها. لتبدأ بدون إعداد مصادقة ، يمكنك تكوين قواعد للحصول على وصول الجمهور .

هذا يجعل التخزين السحابي مفتوحًا لأي شخص ، حتى الأشخاص الذين لا يستخدمون تطبيقك ، لذا تأكد من تقييد التخزين السحابي مرة أخرى عند إعداد المصادقة.

أضف Cloud Storage SDK إلى تطبيقك

باستخدام Firebase الروبوت بوم ، أن يعلن تبعية المكتبة سحابة التخزين الروبوت في الوحدة النمطية الخاصة بك (على مستوى التطبيق) ملف Gradle (عادة app/build.gradle ).

جافا

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare 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 الروبوت بوم ، والتطبيق دائما استخدام إصدارات متوافقة من المكتبات Firebase الروبوت.

(البديل) إعلان Firebase تبعيات مكتبة دون استخدام BOM

إذا اخترت عدم استخدام Firebase BoM ، فيجب عليك تحديد كل إصدار من إصدارات مكتبة Firebase في سطر التبعية الخاص بها.

ملاحظة أنه إذا كنت تستخدم مكتبات Firebase متعددة في التطبيق الخاص بك، ونحن نوصي بشدة باستخدام بوم لإدارة إصدارات المكتبة، والذي يضمن أن جميع إصدارات متوافقة.

dependencies {
    // Declare 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:20.0.0'
}

Kotlin + KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare 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-ktx'
}

باستخدام Firebase الروبوت بوم ، والتطبيق دائما استخدام إصدارات متوافقة من المكتبات Firebase الروبوت.

(البديل) إعلان Firebase تبعيات مكتبة دون استخدام BOM

إذا اخترت عدم استخدام Firebase BoM ، فيجب عليك تحديد كل إصدار من إصدارات مكتبة Firebase في سطر التبعية الخاص بها.

ملاحظة أنه إذا كنت تستخدم مكتبات Firebase متعددة في التطبيق الخاص بك، ونحن نوصي بشدة باستخدام بوم لإدارة إصدارات المكتبة، والذي يضمن أن جميع إصدارات متوافقة.

dependencies {
    // Declare 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-ktx:20.0.0'
}

قم بإعداد التخزين السحابي

الخطوة الأولى في الحصول على الخاص بك دلو سحابة التخزين هو خلق مثيل FirebaseStorage :

جافا

FirebaseStorage storage = FirebaseStorage.getInstance();

Kotlin + KTX

storage = Firebase.storage

أنت جاهز لبدء استخدام Cloud Storage!

أولا، دعونا نتعلم كيفية إنشاء مرجع سحابة التخزين .

وضع متطور

هناك بعض حالات الاستخدام التي تتطلب إعدادًا إضافيًا:

تعتبر حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمون من جميع أنحاء العالم ، وتريد تخزين بياناتهم بالقرب منهم. على سبيل المثال ، يمكنك إنشاء مجموعات في الولايات المتحدة وأوروبا وآسيا لتخزين البيانات للمستخدمين في تلك المناطق لتقليل زمن الانتقال.

حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات ذات أنماط وصول مختلفة. على سبيل المثال: يمكنك إعداد حاوية متعددة المناطق أو إقليمية تخزن الصور أو غيرها من المحتويات التي يتم الوصول إليها بشكل متكرر ، ودلو قريب أو بارد يخزن النسخ الاحتياطية للمستخدم أو غير ذلك من المحتويات التي نادرًا ما يتم الوصول إليها.

في أي من هذه الحالات استخدام، فأنت تريد أن استخدام متعددة الدلاء سحابة التخزين .

تعتبر حالة الاستخدام الثالثة مفيدة إذا كنت تقوم بإنشاء تطبيق ، مثل Google Drive ، والذي يتيح للمستخدمين تسجيل الدخول لعدة حسابات (على سبيل المثال ، حساب شخصي وحساب عمل). يمكنك استخدام مخصص Firebase التطبيقات المثال لمصادقة كل حساب إضافي.

استخدم دلاء التخزين السحابي المتعددة

إذا كنت ترغب في استخدام التخزين السحابية دلو غير الافتراضي المقدمة أعلاه، أو استخدام متعددة الدلاء سحابة التخزين في التطبيق واحد، يمكنك إنشاء مثيل FirebaseStorage أن الإشارات دلو مخصص:

جافا

// Get a non-default Storage bucket
FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");

Kotlin + KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

العمل مع الجرافات المستوردة

عند استيراد دلو سحابة التخزين الموجودة في Firebase، سيكون لديك لمنح Firebase القدرة على الوصول إلى هذه الملفات باستخدام gsutil أداة، وشملت في 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 ، يمكنك إنشاء مثيل FirebaseStorage تهيئة باستخدام هذا التطبيق:

جافا

// 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");

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")

الخطوات التالية