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