סקירה כללית של בעל התוכן הדיגיטלי של התוסף

תוסף Firebase מבצע משימה ספציפית או קבוצה של משימות בתגובה לבקשות HTTP או לאירועים מפעילים ממוצרי Firebase ו-Google אחרים, כמו העברת הודעות בענן ב-Firebase,‏ Cloud Firestore או Pub/Sub.

אתם יכולים ליצור תוסף משלכם לשימוש אישי או לשתף אותו עם העולם ב-Firebase Extensions Hub. לדוגמה, התוסף יכול לבצע משימה ספציפית שהאפליקציה שלכם צריכה באופן קבוע, או להקל על הגישה לאחד מממשקי ה-API של החברה. אחרי שיוצרים את התוסף, אפשר לשתף אותו עם אחרים. המשתמשים האלה יכולים להתקין ולהגדיר את התוסף לשימוש בפרויקטים שלהם ב-Firebase.

המבנה של תוסף

אפשר לומר שתוסף מורכב משלושה רכיבים עיקריים:

  • קוד של Cloud Functions ב-JavaScript או ב-TypeScript
  • מטא-נתונים שמתארים את התוסף
  • מסמכים שיעזרו למשתמשים להגדיר את התוסף ולהשתמש בו

כדי לפתח תוסף, מרכיבים את הרכיבים האלה במבנה הבא:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • הספרייה functions מכילה את הקוד של Cloud Functions ב-JavaScript או ב-TypeScript. זהו הקוד שמבצע את המשימות של התוסף בתגובה לאירועים שמופעלים על ידי שירותי Firebase ו-Google.
  • הקובץ extension.yaml מכיל מטא-נתונים על התוסף, כמו הטריגרים ותפקידי הגישה של IAM, וגם פרמטרים שאתם רוצים שהמשתמשים יוכלו להגדיר.
  • הקבצים PREINSTALL,‏ POSTINSTALL ו-CHANGELOG הם המינימום של התיעוד שחובה לכלול בתוסף. הקבצים האלה עוזרים למשתמשים להבין מה התוסף עושה, איך להשתמש בו ואילו עדכונים ביצעתם. מומלץ גם לספק סמל שיעזור למשתמשים לזהות את התוסף. כשמשתמשים בוחנים, מתקינים ומנהלים את התוסף שלכם, התוכן של הקבצים האלה מוצג במסוף Firebase, ב-Firebase CLI וב-Extensions Hub.

אחרי שיוצרים את התוסף, אפשר להשתמש ב-Firebase CLI כדי להתקין אותו בפרויקט או לפרסם אותו במרכז התוספים, שבו כל אחד יכול למצוא אותו ולהתקין אותו בפרויקטים שלו.

עם אילו מוצרים התוסף יכול ליצור אינטראקציה?

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

טריגרים נתמכים של פונקציות

טריגרים ידניים

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

  • טריגרים של HTTP: פריסת פונקציה לנקודת קצה (endpoint) של HTTP
  • פונקציות שאפשר להפעיל: אפשר להפעיל את Cloud Functions ישירות מקוד הלקוח של iOS,‏ Android או האינטרנט באמצעות ערכות ה-SDK של Firebase ללקוח.

אם חושפים נקודות קצה של HTTP מהתוסף, התוסף יכול להשתלב עם כל שירות אינטרנט שתומך ב-webhook. בעזרת פונקציות שאפשר להפעיל, משתמשים שמתקינים את התוסף יכולים להשתמש ב-Firebase SDKs כספריית לקוח כדי לגשת ל-API שהתוסף מטמיע.

טריגרים של שירות Firebase

רוב מוצרי Firebase פולטים אירועים שיכולים להפעיל Cloud Functions של תוסף.

  • Analytics: פונקציות מופעלות כשמערכת Analytics רושמת אירוע ביומן
  • הפצת אפליקציות: הפעלת פונקציות כשמופעלת התראה בהפצת אפליקציות
  • אימות: הפעלת פונקציות כשמשתמשים יוצרים ומוחקים חשבונות
  • Cloud Firestore: הפעלת פונקציות של טריגר כשדפים נוצרים, מתעדכנים או נמחקים
  • Cloud Storage: הפעלת פונקציות כשמעלים אובייקטים לקטגוריות, מעבירים אותם לארכיון או מוחקים אותם מהקטגוריות
  • Crashlytics: הפעלת פונקציות כש-Crashlytics מפעיל התראה
  • מעקב אחרי ביצועים: הפעלת פונקציות כשמעקב אחרי ביצועים מפעיל התראה
  • מסד נתונים בזמן אמת: פונקציות טריגר מופעלות כשנתונים נוצרים, מתעדכנים או נמחקים
  • הגדרת תצורה מרחוק: הפעלת פונקציות טריגר כשפרמטר מתעדכן
  • Test Lab: הפעלת פונקציות כש-Test Lab מפעיל התראה

טריגרים של שירות Google Cloud

תוסף יכול לכלול גם פונקציות שמופעלות על ידי כמה שירותים של Google Cloud שאינם Firebase:

  • Cloud Pub/Sub: תוסף יכול לכלול פונקציות שמופעלות כשאירועים מתפרסמים בנושא Pub/Sub שניתן להגדרה.
  • Cloud Scheduler: תוסף יכול לכלול פונקציות שפועלות לפי לוח זמנים מוגדר
  • Cloud Tasks: תוסף יכול לכלול פונקציות שאפשר להוסיף לתור באמצעות Cloud Tasks. התכונה הזו מאפשרת לכם, כמפתחי תוספים, לכתוב פונקציות שמגיבות לאירועים ב'מחזור החיים' של תוסף ל-Firebase: התקנה בפרויקט בפעם הראשונה, שדרוג לגרסה חדשה ושינוי הגדרות.
  • Eventarc: תוסף יכול לכלול פונקציות שמופעלות כשאירועים מתפרסמים בערוץ Eventarc שניתן להגדרה. לחלופין, תוסף יכול לפרסם אירועים משלו בערוץ Eventarc כדי לאפשר למשתמשים להגדיר פונקציות משלהם שמופעלות מאירועים של תוסף.

פונקציות נתמכות

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

  • לקרוא, לכתוב ולבצע פעולות אחרות בכל שירות של Firebase או Google Cloud שמשתמש בתפקיד IAM נתמך.
  • עבודה עם כל שירות צד שלישי שמספק Web API.
  • עבודה עם שירותים בהתאמה אישית אם אתם מספקים API לאינטרנט.
  • להריץ את רוב ספריות JavaScript, כולל TensorFlow.js,‏ Express.js וכו'.

איך יוצרים תוסף

המדריך תחילת העבודה מסביר איך ליצור, לבדוק ולפרסם תוסף שלם, והוא הדרך המומלצת ללמוד איך ליצור תוסף.

קדימה, מתחילים

אחרי שתעברו על המדריך למתחילים פעם אחת, תוכלו לעיין במדריכים לפי נושא, שבהם מוסבר על כל אחת מהמשימות שקשורות ליצירת תוסף משלכם: