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 را در اتاق گپ گروه کاری پست کند.

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