פרסום התוסף

בדף הזה מוסבר איך לפרסם תוסף במרכז התוספים.

לפני שמתחילים

כדי לפרסם תוסף, קודם צריך להירשם כבעלים של תוספי Chrome.

מקורות ניתנים לאימות

לכל התוספים שפורסמו ב-Extensions Hub חייב להיות מקור שאפשר לאמת באופן ציבורי. במקום להעלות את קוד המקור של התוסף ישירות ל'תוספים' מ-Google Hub, צריך לציין במקום זאת את מיקום המקור ו-Extension Hub יוריד אותו ולפתח אותו משם.

בשלב הזה, המשמעות היא שקוד המקור של התוסף צריך להיות זמין במאגר ציבורי ב-GitHub.

להעלאה ממקור שאפשר לאמת יש כמה יתרונות:

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

מחזור הפיתוח המומלץ

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

היכולת הזו מאפשרת מחזור פיתוח כמו זה:

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

  2. בודקים את התוסף בפרויקט אמיתי על ידי התקנתו ממקור מקומי:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. מעלים גרסה לקדם-הפצה למרכז התוספים (ראו בהמשך). אפשר להפיץ את הקישור להתקנה כדי לבצע בדיקות נוספות, ולהעלות גרסאות נוספות של טרום-ההפצה לפי הצורך.

  4. מעלים את הגרסה הסופית והיציבה למרכז התוספים (ראו בהמשך) ושולחים אותה לבדיקה. אם התוסף יעבור את הבדיקה, הוא יפורסם ב-Extension Hub.

  5. מגדילים את מספר הגרסה ב-extension.yaml וחוזרים על המחזור הזה למשך את הגרסה הבאה של התוסף.

העלאת תוסף חדש

כדי להעלות תוסף בפעם הראשונה:

  1. אופציונלי: אפשר לשמור את הקוד למאגר ציבורי של GitHub.

  2. מריצים את הפקודה ext:dev:upload ב-CLI של Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    מקור מקומי

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

    בהפעלת הפקודה, עליכם לציין את הפרטים הבאים:

    • מזהה בעל התוכן הדיגיטלי שרשמתם.

    • מחרוזת מזהה שתחליף את התוסף. נותנים שם לתוספים. בפורמט הבא: firebase-product-description-of-tasks-performed לדוגמה: firestore-bigquery-export

    הפקודה תבקש מידע נוסף:

    • אם אתם מעלים את הנתונים מ-GitHub:

      • כתובת ה-URL למאגר של התוסף ב-GitHub. חשוב לזכור שמאגר יכול להכיל כמה תוספים, כל עוד לכל תוסף יש שורש ייחודי.

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

      • הספרייה במאגר שמכילה את התוסף.

      • מסמך העזר ל-Git של ההתחייבות שרוצים לבנות את גרסת התוסף המקור מ-. זה יכול להיות גיבוב (hash) שמור, תג או שם הסתעפות.

    • שלב ההשקה של הגרסה שאתם מעלים.

      השלבים alpha, beta ו-rc (מועמד לגרסה) מיועדים להעלאה גרסאות טרום-השקה (טרום-השקה) לבודקים להתקנה. מומלץ להשתמש באחד מהשלבים האלה להעלאה הראשונית של תוסף חדש.

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

    שימו לב שלא מציינים את מספר הגרסה – הערך הזה מגיע קובץ extension.yaml. כשמעלים גרסת תוסף טרום-השקה, מספר השלב וההעלאה מצורף לגרסה. לדוגמה, אם הערך של extension.yaml הוא 1.0.1 ומעלים גרסה מועמדת להשקה, הערך של 1.0.1-rc.0 יהיה 1.0.1. העלאה של גרסה מועמדת נוספת לאותה גרסה תגדיל את המספר באופן אוטומטי, והערך של 1.0.1-rc.1 יהיה 1.0.2, וכן הלאה.

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

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

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    ניתן לשתף את הקישור הישיר עם הבודקים.

  • באמצעות ה-CLI: המשתמשים יכולים להתקין את התוסף על ידי העברת התוסף. מחרוזת מזהה לפקודה ext:install:

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

העלאת גרסה מעודכנת

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

כדי להעלות עדכון:

  1. אופציונלי: שומרים את הקוד למאגר ציבורי של Git.

  2. מריצים את הפקודה ext:dev:upload ב-CLI של Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    הפעם לא תתבקשו לציין את המאגר של GitHub או תיקיית השורש של התוסף כי הם כבר הוגדרו לתוסף. אם שיניתם מאז את מבנה המאגר או הועברו למאגר חדש, תוכלו לשנות אותם באמצעות הפקודה הארגומנטים --root ו---repo.

    מקור מקומי

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

שליחת הארכה לאתר חדשות

כשתהיו מוכנים לפרסם את התוסף באופן ציבורי:

  1. שומרים את הקוד למאגר ציבורי של Git. (חובה בגרסאות ציבוריות.)

  2. מריצים את הפקודה ext:dev:upload ב-CLI של Firebase, ומציינים את stable בתור שלב הפרסום:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. אם פרסמת בעבר גרסה של התוסף, עליך להעלות גרסה חדשה בגרסה היציבה, התוסף יישלח באופן אוטומטי לבדיקה.

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

לאחר השליחה, הבדיקה עשויה להימשך כמה ימים. אם הבקשה תאושר, ההארכה פורסם ב-תוספים Hub. אם הבקשה תידחה, תקבלו הודעה עם הסבר על הסיבה. לאחר מכן תוכלו לטפל בבעיות שדווחו ולשלוח את הבקשה לבדיקה מחדש.

כדי לזרז את הבדיקה ולהגדיל את הסיכויים לעבור בניסיון הראשון, לפני השליחה, חשוב לבדוק את הפרטים הבאים:

  • בדקתם היטב את התוסף ואת תהליך ההתקנה.
  • המסמכים שלכם מלאים ונכונים, והם מעובדים היטב ב-Firebase במסוף.
  • שם בעל התוכן הדיגיטלי והמיתוג שלו מזהים אתכם כבעלים של התוכן הדיגיטלי באופן ברור ומדויק.
  • השם, התיאור והסמל של התוסף מייצגים באופן ברור ומדויק מטרת התוסף.
  • החלתם תגים שימושיים ומדויקים.
  • הוצהרו ב-extension.yaml כל ממשקי ה-API של Google וממשקי ה-API האחרים שבהם אתם משתמשים, וכן כל סוגי האירועים שהתוסף שלכם פולט.
  • אתם מבקשים גישה רק לתפקידים הנדרשים כדי שהתוסף יפעל, והסברתם למשתמשים בבירור למה אתם זקוקים לגישה כזו.
  • ברור שהקבצים המקוריים שלך ברישיון בכפוף לתנאים של Apache-2.0.

ניהול תוספים שהועלו ופורסמו

הצגת רשימה של התוספים שהועלו

כדי להציג ברשימה את התוספים שהעלית עם מזהה בעל האתר, מבצעים אחת מהפעולות הבאות: הבאים:

מרכז השליטה לבעלי תוכן דיגיטלי

אפשר לראות אותם בלוח הבקרה של בעלי התוכן הדיגיטלי.

Firebase CLI

מריצים את הפקודה ext:dev:list:

firebase ext:dev:list your_publisher_id

הצגת השימוש בתוספים שהעלית

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

מרכז השליטה לבעלי תוכן דיגיטלי

במרכז הבקרה של בעלי תוכן דיגיטלי מוצגים מדדי שימוש מצטברים של כל התוספים ומדדים ספציפיים לכל תוסף.

Firebase CLI

מריצים את הפקודה ext:dev:usage:

firebase ext:dev:usage your_publisher_id

הוצאה משימוש של גרסה של תוסף

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

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

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

  1. במרכז השליטה לבעלי אתרים, לוחצים על התוסף כדי לפתוח אותו. תצוגת פרטים.
  2. בוחרים את הגרסה שרוצים להוציא משימוש.
  3. לוחצים על הוצאה משימוש של הגרסה.

Firebase CLI

מריצים את הפקודה ext:dev:deprecate:

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

אפשר לציין גרסה אחת או טווח של גרסאות. דוגמאות:

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

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

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

כדי לבטל את ההוצאה משימוש, צריך להשתמש במרכז הבקרה לבעלי תוכן דיגיטלי או להריץ את הפקודה ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

נספח: פתרון בעיות בשגיאות build

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

  1. שכפול המאגר שלכם ב-GitHub ובדיקת ההפניה למקור שצוין.

  2. התקנת יחסי תלות של NPM על ידי הרצת npm clean-install בכל פונקציה ספריית המקור שצוינה ב-extension.yaml (ראו sourceDirectory ב- משאבים של פונקציה של Cloud Functions).

    שימו לב לנקודות הבאות:

    • לכל קובץ package.json צריך להיות package-lock.json תואם חדש. למידע נוסף, ראו npm-ci.

    • סקריפטים שלאחר ההתקנה לא יפעלו במהלך התקנת התלות. אם ה-build של קוד המקור מסתמך על סקריפטים לאחר ההתקנה, צריך לבצע בו refactoring לפני ההעלאה.

  3. יוצר את הקוד על ידי הרצת npm run build בכל מקור של פונקציה שצוינה ב-extension.yaml.

רק ספריית הבסיס של התוסף תישמר בתוסף הסופי החבילה שתשותף.

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