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

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

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

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

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

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

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

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

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

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

تنفيذ عمليات تعقيم وصيانة لقاعدة البيانات

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

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

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

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

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

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

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

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

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

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

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

أمثلة أخرى على مهام الدفعات في سحابة Firebase

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

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

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

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

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

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

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