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

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

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

بنية الإضافة

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

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

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

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 على بيانات وصفية عن إضافتك، مثل عوامل التفعيل وأدوار الوصول في إدارة الهوية وإمكانية الوصول، بالإضافة إلى أي مَعلمات تريد أن يضبطها المستخدم.
  • إنّ ملفات PREINSTALL وPOSTINSTALL وCHANGELOG هي الحد الأدنى من مستندات الامتداد التي يجب أن تتضمّنها. تساعد هذه الملفات المستخدمين في معرفة دور إضافة Chrome وكيفية استخدامها والتحديثات التي أجريتها عليها. يجب أن تقدّم أيضًا رمزًا لمساعدة المستخدمين في التعرّف على إضافتك. تعرِض وحدة تحكّم Firebase وFirebase CLI و"مركز الإضافات" محتويات هذه الملفات عندما يستكشف المستخدمون إضافتك ويثبتونها ويديرونها.

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

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

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

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

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

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

  • عوامل تشغيل 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 لتنبيه
  • مراقبة الأداء: تنشيط الدوالّ عندما تُنشئ ميزة "مراقبة الأداء" تنبيهاً
  • قاعدة بيانات الوقت الفعلي: يمكنك تنشيط الدوال عند إنشاء البيانات أو تعديلها أو حذفها.
  • الإعداد عن بُعد: تنشيط الدوالّ عند تعديل مَعلمة
  • Test Lab: تنشيط الدوالّ عند تنشيط Test Lab لتنبيه

عوامل تشغيل خدمات Google Cloud

يمكن أن تتضمّن الإضافة أيضًا وظائف تؤدي إلى تنشيط العديد من خدمات Google Cloud التي لا تنتمي إلى Firebase:

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

الوظائف المتوافقة

بعد بدء إحدى وظائف Cloud في إحدى الإضافات، يكون نطاق عمليات الدمج المُحتمَلة مفتوحًا بشكل عام. في ما يلي بعض أهم الإجراءات التي يمكنك تنفيذها من خلال إحدى وظائف Cloud:

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

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

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

البدء

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