סקירה כללית של מוציא לאור של הרחבה

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

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

מבנה של הרחבה

אתה יכול לחשוב על הרחבה כבעלת שלושה מרכיבים עיקריים:

  • קוד פונקציות ענן, ב-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 כדי להתקין אותו בפרויקט או לפרסם אותו ב-Extensions Hub, שם כל אחד יכול לגלות ולהתקין אותו בפרויקטים שלו.

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

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

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

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

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

  • מפעילי HTTP: פרוס פונקציה לנקודת קצה HTTP
  • פונקציות הניתנות להתקשרות: התקשר לפונקציות הענן שלך ישירות מקוד לקוח iOS, אנדרואיד או אינטרנט, באמצעות ערכות ה-SDK של לקוח Firebase.

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

מפעילי שירות Firebase

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

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

מפעילי שירות Google Cloud

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

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

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

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

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

איך בונים הרחבה

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

להתחיל

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