نظرة عامة على ناشر الإضافة

تنفّذ "إضافة Firebase" مهمة أو مجموعة مهام محدّدة استجابةً لطلبات HTTP أو أحداث مشغِّلة من منتجات Firebase وGoogle الأخرى، مثل "المراسلة عبر السحابة الإلكترونية من Firebase" أو Cloud Firestore أو Pub/Sub.

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

بنية الإضافة

يمكنك اعتبار الإضافة أنّها تتضمّن ثلاثة مكوّنات رئيسية:

  • رمز Cloud Functions، بلغة JavaScript أو TypeScript
  • بيانات وصفية تصف إضافتك
  • وثائق لمساعدة المستخدمين في ضبط إضافتك واستخدامها

لتطوير إضافة، عليك تجميع هذه المكوّنات في البنية التالية:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • يحتوي دليل functions على رمز Cloud Functions بلغة JavaScript أو TypeScript. هذا هو الرمز الذي ينفّذ مهام الإضافة استجابةً للأحداث التي تفعّلها خدمات Firebase وGoogle.
  • يحتوي ملف extension.yaml على بيانات وصفية عن إضافتك، مثل المشغِّلات وأدوار الوصول إلى إدارة الهوية والوصول (IAM)، بالإضافة إلى أي مَعلمات تريد أن يتمكّن المستخدم من ضبطها.
  • ملفات PREINSTALL وPOSTINSTALL وCHANGELOG هي الحد الأدنى من الوثائق التي يجب أن تتضمّنها إضافتك. تساعد هذه الملفات المستخدمين في التعرّف على وظيفة إضافتك وكيفية استخدامها والتعديلات التي أجريتها عليها. عليك أيضًا توفير رمز لمساعدة المستخدمين في التعرّف على إضافتك. تعرِض "وحدة تحكّم Firebase" وFirebase CLI ومركز الإضافات محتويات هذه الملفات عندما يستكشف المستخدمون إضافتك ويثبّتونها ويديرونها.

بعد إنشاء إضافتك، يمكنك استخدام Firebase CLI لتثبيتها في مشروع أو نشرها في مركز الإضافات، حيث يمكن لأي مستخدم العثور عليها وتثبيتها في مشاريعه.

ما هي المنتجات التي يمكن أن تتفاعل معها إضافتي؟

بما أنّ "إضافة Firebase" تنفّذ مهامها باستخدام Cloud Functions، يمكنك التفكير في سؤال عمليات التكامل المحتملة بطريقتَين: ما هي المنتجات التي يمكنها تفعيل دوال إضافتي؟ و بعد التفعيل، ما هي المنتجات التي يمكن أن تتفاعل معها دوال إضافتي؟

مشغِّلات الدوال المتوافقة

المشغِّلات اليدوية

أولاً، يمكنك تفعيل دالة يدويًا. تتيح "إضافات Firebase" وCloud Functions طريقتَين لتفعيل الدوال يدويًا:

  • مشغِّلات HTTP: يمكنك نشر دالة في نقطة نهاية HTTP
  • الدوال القابلة للاستدعاء: يمكنك استدعاء Cloud Functions مباشرةً من رمز عميل الويب أو iOS أو Android، باستخدام حِزم Firebase Client SDKs.

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

مشغِّلات خدمة Firebase

تُصدر معظم منتجات Firebase أحداثًا يمكنها تفعيل Cloud Functions في الإضافة.

  • إحصاءات Google: يمكنك تفعيل الدوال عندما تسجِّل "إحصاءات Google" حدثًا
  • توزيع التطبيقات: يمكنك تفعيل الدوال عندما يفعِّل "توزيع التطبيقات" تنبيهًا
  • المصادقة: يمكنك تفعيل الدوال عندما ينشئ المستخدمون حسابات ويحذفونها
  • Cloud Firestore: يمكنك تفعيل الدوال عند إنشاء الصفحات أو تعديلها أو حذفها
  • Cloud Storage: يمكنك تفعيل الدوال عند تحميل الكائنات أو أرشفتها أو حذفها من المستودعات
  • Crashlytics: يمكنك تفعيل الدوال عندما يفعِّل Crashlytics تنبيهًا
  • تتبُّع الأداء: يمكنك تفعيل الدوال عندما يفعِّل "تتبُّع الأداء" تنبيهًا
  • قاعدة بيانات Firebase في الوقت الفعلي: يمكنك تفعيل الدوال عند إنشاء البيانات أو تعديلها أو حذفها
  • الإعداد عن بُعد: يمكنك تفعيل الدوال عند تعديل مَعلمة
  • Test Lab: يمكنك تفعيل الدوال عندما يفعِّل Test Lab تنبيهًا

مشغِّلات خدمة Google Cloud

يمكن أن تتضمّن الإضافة أيضًا دوالاً يتم تفعيلها من خلال العديد من خدمات Google Cloud غير التابعة لـ Firebase:

  • Cloud Pub/Sub: يمكن أن تتضمّن الإضافة دوالاً يتم تفعيلها عند نشر الأحداث في موضوع Pub/Sub قابل للإعداد.
  • Cloud Scheduler: يمكن أن تتضمّن الإضافة دوالاً يتم تشغيلها في جدول زمني محدّد
  • Cloud Tasks: يمكن أن تتضمّن الإضافة دوالاً يمكن وضعها في قائمة الانتظار باستخدام Cloud Tasks. تستخدم "إضافات Firebase" هذه الإمكانية للسماح لك، بصفتك مؤلف إضافة، بكتابة دوال تستجيب لأحداث "دورة حياة" الإضافة: تثبيتها في مشروع للمرة الأولى، وترقيتها إلى إصدار جديد، وإعادة ضبطها.
  • Eventarc: يمكن أن تتضمّن الإضافة دوالاً يتم تفعيلها عند نشر الأحداث في قناة Eventarc قابلة للإعداد. وعلى العكس من ذلك، يمكن أن تنشر الإضافة أحداثها الخاصة في قناة Eventarc لتمكين المستخدمين من تحديد الدوال الخاصة بهم التي يتم تفعيلها من أحداث الإضافة.

المنتجات المتوافقة مع الدوال

بعد تفعيل Cloud Function في الإضافة، يكون نطاق عمليات التكامل المحتملة مفتوحًا بشكل عام. في ما يلي بعض النقاط البارزة لما يمكنك فعله من Cloud Function:

  • قراءة أي خدمة Firebase أو Google Cloud تستخدم دور IAM متوافقًا وكتابتها والتفاعل معها بأي طريقة أخرى.
  • العمل مع أي خدمة خارجية توفّر واجهة برمجة تطبيقات للويب
  • العمل مع خدماتك المخصّصة إذا كنت توفّر واجهة برمجة تطبيقات للويب
  • تشغيل معظم مكتبات JavaScript، بما في ذلك TensorFlow.js وExpress.js وما إلى ذلك

كيفية إنشاء إضافة

يوجِّهك البرنامج التعليمي البدء خلال عملية إنشاء إضافة كاملة واختبارها ونشرها، وهو الطريقة المُقترَحة لتعلُّم كيفية إنشاء إضافة.

البدء

بعد الاطّلاع على دليل البدء مرة واحدة، يمكنك الرجوع إلى أدلة المواضيع الفردية التي تشرح كل مهمة من المهام المتضمّنة في إنشاء إضافتك الخاصة: