ما الذي يمكنك فعله باستخدام دوال Cloud؟

Cloud Functions تمنح المطوّرين إمكانية الوصول إلى أحداث Firebase وGoogle Cloud ، بالإضافة إلى قدرة حوسبة قابلة للتوسّع لتشغيل الرمز استجابةً لهذه الأحداث. من المتوقّع أن تستخدم تطبيقات Firebase Cloud Functions بطرق فريدة لتلبية متطلباتها الفريدة، ولكن قد تندرج حالات الاستخدام النموذجية ضمن المجالات التالية:

راجِع حالات الاستخدام والأمثلة لكل فئة تهمّك ، ثم انتقِل إلى البرنامج التعليمي البدء أو إلى الأدلة الإرشادية المحدّدة لـ أحداث المصادقة، أحداث "إحصاءات Google" والمزيد.

إشعار المستخدمين عند حدوث أمر مثير للاهتمام

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

مخطّط يوضّح مسار التطبيق الموضّح أدناه

  1. يتم تشغيل الدالة عند عمليات الكتابة في مسار Realtime Database حيث يتم تخزين المتابعين.
  2. تنشئ الدالة رسالة لإرسالها عبر FCM.
  3. FCM يرسل رسالة الإشعار إلى جهاز المستخدم.

لمراجعة رمز برمجي صالح، اطّلِع على نموذج الرمز في GitHub:

حالات استخدام أخرى مثيرة للاهتمام للإشعارات

  • إرسال رسائل تأكيد إلكترونية إلى المستخدمين الذين يشتركون في رسالة إخبارية
  • إرسال رسالة إلكترونية ترحيبية عند إكمال المستخدم عملية الاشتراك
  • إرسال رسالة تأكيد عبر الرسائل القصيرة عندما ينشئ المستخدم حسابًا جديدًا

تنظيف قاعدة البيانات وصيانتها

باستخدام معالجة أحداث قاعدة البيانات Cloud Functions، يمكنك تعديل Realtime Database أو Cloud Firestore استجابةً لسلوك المستخدم، ما يحافظ على النظام في الحالة التي تريدها. على سبيل المثال، يمكنك تتبُّع أحداث الكتابة وتغيير تنسيق سلاسل معيّنة في رسائل المستخدمين (على سبيل المثال، تغييرها إلى أحرف كبيرة بالكامل). إليك كيفية عمل ذلك:

مخطّط يوضّح مسار التطبيق الموضّح أدناه

  1. يستمع معالج أحداث قاعدة البيانات في الدالة إلى أحداث الكتابة في مسار معيّن، ويستردّ بيانات الحدث التي تحتوي على نص الرسائل.
  2. تعالج الدالة النص لتغيير السلاسل إلى أحرف كبيرة.
  3. تكتب الدالة النص المعدَّل مرة أخرى في قاعدة البيانات.

لمراجعة رمز برمجي صالح، اطّلِع على نموذج الرمز في GitHub:

حالات استخدام أخرى لتنظيف قاعدة البيانات وصيانتها

  • إزالة محتوى مستخدم محذوف من Realtime Database
  • الحدّ من عدد العُقد الفرعية في قاعدة بيانات Firebase
  • تتبُّع عدد العناصر في قائمة Realtime Database
  • نسخ البيانات من Realtime Database إلى Google Cloud BigQuery
  • تحويل النص إلى إيموجي
  • إدارة البيانات الوصفية المحسوبة لسجلات قاعدة البيانات

تنفيذ المهام المكثّفة في السحابة الإلكترونية بدلاً من تنفيذها في تطبيقك

يمكنك الاستفادة من Cloud Functions لتخفيف الحِمل على Google Cloud في العمليات التي تستهلك الكثير من الموارد (وحدة المعالجة المركزية أو إنشاء الشبكات) بدلاً من تشغيلها على جهاز المستخدم، ما يحسّن من سرعة استجابة تطبيقك. على سبيل المثال، يمكنك كتابة دالة للاستماع إلى عمليات تحميل الصور إلى Cloud Storage، وتنزيل الصورة إلى الآلة الافتراضية التي تشغّل الدالة، وتعديلها، ثم تحميلها مرة أخرى إلى Cloud Storage. يمكن أن تتضمّن التعديلات تغيير الحجم أو الاقتصاص أو تحويل الصور باستخدام أدوات مثل sharp أو Pillow.

مخطّط يوضّح مسار التطبيق الموضّح أدناه

  1. يتم تشغيل دالة عند تحميل ملف صورة إلى Cloud Storage.
  2. تنزّل الدالة الصورة وتنشئ نسخة مصغّرة منها.
  3. تكتب الدالة موقع الصورة المصغّرة في قاعدة البيانات، ما يتيح لتطبيق العميل العثور عليها واستخدامها.
  4. تحمّل الدالة الصورة المصغّرة مرة أخرى إلى Cloud Storage في موقع جديد.
  5. ينزّل التطبيق رابط الصورة المصغّرة.

للاطّلاع على مثال تفصيلي لمعالجة الصور، راجِع دليل معالجة Cloud Storage الأحداث.

أمثلة أخرى على المهام المجمّعة في Firebase Cloud

  • حذف حسابات Firebase غير المستخدَمة بشكل دوري: Node.js | Python
  • الاحتفاظ بنسخة احتياطية تلقائية من الصور التي تم تحميلها: Node.js | Python
  • إرسال رسائل إلكترونية مجمّعة إلى المستخدمين
  • تجميع البيانات وتلخيصها بشكل دوري
  • معالجة قائمة انتظار للعمل غير المكتمل

التكامل مع الخدمات وواجهات برمجة التطبيقات الخارجية

يمكن أن يساعد Cloud Functions تطبيقك في العمل بشكل أفضل مع الخدمات الأخرى من خلال استدعاء واجهات برمجة التطبيقات على الويب وعرضها. على سبيل المثال، يمكن لتطبيق يُستخدم للتعاون في التطوير نشر عمليات الإرسال إلى GitHub في غرفة محادثة خاصة بفريق العمل.

مخطّط يوضّح مسار التطبيق الموضّح أدناه

  1. يرسل المستخدم عمليات الإرسال إلى مستودع GitHub.
  2. يتم تشغيل دالة HTTPS من خلال واجهة برمجة تطبيقات GitHub webhook.
  3. ترسل الدالة إشعارًا بعملية الإرسال إلى قناة Slack الخاصة بالفريق.

طرق أخرى للتكامل مع الخدمات وواجهات برمجة التطبيقات الخارجية

  • استخدام Google Cloud Vision API لتحليل الصور التي تم تحميلها ووضع علامات عليها
  • ترجمة الرسائل باستخدام "ترجمة Google"
  • استخدام المصادقة المخصّصة لتسجيل دخول المستخدمين
  • إرسال طلب إلى webhook عند عمليات الكتابة في Realtime Database
  • تفعيل البحث عن النص الكامل في عناصر Realtime Database
  • معالجة الدفعات من المستخدمين
  • إنشاء ردود تلقائية على المكالمات الهاتفية والرسائل القصيرة
  • إنشاء برنامج دردشة باستخدام "مساعد Google"