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

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

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

قم بتثبيت وتهيئة Firebase SDKs for Flutter إذا لم تكن قد قمت بذلك بالفعل.

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

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

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

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

    • يعد إعداد الموقع هذا هو موقع موارد Google Cloud Platform (GCP) الافتراضي لمشروعك. لاحظ أنه سيتم استخدام هذا الموقع لخدمات GCP في مشروعك الذي يتطلب إعداد الموقع، على وجه التحديد، قاعدة بيانات Cloud Firestore وتطبيق App Engine (وهو أمر مطلوب إذا كنت تستخدم Cloud Scholer).

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

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

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

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

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

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

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

  1. من جذر مشروع Flutter، قم بتشغيل الأمر التالي لتثبيت المكون الإضافي:

    flutter pub add firebase_storage
    
  2. بمجرد الانتهاء، قم بإعادة إنشاء تطبيق Flutter الخاص بك:

    flutter run
    
  3. قم باستيراد المكون الإضافي في كود Dart الخاص بك:

    import 'package:firebase_storage/firebase_storage.dart';
    

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

الخطوة الأولى للوصول إلى مجموعة Cloud Storage الخاصة بك هي إنشاء مثيل لـ FirebaseStorage :

final storage = FirebaseStorage.instance;

أنت جاهز لبدء استخدام التخزين السحابي!

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

اعدادات متقدمة

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

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

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

في أي من حالات الاستخدام هذه، ستحتاج إلى استخدام مجموعات تخزين سحابية متعددة .

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

استخدم عدة مجموعات تخزين سحابية

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

// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "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 مخصص، فيمكنك إنشاء مثيل لـ FirebaseStorage تمت تهيئته باستخدام هذا التطبيق:

// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);

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