تُنفِّذ إضافة 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
هي الحد الأدنى من مستندات الامتداد التي يجب أن تتضمّنها. تساعد هذه الملفات المستخدمين في التعرّف على وظائف الإضافة وكيفية استخدامها والتحديثات التي أجريتها عليها. يجب أيضًا توفير رمز لمساعدة المستخدمين في التعرّف على إضافتك. وتعرض وحدة تحكم Firebase وواجهة سطر الأوامر في Firebase و"مركز الإضافات" محتوى هذه الملفات عند استكشاف المستخدمين للإضافة وتثبيتها وإدارتها.
بعد إنشاء الإضافة، يمكنك استخدام واجهة برمجة التطبيقات Firebase CLI لتثبيتها في مشروع أو نشرها في "مركز الإضافات"، حيث يمكن لأي مستخدم اكتشافها وتثبيتها في مشاريعه.
ما هي المنتجات التي يمكن للإضافة التفاعل معها؟
بما أنّ إضافة Firebase تؤدي وظيفتها باستخدام "وظائف السحابة الإلكترونية"، يمكنك التفكير في سؤال عمليات الدمج المحتمَلة بطريقتَين: ما هي المنتجات التي يمكنها بدء وظائف الإضافة؟ وبعد بدء الوظائف، ما هي المنتجات التي يمكنها التفاعل مع الإضافة؟
عوامل تشغيل الدوال المتوافقة
المشغّلات اليدوية
بادئ ذي بدء، يمكنك تشغيل دالة يدويًا. تتوافق إضافات Firebase ووظائف السحابة الإلكترونية مع طريقتين لتفعيل الوظائف يدويًا:
- عوامل تشغيل HTTP: نشر دالة إلى نقطة نهاية HTTP
- الوظائف القابلة للاستدعاء: يمكنك طلب دوال السحابة الإلكترونية مباشرةً من رمز عميل الويب أو 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 to a configurable Pub/Sub topic.
- Cloud Scheduler: يمكن أن تتضمن الإضافة دوال تعمل وفقًا لجدول محدد
- مهام Cloud: يمكن أن تتضمّن الإضافة دوال يمكن وضعها في قائمة الانتظار باستخدام Cloud Tasks. تستخدِم "إضافات Firebase" هذه الميزة للسماح لك، بصفتك مؤلفًا للإضافة، بكتابة دوالّ تستجيب لأحداث "رحلة المستخدِم" للإضافة: التثبيت في مشروع للمرة الأولى والترقية إلى إصدار جديد وإعادة الضبط.
- Eventarc: يمكن أن تتضمّن الإضافة وظائف يتم تفعيلها عند نشر الأحداث في قناة Eventarc قابلة للضبط. وفي المقابل، يمكن للإضافة نشر أحداثها الخاصة في قناة Eventarc لتتمكّن من منح المستخدمين إمكانية تحديد وظائفهم الخاصة التي يتم تفعيلها من أحداث الإضافة.
متاحة من الدوال
بعد بدء إحدى وظائف Cloud في إحدى الإضافات، يكون نطاق عمليات التكامل المحتملة مفتوحًا بشكل عام. في ما يلي بعض أهم الإجراءات التي يمكنك تنفيذها من خلال إحدى وظائف Cloud:
- قراءة وكتابة أي خدمة من Firebase أو Google Cloud تستخدم دورًا متوافقًا مع "إدارة الهوية وإمكانية الوصول"
- العمل مع أي خدمة تابعة لجهة خارجية تقدّم واجهة برمجة تطبيقات ويب
- استخدِم خدماتك المخصّصة إذا كنت تقدّم واجهة برمجة تطبيقات ويب.
- تشغيل معظم مكتبات JavaScript، بما في ذلك TensorFlow.js وExpress.js وغيرها
كيفية إنشاء إضافة
يرشدك الدليل التعليمي البدء إلى عملية إنشاء إضافة كاملة واختبارها ونشرها، وهو الطريقة المقترَحة للتعرّف على كيفية إنشاء إضافة.
بعد مراجعة دليل البدء مرة واحدة، يمكنك الرجوع إلى أدلة الموضوعات الفردية، والتي تشرح كل مهمة من المهام المتضمنة في إنشاء الإضافة الخاصة بك:
- كتابة الدوال للإضافة
- استخدام المَعلمات في إحدى الإضافات
- إعداد إذن الوصول المناسب لإحدى الإضافات
- الردّ على أحداث دورة حياة الإضافة
- إدراج عناصر الجذب للمستخدمين في إحدى الإضافات
- إنشاء مستندات للمستخدمين حول إضافتك
- نشر إضافة في "مركز الإضافات"
- إكمال مرجع extension.yaml