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

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

תוכלו ליצור תוסף משלכם לשימוש אישי או לשיתוף עם כולם במרכז התוספים של Firebase. לדוגמה, התוסף יכול לבצע משימה ספציפית שנדרשת לאפליקציה באופן קבוע, או להקל על הגישה לאחד מ-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, ב-CLI של Firebase ובמרכז התוספים כשמשתמשים בודקים, מתקינים ומנהלים את התוסף.

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

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

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

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

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

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

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

חשיפת נקודות הקצה (endpoints) של HTTP מהתוסף יכולה להשתלב עם כל שירות אינטרנט שתומך ב-webhooks. באמצעות פונקציות שניתן להפעיל, משתמשים שמתקינים את התוסף יכולים להשתמש ב-SDK של Firebase כספריית לקוח כדי לגשת לממשק ה-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 Functions של תוסף, טווח השילוב האפשרי פתוח בדרך כלל. ריכזנו כאן כמה מהדברים שאפשר לעשות באמצעות Cloud Function:

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

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

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

תחילת העבודה

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