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

ينفذ ملحق Firebase مهمة محددة أو مجموعة من المهام استجابة لطلبات HTTP أو تشغيل أحداث من منتجات Firebase وGoogle الأخرى، مثل Firebase Cloud Messaging أو Cloud Firestore أو Pub/Sub.

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

هيكل التمديد

يمكنك التفكير في الامتداد على أنه يحتوي على ثلاثة مكونات رئيسية:

  • رمز وظائف السحابة، في 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 وExtensions Hub محتويات هذه الملفات عندما يقوم المستخدمون باستكشاف الامتداد الخاص بك وتثبيته وإدارته.

بعد إنشاء ملحقك، يمكنك استخدام Firebase CLI لتثبيته في مشروع أو نشره على Extensions Hub، حيث يمكن لأي شخص اكتشافه وتثبيته في مشاريعه.

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

نظرًا لأن امتداد Firebase يعمل باستخدام وظائف السحابة، يمكنك التفكير في مسألة عمليات التكامل المحتملة بطريقتين: ما المنتجات التي يمكنها تشغيل وظائف الامتداد الخاص بي؟ وبمجرد تشغيلها، ما هي المنتجات التي يمكن أن تتفاعل معها وظائف الامتداد الخاص بي؟

مشغلات الوظائف المدعومة

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

أولاً، يمكنك تشغيل إحدى الوظائف يدويًا. تدعم ملحقات Firebase ووظائف السحابة طريقتين لتشغيل الوظائف يدويًا:

  • مشغلات HTTP: نشر وظيفة إلى نقطة نهاية HTTP
  • الوظائف القابلة للاستدعاء: اتصل بوظائف السحابة الخاصة بك مباشرةً من رمز عميل iOS أو Android أو الويب، باستخدام حزم SDK الخاصة بعميل Firebase.

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

مشغلات خدمة Firebase

تُصدر معظم منتجات Firebase أحداثًا يمكنها تشغيل وظائف السحابة الخاصة بالامتداد.

  • التحليلات: تشغيل الوظائف عندما يسجل Analytics حدثًا
  • توزيع التطبيق: تشغيل الوظائف عندما يقوم توزيع التطبيق بتشغيل تنبيه
  • المصادقة: تشغيل الوظائف عندما يقوم المستخدمون بإنشاء حسابات وحذفها
  • Cloud Firestore: تشغيل الوظائف عند إنشاء الصفحات أو تحديثها أو حذفها
  • التخزين السحابي : تشغيل الوظائف عند تحميل الكائنات أو أرشفتها أو حذفها من المجموعات
  • Crashlytics: تشغيل الوظائف عندما يقوم Crashlytics بإطلاق تنبيه
  • مراقبة الأداء: تشغيل الوظائف عندما تقوم مراقبة الأداء بإطلاق تنبيه
  • قاعدة بيانات الوقت الحقيقي: تشغيل الوظائف عند إنشاء البيانات أو تحديثها أو حذفها
  • التكوين عن بعد: تشغيل الوظائف عند تحديث المعلمة
  • Test Lab: تشغيل الوظائف عندما يقوم Test Lab بإطلاق تنبيه

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

يمكن أن يتضمن الملحق أيضًا وظائف تؤدي إلى تشغيل العديد من خدمات Google Cloud غير التابعة لـ Firebase:

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

مدعومة من الوظائف

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

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

كيفية بناء امتداد

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

البدء

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