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

תוסף 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 client 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 וכו'.

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

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

שנתחיל?

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