تُنفِّذ إضافة Firebase مهمة معيّنة أو مجموعة من المهام استجابةً لطلبات HTTP أو أحداث التفعيل من منتجات Firebase وGoogle الأخرى، مثل Firebase Cloud Messaging أو 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
بيانات وصفية حول إضافتك، مثل مشغّلاته وأدوار وصول "إدارة الهوية وإمكانية الوصول" (IAM)، بالإضافة إلى أي مَعلمات تريد أن تكون قابل للتهيئة من خلال المستخدم. - إنّ الملفات
PREINSTALL
وPOSTINSTALL
وCHANGELOG
هي الحدّ الأدنى. الوثائق التي يجب أن تتوفر في الإضافة. تساعد هذه الملفات المستخدمين في التعرّف على وظائف الإضافة وكيفية استخدامها والتحديثات التي أجريتها عليها. يجب أن تقدّم أيضًا رمزًا لمساعدة المستخدمين في التعرّف على إضافتك. تشير رسالة الأشكال البيانية تعرض وحدة تحكم Firebase وواجهة سطر الأوامر في Firebase ومركز الإضافات محتوى هذه الملفات عند استكشاف المستخدمين لإضافتك وتثبيتها وإدارتها.
بعد إنشاء الإضافة، يمكنك استخدام واجهة برمجة التطبيقات Firebase CLI لتثبيتها في مشروع أو نشرها في "مركز الإضافات"، حيث يمكن لأي مستخدم اكتشافها وتثبيتها في مشاريعه.
ما هي المنتجات التي يمكن أن تتفاعل معها إضافتي؟
بما أنّ إضافة Firebase تؤدي وظيفتها باستخدام "وظائف السحابة الإلكترونية"، يمكنك التفكير في سؤال عمليات الدمج المحتمَلة بطريقتَين: ما هي المنتجات التي يمكنها بدء وظائف الإضافة؟ وبعد بدء الوظائف، ما هي المنتجات التي يمكنها التفاعل معها؟
عوامل تشغيل الدوالّ المتوافقة
المشغّلات اليدوية
بادئ ذي بدء، يمكنك تشغيل دالة يدويًا. إضافات Firebase والسحابة الإلكترونية تتيح الدوال طريقتَين لتفعيل الدوال يدويًا:
- عوامل تشغيل HTTP: نشر دالة إلى نقطة نهاية HTTP
- وظائف قابلة للاستدعاء: يمكنك استدعاء دوال السحابة مباشرةً من جهاز iOS، Android أو رمز عميل الويب، باستخدام حِزم تطوير البرامج (SDK) لعميل Firebase.
من خلال إتاحة نقاط نهاية HTTP من إضافتك، يمكن أن تتم دمج إضافتك مع أي خدمة ويب تتيح وحدات الربط. باستخدام الدوالّ القابلة للاستدعاء، يمكن للمستخدمين الذين يثبّتون إضافتك استخدام حِزم تطوير البرامج (SDK) لمنصّة Firebase كمكتبة عملاء للوصول إلى واجهة برمجة التطبيقات التي تنفّذها إضافتك.
مشغِّلات خدمة Firebase
تُرسِل معظم منتجات Firebase أحداثًا يمكنها تنشيط وظائف Cloud Functions في إحدى الإضافات.
- إحصاءات Google: وظائف التفعيل عندما تسجِّل "إحصاءات Google" حدثًا
- توزيع التطبيقات: يؤدي هذا الإجراء إلى تشغيل الوظائف عند تشغيل ميزة "توزيع التطبيقات" تنبيه
- المصادقة: تفعيل الوظائف عندما ينشئ المستخدمون حسابات ويحذفونها
- Cloud Firestore: تنشيط الدوالّ عند إنشاء الصفحات أو تعديلها أو حذفها
- التخزين في السحابة الإلكترونية: تفعيل الوظائف عند تحميل العناصر أو أرشفتها أو تم الحذف من المجموعات
- Crashlytics: تؤدي إلى تفعيل الوظائف عندما يشغّل Crashlytics تنبيهًا
- مراقبة الأداء: تنشيط الدوالّ عندما تُنشئ ميزة "مراقبة الأداء" تنبيهاً
- قاعدة بيانات الوقت الفعلي: يمكنك تنشيط الدوال عند إنشاء البيانات أو تعديلها أو حذفها.
- الإعداد عن بُعد: يؤدي إلى تشغيل الوظائف عند تعديل مَعلمة.
- مركز الاختبار الافتراضي: يؤدي هذا الخيار إلى تفعيل الوظائف عندما يشغّل مركز الاختبار الافتراضي تنبيهًا.
مشغِّلات خدمة Google Cloud
يمكن أن تتضمّن الإضافة أيضًا وظائف تؤدي إلى تنشيط العديد من خدمات Google Cloud غير Firebase:
- Cloud Pub/Sub: يمكن أن تتضمّن الإضافة دوالاً يتم تشغيلها عند يتم نشر الأحداث في موضوع نشر/اشتراك قابل للضبط.
- Cloud Scheduler: يمكن أن تتضمّن الإضافة دوالّ يتم تنفيذها وفقًا لجدول زمني محدّد.
- Cloud Tasks: يمكن أن تتضمّن الإضافة دوال يمكن وضعها في قائمة الانتظار باستخدام Cloud Tasks. وتستخدم إضافات Firebase هذه الإمكانية للسماح لك، بصفتك مؤلف الإضافة، وكتابة دوال تستجيب لـ "دورة حياة" الإضافة الأحداث: التركيب في مشروع لأول مرة، والترقية إلى وإصدار جديد، وتتم إعادة تهيئتها.
- Eventarc: يمكن أن تتضمّن الإضافة دوالاً تعمل عند وقوع الأحداث أن يتم نشرها على قناة Eventarc قابلة للضبط وعلى العكس، نشر الأحداث الخاصة بها على قناة Eventarc لتمكين المستخدمين لتحديد الدوال الخاصة بها التي يتم تشغيلها من أحداث الإضافة.
الوظائف المتوافقة
بعد بدء إحدى وظائف Cloud في إحدى الإضافات، يكون نطاق عمليات الدمج المُحتمَلة مفتوحًا بشكل عام. في ما يلي بعض أبرز ما يمكنك الاستفادة منه: يمكنك القيام به من دالة السحابة:
- قراءة المحتوى والكتابة إليه والتفاعل معه بأي طريقة أخرى من خلال Firebase أو Google Cloud خدمة تستخدم الدور المتوافق مع "إدارة الهوية وإمكانية الوصول"
- يمكنك استخدام أي خدمة تابعة لجهة خارجية توفِّر واجهة برمجة تطبيقات للويب.
- يمكنك استخدام الخدمات المخصَّصة إذا كنت توفّر واجهة برمجة تطبيقات Web API.
- تشغيل معظم مكتبات JavaScript، بما في ذلك TensorFlow.js وExpress.js وهكذا
كيفية إنشاء إضافة
يرشدك الدليل التعليمي البدء خلال عملية إنشاء إضافة كاملة واختبارها ونشرها، وهو الطريقة المُقترَحة للتعرّف على كيفية إنشاء إضافة.
بعد مراجعة دليل البدء مرة واحدة، يمكنك الرجوع إلى أدلة موضوعات فردية، والتي تشرح كل مهمة من المهام المتضمنة في إنشاء الإضافة الخاصة بك:
- كتابة دوالّ لواحدة من الإضافات
- استخدام المَعلمات في إضافة
- إعداد إذن الوصول المناسب لإحدى الإضافات
- الردّ على أحداث دورة حياة الإضافة
- إدراج عناصر الجذب للمستخدمين في إحدى الإضافات
- إنشاء مستندات المستخدم الخاصة بإضافتك
- نشر إضافة على "مركز الإضافات"
- مرجع كامل عن ملف extension.yaml