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

تنفّذ إضافة 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 SDK للعميل.

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

مشغِّلات خدمة 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 وما إلى ذلك

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

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

البدء

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