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

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

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

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

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

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

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

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

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

חשיפה של נקודות קצה מסוג 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

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

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

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

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

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

איך בונים תוסף

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

איך מתחילים

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