يوفّر Cloud Functions للمطوّرين إمكانية الوصول إلى Firebase وGoogle Cloud الأحداث، بالإضافة إلى قوة معالجة قابلة للتطوير لتشغيل الرموز البرمجية استجابةً لهذه الأحداث. على الرغم من أنّه من المتوقع أن تستخدم تطبيقات Firebase وظائف Cloud بطرق فريدة لتلبية متطلباتها الفريدة، قد تندرج حالات الاستخدام الشائعة ضمن المجالات التالية:
- إرسال إشعارات إلى المستخدمين عند حدوث أمر مثير للاهتمام
- تنفيذ عمليات تنظيف قاعدة البيانات وصيانتها
- تنفيذ المهام المكثفة في السحابة الإلكترونية بدلاً من تطبيقك
- الدمج مع الخدمات وواجهات برمجة التطبيقات التابعة لجهات خارجية
راجِع حالات الاستخدام والأمثلة لكل فئة تهمّك، ثم انتقِل إلى الدليل التعليمي البدء أو إلى أدلة إرشادية محدّدة لأحداث المصادقة وأحداث الإحصاءات وغير ذلك.
إبلاغ المستخدمين عند حدوث شيء مثير للاهتمام
يمكن للمطوّرين استخدام Cloud Functions للحفاظ على تفاعل المستخدمين وإطلاعهم باستمرار على المعلومات ذات الصلة بالتطبيق. على سبيل المثال، تطبيق يسمح للمستخدمين بمتابعة أنشطة بعضهم البعض في التطبيق. في كل مرة يُضيف فيها مستخدم نفسه كمتابع لمستخدم آخر، يتم إجراء عملية كتابة في Realtime Database. بعد ذلك، يمكن أن يؤدي حدث الكتابة هذا إلى تنشيط دالة لإنشاء إشعارات Firebase Cloud Messaging (المراسلة عبر السحابة الإلكترونية من Firebase) لإعلام المستخدمين المناسبين بأنّهم اكتسبوا متابعين جددًا.
- يتم تنشيط الدالة عند الكتابة إلى مسار 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 Storage وتنزيل الصورة إلى المثيل الذي يشغّل الدالة وتعديلها وتحميلها مرة أخرى إلى Cloud Storage. يمكن أن تشمل تعديلاتك تغيير حجم الصور أو اقتصاصها أو تحويلها باستخدام أدوات مثل sharp أو Pillow.
- يتم تشغيل دالة عند تحميل ملف صورة إلى Cloud Storage.
- تعمل الدالة على تنزيل الصورة وإنشاء نسخة مصغّرة منها.
- وتُسجِّل الوظيفة موقع الصورة المصغّرة هذا في قاعدة البيانات، حتى يتمكّن تطبيق العميل من العثور عليها واستخدامها.
- تحمِّل الدالة الصورة المصغّرة مرة أخرى إلى Cloud Storage في موقع جديد.
- ينزّل التطبيق رابط الصورة المصغّرة.
للحصول على جولة تفصيلية حول مثال على معالجة الصور، يُرجى الاطّلاع على دليل التعامل مع أحداث Cloud Storage.
أمثلة أخرى على مهام الدُفعات في السحابة الإلكترونية من Firebase
- يمكنك حذف حسابات Firebase غير المستخدَمة بصفة دورية باستخدام Node.js | Python.
- الاحتفاظ بنسخة احتياطية تلقائية من الصور المحمَّلة Node.js | Python
- إرسال رسائل إلكترونية مجمّعة إلى المستخدمين
- تجميع البيانات وتلخيصها بشكل دوري
- معالجة قائمة الانتظار للعمل المعلَّق.
الدمج مع خدمات وواجهات برمجة تطبيقات تابعة لجهات خارجية
يمكن أن يساعد Cloud Functions تطبيقك في العمل بشكل أفضل مع الخدمات الأخرى من خلال الاتصال بواجهات برمجة تطبيقات الويب وإبرازها. على سبيل المثال، يمكن لتطبيق يُستخدَم للتعاون في تطوير التطبيقات نشر عمليات النشر على GitHub في غرفة محادثة لمجموعة عمل.
- يدفع أحد المستخدمين التزامه بمستودع GitHub.
- يتم تشغيل وظيفة HTTPS من خلال واجهة برمجة تطبيقات الردّ التلقائي على الويب في GitHub.
- تُرسِل الدالة إشعارًا بالالتزام إلى قناة Slack الخاصة بالفريق.
طرق أخرى للدمج مع الخدمات وواجهات برمجة التطبيقات التابعة لجهات خارجية
- استخدِم Cloud Vision API من Google لتحليل الصور المحمَّلة والإشارة إليها.
- ترجمة الرسائل باستخدام "ترجمة Google"
- استخدام المصادقة المخصّصة لتسجيل دخول المستخدمين.
- أرسِل طلبًا إلى رابط تحقُّق من صحة البيانات عند إجراء عمليات كتابة في Realtime Database.
- فعِّل البحث عن النص الكامل في عناصر Realtime Database.
- معالجة الدفعات من المستخدمين
- إنشاء ردود تلقائية على المكالمات الهاتفية والرسائل القصيرة
- إنشاء روبوت دردشة باستخدام "مساعد Google".