تخطَّ إلى المحتوى

استخدم مشروع Firebase الخاص بك

باختصارالصق ملف مفتاح حساب الخدمة الخاص بـ Firebase في موصل Firebase من الخدمات السحابية ← السحابة. يتحقق منه MonstarX لدى Google، ثم يستطيع تطبيقك استخدام Firestore وتسجيل الدخول عبر Firebase وCloud Storage والإشعارات الفورية وRealtime Database. ويمكنك أيضًا جعل Firestore المخزن الرئيسي لبيانات التطبيق، ونسخ جداوله الحالية إليه.

تضم Firebase، مجموعة خدمات التطبيقات من Google، قاعدة بيانات للمستندات اسمها Firestore، وتسجيل الدخول، وتخزين الملفات، والإشعارات الفورية، وغيرها. إن كان لديك مشروع Firebase بالفعل، ربما مع تطبيق هاتف قائم، فيمكنك ربطه بتطبيق في MonstarX واستخدام أي من هذه الخدمات منه.

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

  • مشروع Firebase، مع صلاحية الوصول إلى إعداداته في Firebase console.
  • لتسجيل دخول الناس عبر Firebase Authentication، تطبيق ويب مضاف إلى مشروع Firebase ذاك.
  1. في Firebase console، افتح Project settings → Service accounts وانقر على Generate new private key. يُنزَّل ملف JSON.

  2. في MonstarX، افتح مشروعك وانقر على الخدمات السحابية في الشريط العلوي، ثم على السحابة.

  3. في قسم الموصلات، انقر على ربط بجانب Firebase.

  4. افتح ملف JSON في محرر نصوص، وانسخ محتواه كله، والصقه في حقل ملف مفتاح حساب الخدمة. يقرأ MonstarX معرّف مشروعك منه.

  5. لا تملأ الحقول الاختيارية إلا إذا احتجت إليها:

    • مفتاح API للويب: من Project settings → General → Your apps → Web app → apiKey. لا تحتاج إليه إلا لتسجيل دخول الناس عبر Firebase Authentication.
    • حاوية التخزين: فقط إن لم تكن ملفاتك في الحاوية الافتراضية للمشروع.
    • عنوان URL لقاعدة Realtime Database: لـ Realtime Database فقط. أما Firestore فلا يحتاج إلى شيء هنا.
  6. انقر على ربط Firebase. يتحقق MonstarX من المفتاح لدى Google قبل حفظه، ويعرض ما وجده بجانب متصل: معرّف مشروعك ومجموعات Firestore فيه، أو «لا توجد قاعدة بيانات Firestore حتى الآن».

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

ماذا يستطيع تطبيقي أن يفعل بـ Firebase؟

Section titled “ماذا يستطيع تطبيقي أن يفعل بـ Firebase؟”

بعد الربط، اطلب الميزة بكلمات بسيطة، مثل «أرسل إشعارًا فوريًا إلى الأعضاء عند إلغاء حصة». ينشئها MonstarX باستخدام Firebase:

خدمة Firebaseما يستطيع تطبيقك فعله
Firestoreإضافة المستندات وقراءتها والبحث فيها وتحديثها وحذفها، وعدّها
Authenticationإنشاء حسابات الناس وتسجيل دخولهم، وإعادة تعيين كلمات المرور، وإدارة المستخدمين (يحتاج إلى مفتاح API للويب)
Cloud Storageرفع الملفات، والحصول على روابط تنزيلها، وعرضها وحذفها
Cloud Messagingإرسال إشعارات فورية إلى جهاز أو إلى موضوع
Realtime Databaseقراءة البيانات وكتابتها (يحتاج إلى عنوان URL لقاعدة Realtime Database)

كل شيء يعمل على خادم تطبيقك، فلا يرى الزوار مفتاحك أبدًا.

هل يمكن أن يكون Firestore قاعدة بيانات تطبيقي؟

Section titled “هل يمكن أن يكون Firestore قاعدة بيانات تطبيقي؟”

نعم. يبدأ كل تطبيق بقاعدة بيانات MonstarX، لكن يمكنك جعل Firestore المكان الذي يحفظ فيه بياناته بدلًا منها.

  1. اربط Firebase أولًا (راجع ما سبق).

  2. في الخدمات السحابيةالسحابة، ابحث عن مكان تخزين بيانات هذا التطبيق.

  3. اختر Firestore (مشروع Firebase الخاص بك). قبل ربط Firebase، يظهر هذا الخيار مع عبارة «اربط Firebase أولًا» ولا يمكن اختياره.

  4. إن كانت في التطبيق بيانات مسبقًا، فانقر على نسخ البيانات الموجودة لنقلها، ثم أكّد.

من تلك اللحظة:

  • ينشئ MonstarX التطبيق بمجموعات ومستندات بدلًا من الجداول، ويطّلع على مجموعاتك الحقيقية قبل كتابة الشفرة، فلا يخترع أبدًا حقولًا ليست في بياناتك.
  • يعرض الخدمات السحابيةقاعدة البيانات المجموعات في Firestore ومستنداتها. وهي للقراءة فقط هناك، فالتطبيق هو من يكتبها.
  • الحسابات تبقى لدى MonstarX. يواصل الناس تسجيل الدخول كما كانوا يفعلون، ويعمل الخدمات السحابيةالمستخدمون كما في السابق. ولهذا يحتفظ MonstarX بقاعدة بياناته بدلًا من حذفها.

للعودة، اختر قاعدة بيانات MonstarX في المكان نفسه. يعود التطبيق إلى قاعدة بياناته كما كانت تمامًا.

ماذا يفعل «نسخ البيانات الموجودة»؟

Section titled “ماذا يفعل «نسخ البيانات الموجودة»؟”
  • يصبح كل جدول مجموعة بالاسم نفسه، وكل صف مستندًا. ويصبح معرّف الصف معرّف المستند.
  • تشغيله مجددًا يحدّث تلك المستندات بدلًا من تكرارها.
  • تبقى جداول تسجيل الدخول الـ 4 في قاعدة بيانات MonstarX، حيث تُحفظ الحسابات.
  • لا يحذف شيئًا، لا هنا ولا هناك.
  • قد يُنسخ التطبيق الكبير على أجزاء. فإن ذكر أنه توقف لإبقاء الطلب قصيرًا، فشغّله مجددًا ليتابع من حيث توقف.
  • Firestore أو Supabase، لا كلاهما. يحفظ التطبيق بياناته في مكان واحد. للانتقال من Supabase إلى Firestore، أعد البيانات إلى قاعدة بيانات MonstarX أولًا. أما موصل Firebase نفسه فيبقى يعمل إلى جانب Supabase للتخزين أو الإشعارات أو تسجيل الدخول.
  • لا يوجد Firebase SDK في تطبيقك. يصل MonstarX إلى Firebase عبر أداة مساعدة مدمجة تعمل بالطريقة نفسها في المعاينة وفي التطبيق المنشور.
  • الإشعارات الفورية إلى الأجهزة المحمولة تحتاج إلى رمز جهاز (device token) من تطبيق الهاتف الخاص بك، ويرسل MonstarX إلى الرموز التي يتلقاها التطبيق.
  • النشر على Google Cloud Run موصل مختلف: راجع النشر على استضافات أخرى.
أين أجد ملف مفتاح حساب الخدمة؟

في Firebase console: Project settings → Service accounts → Generate new private key. الصق ملف JSON كله في حقل ملف مفتاح حساب الخدمة.

هل يمكنني استخدام Firebase للإشعارات الفورية فقط؟

نعم. ربط Firebase لا ينقل بياناتك. يواصل التطبيق استخدام قاعدة بيانات MonstarX ما لم تختر Firestore في مكان تخزين بيانات هذا التطبيق.

هل سيحتاج مستخدمو تطبيقي إلى حسابات جديدة إذا انتقلت إلى Firestore؟

لا. تبقى الحسابات في قاعدة بيانات MonstarX ويعمل تسجيل الدخول كما في السابق. لا تنتقل إلى Firestore إلا بيانات التطبيق نفسه.

تظهر عبارة «لا توجد قاعدة بيانات Firestore حتى الآن». هل هذه مشكلة؟

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

هل يحذف نسخ بياناتي أي شيء؟

لا. نسخ البيانات الموجودة لا يفعل سوى إضافة المستندات أو تحديثها في Firestore. وتبقى قاعدة بيانات MonstarX كما هي.