بدء استخدام 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 console ومشروع Unity المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقل هذه الملفات إلى مشروع Unity).

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

إنشاء مجموعة Cloud Storage تلقائية

  1. في وحدة تحكّم Firebase، انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين.

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

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

  3. اختَر موقعًا لمجموعتك التلقائية.

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

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

يمكنك الآن عرض المجموعة في وحدة تحكّم Firebase (انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين > علامة التبويب الملفات). يكون تنسيق اسم مجموعتك التلقائية PROJECT_ID.firebasestorage.app.

إعداد الوصول العلني

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

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

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

The Firebase.Storage.FirebaseStorage هي نقطة الدخول إلى حزمة Cloud Storage Unity SDK.

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

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

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

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

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

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

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

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

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

استخدام عدة مجموعات 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 المضمّنة في Google Cloud SDK:

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

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