بدء استخدام Cloud Storage for Unity

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

قبل البدء

قبل أن تتمكّن من استخدام Cloud Storage، عليك تنفيذ ما يلي:

  • سجِّل مشروع Unity الخاص بك وأعدَّه لاستخدام Firebase.

    • إذا كان مشروع Unity يستخدم Firebase، يكون قد تم تسجيله وإعداده لاستخدام Firebase.

    • إذا لم يكن لديك مشروع Unity، يمكنك تنزيل تطبيق نموذجي.

  • أضِف Firebase Unity SDK (FirebaseStorage.unitypackage تحديدًا) إلى مشروع Unity.

يُرجى العِلم أنّ إضافة Firebase إلى مشروع Unity يتضمّن مهامًا في كل من وحدة تحكّم Firebase ومشروع Unity المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع Unity).

تأكَّد أيضًا من أنّ مشروعك على Firebase يستخدِم خطة أسعار "الفئة المَرِنة" بنظام الدفع حسب الاستخدام. إذا كنت مستخدمًا جديدًا في Firebase وGoogle Cloud، تحقَّق مما إذا كنت مؤهَّلاً للحصول على رصيد بقيمة 300 دولار أمريكي.

إنشاء حزمة Cloud Storage تلقائية

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

    إذا لم يكن مشروعك بعد على خطة أسعار Blaze بنظام الدفع حسب الاستخدام، سيُطلب منك ترقية مشروعك.

  2. انقر على البدء.

  3. اختَر موقعًا جغرافيًا لحزمة التخزين التلقائية.

  4. اضبط إعدادات Firebase Security Rules لحزمة التخزين التلقائية. أثناء عملية التطوير، ننصحك بإعداد قواعد الوصول العام.

  5. انقر على تم.

يمكنك الآن عرض الحزمة في علامة التبويب Cloud Storage الملفات في وحدة تحكّم Firebase. تنسيق اسم الحزمة التلقائي هو PROJECT_ID.firebasestorage.app.

إعداد إمكانية الوصول العلني

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

يؤدي ذلك إلى إتاحة Cloud Storage لأي شخص، حتى الأشخاص الذين لا يستخدمون تطبيقك، لذا احرص على حصر الوصول إلى Cloud Storage مرة أخرى عند إعداد المصادقة.

الوصول إلى صف FirebaseStorage

Firebase.Storage.FirebaseStorage هي نقطة الدخول إلى حزمة تطوير البرامج (SDK) في Cloud Storage Unity.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

أصبحت جاهزًا لبدء استخدام Cloud Storage.

الخطوة التالية؟ تعرَّف على كيفية إنشاء Cloud Storage مرجع.

الإعدادات المتقدّمة

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

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

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

في أيّ من هاتين الحالتين، عليك استخدام عدة حِزم Cloud Storage.

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

استخدام عدة Cloud Storage حِزم

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

// Get a non-default Storage bucket
var 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://BUCKET_NAME

يمكنك العثور على رقم مشروعك كما هو موضّح في مقدمة عن مشاريع 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 storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

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