שימוש ב-Cloud Functions

האפליקציה Cloud Functions מעניקה למפתחים גישה ל-Firebase ול-Google Cloud אירועים, וגם יכולת מחשוב ניתנת להתאמה להרצת קוד בתגובה לאירועים האלה. צפוי שאפליקציות Firebase ישתמשו ב-Cloud Functions בדרכים ייחודיות כדי לעמוד בדרישות הייחודיות שלהן, אבל תרחישים לדוגמה אופייניים עשויים להיכלל בתחומים הבאים:

לסקור את התרחישים לדוגמה והדוגמאות עבור כל קטגוריה שמעניינת אתכם ואז ממשיכים למדריך שלנו בנושא תחילת העבודה או מדריכים ספציפיים באירועי אימות, אירועים ב-Analytics ועוד.

שליחת הודעה למשתמשים כשמתרחש משהו מעניין

מפתחים יכולים להשתמש ב-Cloud Functions כדי לשמור על רמת העניין והעדכניות של המשתמשים שכוללות מידע רלוונטי על האפליקציה. לדוגמה, כדאי לחשוב על אפליקציה שמאפשר למשתמשים לעקוב אחר הפעילויות אחד של השני באפליקציה. בכל פעם שמשתמש מוסיף את עצמו כעוקב של משתמש אחר, מתרחשת כתיבה Realtime Database. לאחר מכן אירוע הכתיבה הזה יכול להפעיל פונקציה ליצור התראות Firebase Cloud Messaging (FCM) כדי לאפשר משתמשים יודעים שהם צברו עוקבים חדשים.

תרשים שמציג את זרימת האפליקציה שמתוארת בהמשך

  1. הפונקציה מופעלת בזמן הכתיבה לנתיב Realtime Database, שבו העוקבים שמורים.
  2. הפונקציה יוצרת הודעה לשליחה דרך FCM.
  3. FCM שולחת את הודעת ההתראה למכשיר של המשתמש.

כדי לבדוק את קוד התקינות, אפשר לעיין בקוד לדוגמה ב-GitHub:

תרחישים מעניינים אחרים לשימוש בהתראות

  • לשלוח הודעות אישור באימייל למשתמשים שנרשמים לניוזלטר.
  • שליחת הודעת הצטרפות באימייל כשמשתמש משלים הרשמה.
  • שליחת אישור ב-SMS כשמשתמש יוצר חשבון חדש.

ביצוע ניקיון ותחזוקה של מסדי הנתונים

עם טיפול באירועים במסד הנתונים של Cloud Functions, ניתן לשנות את Realtime Database או Cloud Firestore בתגובה להתנהגות המשתמשים, כשהמערכת נשארת כפי שרצית . לדוגמה, אפשר לעקוב אחרי אירועי כתיבה ולשנות את הפורמט (למשל, שינוי לטקסט מודגש) של מחרוזות מסוימות בהודעות של משתמשים. כך זה יכול לעבוד:

תרשים שמציג את זרימת האפליקציה שמתוארת בהמשך

  1. ה-handler של האירועים במסד הנתונים של הפונקציה מקשיב לאירועי כתיבה במכשיר ספציפי ומאחזר את נתוני האירועים שמכילים את הטקסט של ההודעות.
  2. הפונקציה מעבדת את הטקסט כדי להפוך מחרוזות לאותיות רישיות.
  3. הפונקציה כותבת את הטקסט המעודכן בחזרה למסד הנתונים.

כדי לבדוק את קוד התקינות, אפשר לעיין בקוד לדוגמה ב-GitHub:

תרחישים לדוגמה אחרים של ניהול ותחזוקה של מסדי נתונים

  • מחיקה של תוכן של משתמש שנמחק מ-Realtime Database.
  • להגביל את מספר הצמתים הצאצאים במסד הנתונים של Firebase.
  • מעקב אחר מספר הרכיבים ברשימה Realtime Database.
  • העתקת נתונים מ-Realtime Database ל-Google Cloud BigQuery.
  • המרת טקסט לאמוג'י.
  • לנהל מטא-נתונים מחושבים לרשומות מסד נתונים.

ביצוע משימות אינטנסיביות בענן במקום באפליקציה

אפשר להשתמש ב-Cloud Functions כדי להעביר לענן Google משימות שצורכות הרבה משאבים (מעבד או רשתות כבדים) במקום להריץ אותן במכשיר של המשתמש, וכך לשפר את תגובת האפליקציה. לדוגמה, אפשר לכתוב פונקציה כדי להאזין להעלאות של תמונות ל-Cloud Storage, להוריד את התמונה למכונה שמריצה את הפונקציה, לשנות אותה ולהעלות אותה בחזרה ל-Cloud Storage. שלך יכולים לשנות את הגודל של התמונות, לחתוך אותן או להמיר אותן באמצעות כלים כמו sharp או כרית.

תרשים שמציג את זרימת האפליקציה שמתוארת בהמשך

  1. פונקציה מופעלת כשמעלים קובץ תמונה אל Cloud Storage.
  2. הפונקציה מורידה את התמונה ויוצרת גרסה של התמונה הממוזערת שלה.
  3. הפונקציה כותבת את המיקום של התמונה הממוזערת במסד הנתונים, כדי שאפליקציית לקוח תוכל למצוא אותו ולהשתמש בו.
  4. הפונקציה מעלה את התמונה הממוזערת בחזרה אל Cloud Storage במיקום חדש.
  5. האפליקציה מורידה את הקישור לתמונה הממוזערת.

להדרכה מפורטת של דוגמה לעיבוד תמונות, עיינו במדריך מטפל ב-Cloud Storage אירועים.

דוגמאות נוספות למשימות באצווה בענן של Firebase

  • מדי פעם מוחקים חשבונות Firebase שלא בשימוש Node.js | Python.
  • גיבוי אוטומטי של תמונות שהועלו Node.js | Python.
  • שליחת אימיילים לרשימות תפוצה למשתמשים.
  • צבירה וסיכום נתונים מדי פעם.
  • אפשר לעבד תור של עבודות בהמתנה.

שילוב עם שירותים וממשקי API של צד שלישי

Cloud Functions יכול לעזור לאפליקציה שלך לפעול טוב יותר עם שירותים אחרים על ידי קריאה וחשיפת ממשקי API באינטרנט. לדוגמה, אפליקציה שמשמשת לשיתוף פעולה יכולים לפרסם התחייבות של GitHub לחדר צ'אט של קבוצות עבודה.

תרשים שמציג את זרימת האפליקציה שמתוארת בהמשך

  1. משתמש מעביר התחייבויות למאגר ב-GitHub.
  2. פונקציית HTTPS מופעלת דרך GitHub webhook API.
  3. הפונקציה שולחת התראה על ההתחייבות לערוץ Slack של צוות.

דרכים אחרות לשילוב עם שירותים וממשקי API של צד שלישי

  • משתמשים ב-Google Cloud Vision API כדי לנתח ולתייג תמונות שהועלו.
  • תרגום הודעות באמצעות Google Translate.
  • להשתמש באימות מותאם אישית כדי להיכנס למשתמשים.
  • שליחת בקשה ל-webhook בזמן ש-Realtime Database כותב.
  • הפעלת חיפוש טקסט מלא ברכיבי Realtime Database.
  • עיבוד תשלומים ממשתמשים.
  • ליצור תגובות אוטומטיות לשיחות טלפון ולהודעות SMS.
  • יצירת צ'אט בוט באמצעות Google Assistant.