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
سایر کاربردهای جالب اعلانها
- ارسال ایمیلهای تأیید به کاربرانی که در خبرنامه مشترک میشوند.
- وقتی کاربر ثبتنام را تکمیل میکند، ایمیل خوشامدگویی ارسال شود.
- وقتی کاربر حساب جدیدی ایجاد میکند، پیامک تأیید ارسال کنید.
انجام پاکسازی و نگهداری پایگاه داده
با رسیدگی به رویداد پایگاه داده 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 برای انتقال کارهای نیازمند منابع زیاد (شبکهسازی یا CPU سنگین) به فضای ابری Google بهجای اجرای آن در دستگاه کاربر استفاده کنید و پاسخگویی برنامهتان را بهبود ببخشید. برای مثال، میتوانید تابعی بنویسید که بارگذاریهای تصویر در Cloud Storage را گوش دهد، تصویر را در نمونهای که تابع را اجرا میکند بارگیری کند، آن را اصلاح کند، و دوباره آن را در Cloud Storage بارگذاری کند. تغییرات شما میتواند شامل تغییر اندازه، برش، یا تبدیل تصاویر با ابزارهایی مانند sharp یا Pillow باشد.

- وقتی فایل تصویری در Cloud Storage بارگذاری میشود، عملکردی راهاندازی میشود.
- این تابع تصویر را بارگیری میکند و نسخه ریزعکسی از آن ایجاد میکند.
- این تابع مکان آن ریزعکس را در پایگاه داده مینویسد تا برنامه کارخواه بتواند آن را پیدا کند و از آن استفاده کند.
- این تابع ریزعکس را در مکان جدیدی به Cloud Storage برمیگرداند.
- برنامه پیوند ریزعکس را بارگیری میکند.
برای راهنمای گامبهگام نمونه پردازش تصویر، راهنمای رسیدگی به رویدادهای Cloud Storage را ببینید.
نمونههای دیگر از کارهای دستهای در ابر Firebase
- حذف دورهای حسابهای Firebase استفادهنشده Node.js | Python.
- پشتیبانگیری خودکار از تصاویر بارگذاریشده Node.js | Python.
- ارسال ایمیل انبوه به کاربران.
- دادهها را بهطور دورهای جمعآوری و خلاصه کنید.
- صف کارهای معلقه را پردازش کنید.
ادغام با سرویسها و میاناهای برنامهسازی کاربردی طرف سوم
Cloud Functions میتواند با فراخوانی و نمایش میاناهای برنامهسازی کاربردی وب، به برنامه شما کمک کند تا با سرویسهای دیگر بهتر کار کند. برای مثال، برنامهای که برای مشارکت در توسعه استفاده میشود میتواند ثبتهای GitHub را در اتاق گپ گروه کاری پست کند.

- کاربری commitها را به مخزن GitHub ارسال میکند.
- یک تابع HTTPS ازطریق GitHub webhook API راهاندازی میشود.
- این تابع اعلانی از commit را به کانال Slack تیم ارسال میکند.
روشهای دیگر برای ادغام با سرویسها و میاناهای برنامهسازی کاربردی طرف سوم
- از Google Cloud Vision API برای تجزیهوتحلیل و برچسبگذاری تصاویر بارگذاریشده استفاده کنید.
- پیامها را بااستفاده از «ترجمه Google» ترجمه کنید.
- از احراز هویت سفارشی برای ورود کاربران به سیستم استفاده کنید.
- ارسال درخواست به وبقلاب در نوشتنهای Realtime Database.
- جستجوی کل نوشتار را در عناصر Realtime Database فعال کنید.
- پرداختهای کاربران را پردازش کنید.
- پاسخهای خودکار برای تماسهای تلفنی و پیامکها ایجاد کنید.
- بااستفاده از «دستیار Google» روبات گپ ایجاد کنید.