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

תוסף Firebase מבצע משימה ספציפית או קבוצה של משימות בתגובה לבקשות HTTP או לאירועים מפעילים ממוצרי Firebase ו-Google אחרים, כמו Firebase Cloud Messaging,‏ 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 או האינטרנט באמצעות ערכות Firebase SDK ללקוח.

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

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

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

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

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

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

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

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

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

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

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

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

שנתחיל?

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