تتيح منصة Cloud Functions للمطوّرين الوصول إلى أحداث Firebase وGoogle Cloud، بالإضافة إلى قوة حوسبة قابلة للتوسّع لتشغيل الرموز البرمجية استجابةً لتلك الأحداث. على الرغم من أنّه من المتوقّع أن تستخدم تطبيقات Firebase دوال Cloud Functions بطرق فريدة لتلبية متطلباتها الفريدة، إلا أنّ حالات الاستخدام النموذجية قد تندرج ضمن هذه المجالات:
- إرسال إشعارات إلى المستخدمين عند حدوث أمر مثير للاهتمام:
- تنظيف قاعدة البيانات وصيانتها
- تنفيذ المهام المكثّفة في السحابة الإلكترونية بدلاً من تطبيقك:
- التكامل مع الخدمات الخارجية وواجهات برمجة التطبيقات
راجِع حالات الاستخدام والأمثلة لكل فئة تهمّك، ثم انتقِل إلى البرنامج التعليمي البدء أو إلى أدلة طريقة التنفيذ محدّدة حول أحداث المصادقة وأحداث الإحصاءات والمزيد.
إرسال إشعارات إلى المستخدمين عند حدوث أمر مثير للاهتمام
يمكن للمطوّرين استخدام Cloud Functions للحفاظ على تفاعل المستخدمين وإطلاعهم على آخر المعلومات ذات الصلة بالتطبيق. على سبيل المثال، يمكن أن يتيح التطبيق للمستخدمين متابعة أنشطة بعضهم البعض في التطبيق. في كل مرة يضيف فيها المستخدم نفسه كمتابع لمستخدم آخر، تتم عملية كتابة في Realtime Database. بعد ذلك، يمكن أن يؤدي حدث الكتابة هذا إلى تشغيل دالة لإنشاء إشعارات Firebase Cloud Messaging (FCM) لإعلام المستخدمين المناسبين بأنّهم حصلوا على متابعين جدد.

- يتم تشغيل الدالة عند الكتابة في مسار Realtime Database حيث يتم تخزين المتابعين.
- تنشئ الدالة رسالة لإرسالها عبر FCM.
- يرسل FCM رسالة الإشعار إلى جهاز المستخدم.
لمراجعة الرمز البرمجي الذي يعمل، يمكنك الاطّلاع على الرمز النموذجي في GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
حالات استخدام أخرى مثيرة للاهتمام للإشعارات
- إرسال رسائل تأكيد إلكترونية إلى المستخدمين الذين يشتركون في نشرة إخبارية
- إرسال رسالة ترحيب إلكترونية عندما يكمل المستخدم عملية الاشتراك
- إرسال رسالة تأكيد قصيرة (SMS) عندما ينشئ مستخدم حسابًا جديدًا
تنفيذ عمليات تنظيف قاعدة البيانات وصيانتها
من خلال معالجة أحداث قاعدة بيانات Cloud Functions، يمكنك تعديل Realtime Database أو Cloud Firestore استجابةً لسلوك المستخدم، ما يحافظ على النظام في الحالة المرغوبة. على سبيل المثال، يمكنك مراقبة أحداث الكتابة وتغيير تنسيق سلاسل معيّنة في رسائل المستخدمين (مثلاً، تغييرها إلى أحرف لاتينية كبيرة). إليك كيفية تنفيذ ذلك:

- يستمع معالج أحداث قاعدة البيانات الخاص بالدالة إلى أحداث الكتابة على مسار معيّن، ويسترد بيانات الأحداث التي تحتوي على نص الرسائل.
- تعالج الدالة النص لتغيير السلاسل إلى أحرف كبيرة.
- تكتب الدالة النص المعدَّل مرة أخرى في قاعدة البيانات.
لمراجعة الرمز البرمجي الذي يعمل، يمكنك الاطّلاع على الرمز النموذجي في GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
حالات استخدام أخرى لتنظيف قواعد البيانات وصيانتها
- إزالة محتوى مستخدم محذوف من Realtime Database نهائيًا
- حدِّد عدد العُقد الفرعية في قاعدة بيانات Firebase.
- تتبُّع عدد العناصر في قائمة Realtime Database
- يمكنك نسخ البيانات من Realtime Database إلى Google Cloud BigQuery.
- تحويل النص إلى إيموجي
- إدارة البيانات الوصفية المحسوبة لسجلات قاعدة البيانات
تنفيذ المهام المكثّفة في السحابة الإلكترونية بدلاً من تطبيقك
يمكنك الاستفادة من Cloud Functions لتفريغ العمل الذي يتطلّب موارد كثيرة (وحدة المعالجة المركزية أو الشبكات) إلى Google Cloud بدلاً من تشغيله على جهاز المستخدم، ما يحسّن من استجابة تطبيقك. على سبيل المثال، يمكنك كتابة دالة للاستماع إلى عمليات تحميل الصور إلى Cloud Storage، وتنزيل الصورة إلى المثيل الذي يشغّل الدالة، وتعديلها، وتحميلها مرة أخرى إلى Cloud Storage. ويمكن أن تشمل التعديلات تغيير حجم الصور أو اقتصاصها أو تحويلها باستخدام أدوات مثل sharp أو Pillow.

- يتم تشغيل دالة عند تحميل ملف صورة إلى Cloud Storage.
- تنزّل الدالة الصورة وتنشئ نسخة مصغّرة منها.
- تكتب الدالة موقع الصورة المصغّرة في قاعدة البيانات، حتى يتمكّن تطبيق العميل من العثور عليها واستخدامها.
- تحمّل الدالة الصورة المصغّرة مرة أخرى إلى Cloud Storage في موقع جغرافي جديد.
- يُنزّل التطبيق رابط الصورة المصغّرة.
للاطّلاع على مثال تفصيلي حول معالجة الصور، يمكنك مراجعة دليل التعامل مع أحداث Cloud Storage.
أمثلة أخرى على مهام الدفعات في Firebase Cloud
- حذف حسابات Firebase غير المستخدَمة بشكل دوري Node.js | Python
- الاحتفاظ بنسخة احتياطية تلقائيًا من الصور المحمَّلة Node.js | Python
- إرسال رسائل إلكترونية مجمّعة إلى المستخدمين
- تجميع البيانات وتلخيصها بشكل دوري
- معالجة قائمة انتظار الأعمال المعلّقة
التكامل مع الخدمات وواجهات برمجة التطبيقات التابعة لجهات خارجية
يمكن أن يساعد Cloud Functions تطبيقك في العمل بشكل أفضل مع الخدمات الأخرى من خلال استدعاء واجهات برمجة تطبيقات الويب وعرضها. على سبيل المثال، يمكن لتطبيق يُستخدم للتعاون في عملية التطوير نشر عمليات تنفيذ GitHub في غرفة محادثة لمجموعة عمل.

- يدفع المستخدم عمليات الالتزام إلى مستودع GitHub.
- يتم تشغيل دالة HTTPS من خلال واجهة برمجة تطبيقات الويب هوك في GitHub.
- ترسل الدالة إشعارًا بالثبيت إلى قناة Slack الخاصة بالفريق.
طرق أخرى للدمج مع الخدمات وواجهات برمجة التطبيقات الخارجية
- استخدِم Cloud Vision API من Google لتحليل الصور التي تم تحميلها ووضع علامات عليها.
- ترجمة الرسائل باستخدام "ترجمة Google"
- استخدِم المصادقة المخصّصة لتسجيل دخول المستخدمين.
- إرسال طلب إلى الويب هوك عند إجراء عمليات كتابة في Realtime Database
- فعِّل ميزة البحث في النص الكامل على عناصر Realtime Database.
- معالجة الدفعات من المستخدمين
- إنشاء ردود تلقائية على المكالمات الهاتفية ورسائل SMS
- إنشاء روبوت دردشة باستخدام "مساعد Google"