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

تنفّذ إحدى إضافات 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 و"مركز الإضافات" محتوى هذه الملفات عندما يستكشف المستخدمون إضافتك ويثبّتونها ويديرونها.

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

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

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

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

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

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

  • مشغّلات HTTP: نشر دالة إلى نقطة نهاية HTTP
  • الدوال القابلة للاستدعاء: يمكنك استدعاء دوال Cloud Functions مباشرةً من رمز عميل iOS أو Android أو الويب، وذلك باستخدام حِزم تطوير البرامج (SDK) الخاصة بعميل Firebase.

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

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

تُصدر معظم منتجات Firebase أحداثًا يمكن أن تؤدي إلى تشغيل دوال Cloud Functions الخاصة بإحدى الإضافات.

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

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

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

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

الدوال المتوافقة مع from

بعد تشغيل Cloud Function لإحدى الإضافات، يصبح نطاق عمليات الدمج الممكنة مفتوحًا بشكل عام. في ما يلي بعض الميزات التي يمكنك الاستفادة منها من خلال Cloud Function:

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

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

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

البدء

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