یک افزونه Firebase نصب کنید

می‌توانید هر یک از برنامه‌های افزودنی رسمی Firebase را با استفاده از کنسول Firebase ، Firebase CLI (واسط خط فرمان) یا با استفاده از یک SDK خود تولید شده نصب کنید (و مدیریت کنید ).

اطمینان حاصل کنید که تفاوت در اقدامات پشتیبانی شده برای هر روش نصب را بررسی کنید.


نصب با استفاده از یک SDK خودکار یک گزینه جدید برای نصب و مدیریت برنامه های افزودنی است. با استفاده از این گزینه، از CLI برای تولید خودکار Node SDK برای یک نسخه برنامه افزودنی خاص استفاده می‌کنید، که می‌توانید آن را به عنوان یک وابستگی معمولی در توابع ابری JavaScript یا TypeScript وارد کنید.

این SDK که به طور خودکار تولید می شود شامل:

  • رابطی که پارامترهای برنامه افزودنی و اعلان‌های نوع را برای اکثر انواع پارامترهای غیر ابتدایی نشان می‌دهد.
  • یک تابع سازنده که نمونه ای از پسوند را مقداردهی اولیه می کند
  • یک کلاس افزونه که شامل تریگرهای Eventarc برای همه رویدادهای منتشر شده توسط برنامه افزودنی است.

هنگامی که یک برنامه افزودنی SDK ایجاد کردید، تمام پیکربندی برنامه افزودنی در کد انجام می شود.

استفاده از این گزینه نصب می‌تواند مدیریت چندین نمونه برنامه افزودنی را به‌ویژه در پروژه‌هایی که حاوی توابع Cloud هستند که خارج از برنامه‌های افزودنی تعریف شده‌اند، بسیار ساده کند.


برای نصب یا مدیریت برنامه‌های افزودنی، باید یکی از این نقش‌ها به شما اختصاص داده شود: مالک یا ویرایشگر یا مدیر Firebase .

برای نصب افزونه، پروژه شما باید در طرح Blaze (پرداخت در حین حرکت) باشد. اگرچه هزینه ای برای نصب برنامه افزودنی دریافت نمی شود، ممکن است برای استفاده از سرویس های Firebase یا سرویس های Cloud مانند Cloud Secret Manager هزینه ای دریافت کنید، اگر میزان استفاده شما از سطح رایگان سرویس ها بیشتر شود.

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه خود اضافه کنید .

  2. اگر قبلاً این کار را نکرده اید، پروژه خود را به طرح Blaze (پرداخت در حین انجام کار) ارتقا دهید.

  3. نصب یا به روز رسانی به آخرین نسخه Firebase CLI.

  4. به شناسه پروژه Firebase یا نام مستعار پروژه پیکربندی شده قبلی خود توجه داشته باشید.

مرحله 1 : اطلاعات دقیق در مورد یک برنامه افزودنی را مشاهده کنید

این مرحله اختیاری است، اما به شدت توصیه می شود.

قبل از نصب Firebase Extension ، توصیه می‌کنیم اطلاعات دقیق مربوط به افزونه را مرور کنید، از جمله:

  • نحوه عملکرد برنامه افزودنی، هرگونه کار پیش از نصب، و جزئیات مربوط به برنامه افزودنی
  • اطلاعات شناسایی عمومی و توضیحات
  • آیا وظایف برنامه افزودنی به حساب صورت‌حساب نیاز دارد
  • سرویس‌های Google (API) و به نقش‌های مورد نیاز برای عملیات دسترسی داشته باشید
  • منابع ایجاد شده برای برنامه افزودنی (مانند توابع)
  • توضیحات پارامترهای قابل تنظیم توسط کاربر

برای مشاهده اطلاعات دقیق یک برنامه افزودنی:

  1. مطمئن شوید که محیط خود را تنظیم کرده اید و یک برنامه افزودنی را انتخاب کرده اید .

  2. دستور extension-info را از هر نقطه از رایانه خود اجرا کنید:

    firebase ext:info publisher-id/extension-id

    آرگومان‌های publisher-id و extension-id مورد نیاز هستند و می‌توانند در صفحه جزئیات نصب پیش‌نصب برنامه افزودنی پیدا شوند.

مرحله 2 : یک افزونه نصب کنید

قبل از نصب، مشخصات اولیه برنامه افزودنی (مانند API های فعال، منابع ایجاد شده، دسترسی اعطا شده و غیره) و الزامات صورتحساب آن را بررسی کنید.

قبل از ادامه، مطمئن شوید که محیط خود را تنظیم کرده اید و یک برنامه افزودنی را انتخاب کرده اید .

توابع Cloud را برای Firebase راه اندازی کنید

اگر پروژه جدیدی را شروع می کنید یا اگر پروژه شما قبلاً از Cloud Functions برای Firebase استفاده نمی کند، init functions اجرا کنید:

cd your-project
firebase init functions

TypeScript یا JavaScript را به عنوان زبان توابع خود انتخاب کنید.

اگر پروژه شما قبلاً دارای توابع Cloud اولیه شده است، مطمئن شوید که از نسخه 5.1.0 یا جدیدتر بسته firebase-functions استفاده می کنید:

cd your-project/functions
npm upgrade --save firebase-functions

اگر از ESLint استفاده می‌کنید، ممکن است بخواهید SDK‌های تولید شده را نیز از پیکربندی خود حذف کنید ( .eslintrc.js ):

ignorePatterns: [
  "/generated/**/*", // Ignore generated files.
  // ...
],

یک افزونه SDK ایجاد کنید

از دایرکتوری Firebase محلی خود، دستور ext:sdk:install اجرا کنید.

firebase ext:sdk:install publisher-id/extension-id@version

به عنوان مثال، برای نصب نسخه 0.1.34 پسوند firestore-send-email :

firebase ext:sdk:install firebase/firestore-send-email@0.1.34

publisher-id و extension-id مورد نیاز است و می‌توانید آن را در صفحه جزئیات نصب پیش‌نصب برنامه افزودنی در extensions.dev پیدا کنید. قسمت @ version اختیاری است. اگر آن را حذف کنید، ابزار آخرین نسخه را نصب می کند.

دو گزینه وجود دارد که می توانید مشخص کنید:

  • --force : تمام کارهای زیر را بدون تایید بیشتر انجام دهید:

    • تولید خودکار SDK حتی اگر قبلاً برای همان برنامه افزودنی و نسخه ایجاد شده باشد.
    • بسته SDK خود تولید شده را در پروژه Cloud Functions Node نصب کنید.
  • --codebase : نام پایگاه کد برای افزودن SDK به آن. اگر مشخص نشده باشد، فرمان SDK را به پایگاه کد پیش‌فرض، functions اضافه می‌کند.

این دستور یک بسته Node حاوی یک SDK ایجاد می کند که به طور خودکار برای برنامه افزودنی تولید می شود و آن را به یکی از پایگاه های کد توابع ابری پروژه شما اضافه می کند. در پایگاه کد پیش‌فرض ( functions )، SDK در مکان زیر ذخیره می‌شود:

functions/generated/extensions/publisher-id/extension-id/version

پس از تولید SDK، فرمان از شما می‌پرسد که آیا می‌خواهید SDK را در پروژه Cloud Functions Node خود نیز نصب کنید. به این درخواست پاسخ مثبت دهید.

نمونه های برنامه افزودنی را پیکربندی کنید

برای پیکربندی برنامه افزودنی، SDK را وارد کنید، و برای هر نمونه برنامه افزودنی که می‌خواهید نصب کنید، تابع سازنده را فراخوانی کنید و یک ID نمونه منحصر به فرد پروژه و پارامترهای پیکربندی مورد نیاز برنامه افزودنی را به آن ارسال کنید.

  1. در منبع توابع ابری خود، سازنده را با استفاده از دستور چاپ شده توسط دستور ext:sdk:install وارد کنید.

    به عنوان مثال، اگر یک SDK برای پسوند firestore-send-email ایجاد کرده باشید، عبارت import چیزی شبیه به زیر خواهد بود:

    import { firestoreSendEmail } from "@firebase-extensions/firebase-firestore-send-email-sdk";
    

    اگر برنامه افزودنی به مقادیر مخفی مانند رمز عبور نیاز دارد، به تابع defineSecret از Cloud Functions SDK نیز نیاز دارید:

    import { defineSecret } from "firebase-functions/params";
    

    به عنوان مثال، اگر یک SDK برای پسوند firestore-send-email ایجاد کرده باشید، عبارت require چیزی شبیه به زیر خواهد بود:

    const { firestoreSendEmail } = require("@firebase-extensions/firebase-firestore-send-email-sdk");
    

    اگر برنامه افزودنی به مقادیر مخفی مانند رمز عبور نیاز دارد، به تابع defineSecret از Cloud Functions SDK نیز نیاز دارید:

    const { defineSecret } = require('firebase-functions/params');
    
  2. برای هر نمونه ای که می خواهید پیکربندی کنید، تابع سازنده را فراخوانی کرده و نتیجه را صادر کنید.

    به هر نمونه یک شناسه منحصربفرد بدهید که فقط شامل حروف کوچک، اعداد و خط فاصله باشد.

    export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    
    exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    

    توجه داشته باشید که مقادیر مخفی باید با استفاده از تابع defineSecret مشخص شوند.

  3. سپس، برای استقرار افزونه هایی که پیکربندی کرده اید، اجرا کنید:

    firebase deploy --only functions --project=projectId-or-alias

    همه گزینه‌های معمول استقرار توابع ابری اعمال می‌شوند. به عنوان مثال، برای استقرار یک نمونه پسوند واحد از یک پایگاه کد خاص:

    firebase deploy --only functions:codebase:extension-instance-id --project=projectId-or-alias

مرحله 3 : راه اندازی پس از نصب را کامل کنید

برخی از برنامه‌های افزودنی دارای مراحل لازم یا اختیاری هستند که باید قبل از استفاده از آنها تکمیل کنید. این دستورالعمل ها را در صفحه جزئیات پس از نصب برنامه افزودنی خود در داشبورد Extensions کنسول Firebase پیدا کنید (پیوند خاص داشبورد پس از نصب در ترمینال نمایش داده می شود).

همچنین می‌توانید این دستورالعمل‌ها را در فایل POSTINSTALL.md موجود در فهرست منبع برنامه افزودنی بیابید.

منابع Firebase را ایجاد کنید

اگر برنامه افزودنی را برای استفاده از منابع Firebase (مجموعه‌های Cloud Firestore ، مسیرهای Realtime Database ، سطل‌های Cloud Storage ) که از قبل وجود ندارند، پیکربندی کرده‌اید، قبل از استفاده از برنامه افزودنی، آنها را ایجاد کنید.

کنترل کننده رویداد Eventarc را ایجاد کنید

برخی از برنامه‌های افزودنی زمانی که رویدادهای مهم در حین اجرا اتفاق می‌افتند، در Eventarc منتشر می‌شوند. اگر یک برنامه افزودنی رویدادها را منتشر می کند، می توانید توابعی بنویسید که با منطق سفارشی خود به این رویدادها واکنش نشان می دهند. این می تواند مفید باشد، به عنوان مثال، برای اطلاع دادن به کاربران هنگام تکمیل وظایف طولانی مدت، یا برای پس پردازش خروجی یک تابع برنامه افزودنی.

اگر می‌خواهید برای هر یک از رویدادهایی که توسط افزونه منتشر می‌شود، کنترل‌کننده‌هایی تعریف کنید، می‌توانید این کار را با استفاده از روش‌های راه‌انداز هر نمونه انجام دهید:

export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

export const emailErrorHandler = firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});
exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

exports.emailErrorHandler = exports.firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});

باید کنترل کننده رویداد را به همراه نمونه برنامه افزودنی صادر کنید.

پس از تعریف یک کنترل کننده رویداد، و پس از هر بار که تغییراتی در یکی ایجاد کردید، هم افزونه و هم کنترل کننده را مجدداً قرار دهید.

چند نمونه برنامه افزودنی را نصب کنید

شما می توانید یک افزونه را بیش از یک بار در همان پروژه نصب کنید. هر نمونه نصب شده می تواند پیکربندی سفارشی شده و منابع برنامه افزودنی خود را داشته باشد. شما هر نمونه نصب شده را با استفاده از شناسه نمونه آن شناسایی کرده و به آن ارجاع می دهید که در پروژه شما منحصر به فرد است.

برای هر نمونه ای که می خواهید نصب و پیکربندی کنید، تابع سازنده SDK خود تولید شده را یک بار فراخوانی کنید.

مراحل بعدی

،

می‌توانید هر یک از برنامه‌های افزودنی رسمی Firebase را با استفاده از کنسول Firebase ، Firebase CLI (واسط خط فرمان) یا با استفاده از یک SDK خود تولید شده نصب کنید (و مدیریت کنید ).

اطمینان حاصل کنید که تفاوت در اقدامات پشتیبانی شده برای هر روش نصب را بررسی کنید.


نصب با استفاده از یک SDK خودکار یک گزینه جدید برای نصب و مدیریت برنامه های افزودنی است. با استفاده از این گزینه، از CLI برای تولید خودکار Node SDK برای یک نسخه برنامه افزودنی خاص استفاده می‌کنید، که می‌توانید آن را به عنوان یک وابستگی معمولی در توابع ابری JavaScript یا TypeScript وارد کنید.

این SDK که به طور خودکار تولید می شود شامل:

  • رابطی که پارامترهای برنامه افزودنی و اعلان‌های نوع را برای اکثر انواع پارامترهای غیر ابتدایی نشان می‌دهد.
  • یک تابع سازنده که نمونه ای از پسوند را مقداردهی اولیه می کند
  • یک کلاس افزونه که شامل تریگرهای Eventarc برای همه رویدادهای منتشر شده توسط برنامه افزودنی است.

هنگامی که یک برنامه افزودنی SDK ایجاد کردید، تمام پیکربندی برنامه افزودنی در کد انجام می شود.

استفاده از این گزینه نصب می‌تواند مدیریت چندین نمونه برنامه افزودنی را به‌ویژه در پروژه‌هایی که حاوی توابع Cloud هستند که خارج از برنامه‌های افزودنی تعریف شده‌اند، بسیار ساده کند.


برای نصب یا مدیریت برنامه‌های افزودنی، باید یکی از این نقش‌ها به شما اختصاص داده شود: مالک یا ویرایشگر یا مدیر Firebase .

برای نصب افزونه، پروژه شما باید در طرح Blaze (پرداخت در حین حرکت) باشد. اگرچه هزینه ای برای نصب برنامه افزودنی دریافت نمی شود، ممکن است برای استفاده از سرویس های Firebase یا سرویس های Cloud مانند Cloud Secret Manager هزینه ای دریافت کنید، اگر میزان استفاده شما از سطح رایگان سرویس ها بیشتر شود.

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه خود اضافه کنید .

  2. اگر قبلاً این کار را نکرده اید، پروژه خود را به طرح Blaze (پرداخت در حین انجام کار) ارتقا دهید.

  3. نصب یا به روز رسانی به آخرین نسخه Firebase CLI.

  4. به شناسه پروژه Firebase یا نام مستعار پروژه پیکربندی شده قبلی خود توجه داشته باشید.

مرحله 1 : اطلاعات دقیق در مورد یک برنامه افزودنی را مشاهده کنید

این مرحله اختیاری است، اما به شدت توصیه می شود.

قبل از نصب Firebase Extension ، توصیه می‌کنیم اطلاعات دقیق مربوط به افزونه را مرور کنید، از جمله:

  • نحوه عملکرد برنامه افزودنی، هرگونه کار پیش از نصب، و جزئیات مربوط به برنامه افزودنی
  • اطلاعات شناسایی عمومی و توضیحات
  • آیا وظایف برنامه افزودنی به حساب صورت‌حساب نیاز دارد
  • سرویس‌های Google (API) و به نقش‌های مورد نیاز برای عملیات دسترسی داشته باشید
  • منابع ایجاد شده برای برنامه افزودنی (مانند توابع)
  • توضیحات پارامترهای قابل تنظیم توسط کاربر

برای مشاهده اطلاعات دقیق یک برنامه افزودنی:

  1. مطمئن شوید که محیط خود را تنظیم کرده اید و یک برنامه افزودنی را انتخاب کرده اید .

  2. دستور extension-info را از هر نقطه از رایانه خود اجرا کنید:

    firebase ext:info publisher-id/extension-id

    آرگومان‌های publisher-id و extension-id مورد نیاز هستند و می‌توانند در صفحه جزئیات نصب پیش‌نصب برنامه افزودنی پیدا شوند.

مرحله 2 : یک افزونه نصب کنید

قبل از نصب، مشخصات اولیه برنامه افزودنی (مانند API های فعال، منابع ایجاد شده، دسترسی اعطا شده و غیره) و الزامات صورتحساب آن را بررسی کنید.

قبل از ادامه، مطمئن شوید که محیط خود را تنظیم کرده اید و یک برنامه افزودنی را انتخاب کرده اید .

توابع Cloud را برای Firebase راه اندازی کنید

اگر پروژه جدیدی را شروع می کنید یا اگر پروژه شما قبلاً از Cloud Functions برای Firebase استفاده نمی کند، init functions اجرا کنید:

cd your-project
firebase init functions

TypeScript یا JavaScript را به عنوان زبان توابع خود انتخاب کنید.

اگر پروژه شما قبلاً دارای توابع Cloud اولیه شده است، مطمئن شوید که از نسخه 5.1.0 یا جدیدتر بسته firebase-functions استفاده می کنید:

cd your-project/functions
npm upgrade --save firebase-functions

اگر از ESLint استفاده می‌کنید، ممکن است بخواهید SDK‌های تولید شده را نیز از پیکربندی خود حذف کنید ( .eslintrc.js ):

ignorePatterns: [
  "/generated/**/*", // Ignore generated files.
  // ...
],

یک افزونه SDK ایجاد کنید

از دایرکتوری Firebase محلی خود، دستور ext:sdk:install اجرا کنید.

firebase ext:sdk:install publisher-id/extension-id@version

به عنوان مثال، برای نصب نسخه 0.1.34 پسوند firestore-send-email :

firebase ext:sdk:install firebase/firestore-send-email@0.1.34

publisher-id و extension-id مورد نیاز است و می‌توانید آن را در صفحه جزئیات نصب پیش‌نصب برنامه افزودنی در extensions.dev پیدا کنید. قسمت @ version اختیاری است. اگر آن را حذف کنید، ابزار آخرین نسخه را نصب می کند.

دو گزینه وجود دارد که می توانید مشخص کنید:

  • --force : تمام کارهای زیر را بدون تایید بیشتر انجام دهید:

    • تولید خودکار SDK حتی اگر قبلاً برای همان برنامه افزودنی و نسخه ایجاد شده باشد.
    • بسته SDK خود تولید شده را در پروژه Cloud Functions Node نصب کنید.
  • --codebase : نام پایگاه کد برای افزودن SDK به آن. اگر مشخص نشده باشد، فرمان SDK را به پایگاه کد پیش‌فرض، functions اضافه می‌کند.

این دستور یک بسته Node حاوی یک SDK ایجاد می کند که به طور خودکار برای برنامه افزودنی تولید می شود و آن را به یکی از پایگاه های کد توابع ابری پروژه شما اضافه می کند. در پایگاه کد پیش‌فرض ( functions )، SDK در مکان زیر ذخیره می‌شود:

functions/generated/extensions/publisher-id/extension-id/version

پس از تولید SDK، فرمان از شما می‌پرسد که آیا می‌خواهید SDK را در پروژه Cloud Functions Node خود نیز نصب کنید. به این درخواست پاسخ مثبت دهید.

نمونه های برنامه افزودنی را پیکربندی کنید

برای پیکربندی برنامه افزودنی، SDK را وارد کنید، و برای هر نمونه برنامه افزودنی که می‌خواهید نصب کنید، تابع سازنده را فراخوانی کنید و یک ID نمونه منحصر به فرد پروژه و پارامترهای پیکربندی مورد نیاز برنامه افزودنی را به آن ارسال کنید.

  1. در منبع توابع ابری خود، سازنده را با استفاده از دستور چاپ شده توسط دستور ext:sdk:install وارد کنید.

    به عنوان مثال، اگر یک SDK برای پسوند firestore-send-email ایجاد کرده باشید، عبارت import چیزی شبیه به زیر خواهد بود:

    import { firestoreSendEmail } from "@firebase-extensions/firebase-firestore-send-email-sdk";
    

    اگر برنامه افزودنی به مقادیر مخفی مانند رمز عبور نیاز دارد، به تابع defineSecret از Cloud Functions SDK نیز نیاز دارید:

    import { defineSecret } from "firebase-functions/params";
    

    به عنوان مثال، اگر یک SDK برای پسوند firestore-send-email ایجاد کرده باشید، عبارت require چیزی شبیه به زیر خواهد بود:

    const { firestoreSendEmail } = require("@firebase-extensions/firebase-firestore-send-email-sdk");
    

    اگر برنامه افزودنی به مقادیر مخفی مانند رمز عبور نیاز دارد، به تابع defineSecret از Cloud Functions SDK نیز نیاز دارید:

    const { defineSecret } = require('firebase-functions/params');
    
  2. برای هر نمونه ای که می خواهید پیکربندی کنید، تابع سازنده را فراخوانی کرده و نتیجه را صادر کنید.

    به هر نمونه یک شناسه منحصربفرد بدهید که فقط شامل حروف کوچک، اعداد و خط فاصله باشد.

    export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    
    exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    

    توجه داشته باشید که مقادیر مخفی باید با استفاده از تابع defineSecret مشخص شوند.

  3. سپس، برای استقرار افزونه هایی که پیکربندی کرده اید، اجرا کنید:

    firebase deploy --only functions --project=projectId-or-alias

    همه گزینه‌های معمول استقرار توابع ابری اعمال می‌شوند. به عنوان مثال، برای استقرار یک نمونه پسوند واحد از یک پایگاه کد خاص:

    firebase deploy --only functions:codebase:extension-instance-id --project=projectId-or-alias

مرحله 3 : راه اندازی پس از نصب را کامل کنید

برخی از برنامه‌های افزودنی دارای مراحل لازم یا اختیاری هستند که باید قبل از استفاده از آنها تکمیل کنید. این دستورالعمل ها را در صفحه جزئیات پس از نصب برنامه افزودنی خود در داشبورد Extensions کنسول Firebase پیدا کنید (پیوند خاص داشبورد پس از نصب در ترمینال نمایش داده می شود).

همچنین می‌توانید این دستورالعمل‌ها را در فایل POSTINSTALL.md موجود در فهرست منبع برنامه افزودنی بیابید.

منابع Firebase را ایجاد کنید

اگر برنامه افزودنی را برای استفاده از منابع Firebase (مجموعه‌های Cloud Firestore ، مسیرهای Realtime Database ، سطل‌های Cloud Storage ) که از قبل وجود ندارند، پیکربندی کرده‌اید، قبل از استفاده از برنامه افزودنی، آنها را ایجاد کنید.

کنترل کننده رویداد Eventarc را ایجاد کنید

برخی از برنامه‌های افزودنی زمانی که رویدادهای مهم در حین اجرا اتفاق می‌افتند، در Eventarc منتشر می‌شوند. اگر یک برنامه افزودنی رویدادها را منتشر می کند، می توانید توابعی بنویسید که با منطق سفارشی خود به این رویدادها واکنش نشان می دهند. این می تواند مفید باشد، به عنوان مثال، برای اطلاع دادن به کاربران هنگام تکمیل وظایف طولانی مدت، یا برای پس پردازش خروجی یک تابع برنامه افزودنی.

اگر می‌خواهید برای هر یک از رویدادهایی که توسط افزونه منتشر می‌شود، کنترل‌کننده‌هایی تعریف کنید، می‌توانید این کار را با استفاده از روش‌های راه‌انداز هر نمونه انجام دهید:

export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

export const emailErrorHandler = firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});
exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

exports.emailErrorHandler = exports.firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});

باید کنترل کننده رویداد را به همراه نمونه برنامه افزودنی صادر کنید.

پس از تعریف یک کنترل کننده رویداد، و پس از هر بار که تغییراتی در یکی ایجاد کردید، هم افزونه و هم کنترل کننده را مجدداً قرار دهید.

چند نمونه برنامه افزودنی را نصب کنید

شما می توانید یک افزونه را بیش از یک بار در همان پروژه نصب کنید. هر نمونه نصب شده می تواند پیکربندی سفارشی شده و منابع برنامه افزودنی خود را داشته باشد. شما هر نمونه نصب شده را با استفاده از شناسه نمونه آن شناسایی کرده و به آن ارجاع می دهید که در پروژه شما منحصر به فرد است.

برای هر نمونه ای که می خواهید نصب و پیکربندی کنید، تابع سازنده SDK خود تولید شده را یک بار فراخوانی کنید.

مراحل بعدی

،

می‌توانید هر یک از برنامه‌های افزودنی رسمی Firebase را با استفاده از کنسول Firebase ، Firebase CLI (واسط خط فرمان) یا با استفاده از یک SDK خود تولید شده نصب کنید (و مدیریت کنید ).

اطمینان حاصل کنید که تفاوت در اقدامات پشتیبانی شده برای هر روش نصب را بررسی کنید.


نصب با استفاده از یک SDK خودکار یک گزینه جدید برای نصب و مدیریت برنامه های افزودنی است. با استفاده از این گزینه، از CLI برای تولید خودکار Node SDK برای یک نسخه برنامه افزودنی خاص استفاده می‌کنید، که می‌توانید آن را به عنوان یک وابستگی معمولی در توابع ابری JavaScript یا TypeScript وارد کنید.

این SDK که به طور خودکار تولید می شود شامل:

  • رابطی که پارامترهای برنامه افزودنی و اعلان‌های نوع را برای اکثر انواع پارامترهای غیر ابتدایی نشان می‌دهد.
  • یک تابع سازنده که نمونه ای از پسوند را مقداردهی اولیه می کند
  • یک کلاس افزونه که شامل تریگرهای Eventarc برای همه رویدادهای منتشر شده توسط برنامه افزودنی است.

هنگامی که یک برنامه افزودنی SDK ایجاد کردید، تمام پیکربندی برنامه افزودنی در کد انجام می شود.

استفاده از این گزینه نصب می‌تواند مدیریت چندین نمونه برنامه افزودنی را به‌ویژه در پروژه‌هایی که حاوی توابع Cloud هستند که خارج از برنامه‌های افزودنی تعریف شده‌اند، بسیار ساده کند.


برای نصب یا مدیریت برنامه‌های افزودنی، باید یکی از این نقش‌ها به شما اختصاص داده شود: مالک یا ویرایشگر یا مدیر Firebase .

برای نصب افزونه، پروژه شما باید در طرح Blaze (پرداخت در حین حرکت) باشد. اگرچه هزینه ای برای نصب برنامه افزودنی دریافت نمی شود، ممکن است برای استفاده از سرویس های Firebase یا سرویس های Cloud مانند Cloud Secret Manager هزینه ای دریافت کنید، اگر میزان استفاده شما از سطح رایگان سرویس ها بیشتر شود.

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه خود اضافه کنید .

  2. اگر قبلاً این کار را نکرده اید، پروژه خود را به طرح Blaze (پرداخت در حین انجام کار) ارتقا دهید.

  3. نصب یا به روز رسانی به آخرین نسخه Firebase CLI.

  4. به شناسه پروژه Firebase یا نام مستعار پروژه پیکربندی شده قبلی خود توجه داشته باشید.

مرحله 1 : اطلاعات دقیق در مورد یک برنامه افزودنی را مشاهده کنید

این مرحله اختیاری است، اما به شدت توصیه می شود.

قبل از نصب Firebase Extension ، توصیه می‌کنیم اطلاعات دقیق مربوط به افزونه را مرور کنید، از جمله:

  • نحوه عملکرد برنامه افزودنی، هرگونه کار پیش از نصب، و جزئیات مربوط به برنامه افزودنی
  • اطلاعات شناسایی عمومی و توضیحات
  • آیا وظایف برنامه افزودنی به حساب صورت‌حساب نیاز دارد
  • سرویس‌های Google (API) و به نقش‌های مورد نیاز برای عملیات دسترسی داشته باشید
  • منابع ایجاد شده برای برنامه افزودنی (مانند توابع)
  • توضیحات پارامترهای قابل تنظیم کاربر

برای مشاهده اطلاعات دقیق یک برنامه افزودنی:

  1. اطمینان حاصل کنید که محیط خود را تنظیم کرده اید و پسوند را انتخاب کرده اید .

  2. دستور Extension-Info را از هرجای رایانه خود اجرا کنید:

    firebase ext:info publisher-id/extension-id

    آرگومان های publisher-id و extension-id مورد نیاز است و می توانید در صفحه جزئیات Preinstall Extension پیدا کنید.

مرحله 2 : یک پسوند نصب کنید

قبل از نصب ، مشخصات اساسی را برای پسوند (مانند API فعال شده ، منابع ایجاد شده ، دسترسی اعطا شده و غیره) و الزامات صورتحساب آن مرور کنید.

قبل از ادامه ، اطمینان حاصل کنید که محیط خود را تنظیم کرده اید و پسوند را انتخاب کرده اید .

عملکردهای ابر را برای Firebase اولیه کنید

اگر یک پروژه جدید را شروع می کنید یا اگر پروژه شما از توابع Cloud برای Firebase استفاده نمی کند ، init functions اجرا کنید:

cd your-project
firebase init functions

TypeScript یا JavaScript را به عنوان زبان توابع خود انتخاب کنید.

اگر پروژه شما قبلاً عملکردهای ابری را آغاز کرده است ، اطمینان حاصل کنید که از نسخه 5.1.0 یا جدیدتر بسته firebase-functions استفاده می کنید:

cd your-project/functions
npm upgrade --save firebase-functions

اگر از ESLINT استفاده می کنید ، ممکن است بخواهید SDK های تولید شده را از پیکربندی خود حذف کنید ( .eslintrc.js ):

ignorePatterns: [
  "/generated/**/*", // Ignore generated files.
  // ...
],

یک SDK پسوند تولید کنید

از فهرست محلی Firebase خود ، دستور ext:sdk:install اجرا کنید.

firebase ext:sdk:install publisher-id/extension-id@version

به عنوان مثال ، برای نصب نسخه 0.1.34 از firestore-send-email پسوند:

firebase ext:sdk:install firebase/firestore-send-email@0.1.34

publisher-id و extension-id مورد نیاز است و می توانید در صفحه جزئیات Preinstall Extension در برنامه های افزودنی مشاهده کنید. قسمت @ version اختیاری است. اگر آن را حذف کنید ، این ابزار آخرین نسخه را نصب می کند.

دو گزینه وجود دارد که می توانید مشخص کنید:

  • --force : همه موارد زیر را بدون تأیید بیشتر انجام دهید:

    • SDK را حتی اگر یکی از قبل برای همان پسوند و نسخه تولید شده باشد ، Autogenerate کنید.
    • بسته SDK Autogenerated را در پروژه Node Cloud Tunctions نصب کنید.
  • --codebase : نام پایه کد برای اضافه کردن SDK به. اگر نامشخص باشد ، دستور SDK را به کد پیش فرض کد اضافه می کند ، functions .

این دستور یک بسته گره ای را ایجاد می کند که حاوی SDK به طور خودکار برای پسوند تولید می شود و آن را به یکی از عملکردهای CODEBASES CODECONES COMPLE PROJECT شما اضافه می کند. در پایگاه کد پیش فرض ( functions ) ، SDK در مکان زیر ذخیره می شود:

functions/generated/extensions/publisher-id/extension-id/version

پس از تولید SDK ، این دستور سؤال می کند که آیا می خواهید SDK را در پروژه گره توابع خود نیز نصب کنید. به این فوریت پاسخ دهید.

نمونه های پسوند را پیکربندی کنید

برای پیکربندی پسوند ، SDK را وارد کنید ، و برای هر نمونه برنامه افزودنی که می خواهید نصب کنید ، با عملکرد سازنده تماس بگیرید و به آن یک شناسه نمونه منحصر به فرد پروژه و پارامترهای پیکربندی مورد نیاز توسط پسوند منتقل شوید.

  1. در منبع توابع ابر خود ، سازنده را با استفاده از جمله چاپ شده توسط دستور ext:sdk:install وارد کنید.

    به عنوان مثال ، اگر SDK را برای برنامه افزودنی firestore-send-email ایجاد کرده اید ، بیانیه import چیزی شبیه به موارد زیر خواهد بود:

    import { firestoreSendEmail } from "@firebase-extensions/firebase-firestore-send-email-sdk";
    

    اگر پسوند به هر مقادیر مخفی مانند رمزهای عبور نیاز داشته باشد ، شما به عملکرد defineSecret از توابع ابر SDK نیز نیاز دارید:

    import { defineSecret } from "firebase-functions/params";
    

    به عنوان مثال ، اگر SDK را برای برنامه افزودنی firestore-send-email ایجاد کرده اید ، بیانیه require چیزی شبیه به موارد زیر خواهد بود:

    const { firestoreSendEmail } = require("@firebase-extensions/firebase-firestore-send-email-sdk");
    

    اگر پسوند به هر مقادیر مخفی مانند رمزهای عبور نیاز داشته باشد ، شما به عملکرد defineSecret از توابع ابر SDK نیز نیاز دارید:

    const { defineSecret } = require('firebase-functions/params');
    
  2. برای هر نمونه که می خواهید پیکربندی کنید ، با عملکرد سازنده تماس بگیرید و نتیجه را صادر کنید.

    به هر نمونه یک شناسه منحصر به فرد بدهید ، که فقط حروف کوچک ، اعداد و hyphens را نشان می دهد.

    export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    
    exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    

    توجه داشته باشید که مقادیر مخفی باید با استفاده از عملکرد defineSecret مشخص شود.

  3. سپس ، برای استقرار پسوندهای پیکربندی شده ، اجرا کنید:

    firebase deploy --only functions --project=projectId-or-alias

    تمام گزینه های کاربردی Cloud Cloud گزینه های کاربردی اعمال می شود. به عنوان مثال ، برای استقرار یک نمونه پسوند واحد از یک پایگاه کد خاص:

    firebase deploy --only functions:codebase:extension-instance-id --project=projectId-or-alias

مرحله 3 : تنظیم کامل پس از نصب

برخی از برنامه های افزودنی برای تکمیل قبل از استفاده از آنها ، مراحل لازم یا اختیاری را انجام داده اند. این دستورالعمل ها را در صفحه جزئیات پس از نصب خود در داشبورد Extensions کنسول Firebase پیدا کنید (پیوند خاص داشبورد پس از نصب در ترمینال نمایش داده می شود).

همچنین می توانید این دستورالعمل ها را در پرونده POSTINSTALL.md موجود در فهرست منبع پسوند پیدا کنید.

منابع Firebase ایجاد کنید

اگر برنامه افزودنی استفاده از منابع Firebase (مجموعه های Cloud Firestore ، مسیرهای Realtime Database ، سطل های Cloud Storage ) را که قبلاً وجود ندارند ، پیکربندی کرده اید ، قبل از استفاده از پسوند آنها را ایجاد کنید.

ایجاد کننده رویداد EventArc را ایجاد کنید

برخی از برنامه های افزودنی هنگامی که وقایع مهم در حین اجرا اتفاق می افتد ، به EventArc منتشر می کنند. اگر یک برنامه افزودنی رویدادها را منتشر کند ، می توانید توابعی را بنویسید که با منطق سفارشی خود به این رویدادها واکنش نشان می دهند. این می تواند به عنوان مثال مفید باشد که به کاربران در هنگام انجام کارهای طولانی مدت ، یا پس از پردازش خروجی یک عملکرد پسوند ، اطلاع دهید.

اگر می خواهید برای هر یک از رویدادهای ساطع شده توسط پسوند ، دستگیرندگان را تعریف کنید ، می توانید با استفاده از روشهای ماشه هر نمونه این کار را انجام دهید:

export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

export const emailErrorHandler = firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});
exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

exports.emailErrorHandler = exports.firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});

شما باید کنترل کننده رویداد را به همراه نمونه پسوند صادر کنید.

پس از تعریف یک کنترل کننده رویداد ، و بعد از هر بار که در یک تغییر ایجاد می کنید ، مجدداً پسوند و کنترل کننده را مجدداً استخدام کنید.

چندین نمونه پسوند را نصب کنید

شما می توانید همان برنامه را بیش از یک بار در همان پروژه نصب کنید. هر نمونه نصب شده می تواند پیکربندی سفارشی و منابع پسوند خاص خود را داشته باشد. شما هر نمونه نصب شده را با استفاده از شناسه نمونه آن ، که در پروژه شما بی نظیر است ، شناسایی و مراجعه می کنید.

یک بار برای هر نمونه ای که می خواهید نصب و پیکربندی کنید ، با عملکرد سازنده SDK Autogenerated تماس بگیرید.

مراحل بعدی

،

شما می توانید هر یک از پسوندهای رسمی Firebase را با استفاده از کنسول Firebase ، Firebase CLI (رابط خط فرمان) یا با استفاده از SDK خودکار نصب و مدیریت کنید .

حتماً تفاوتهای مربوط به اقدامات پشتیبانی شده را برای هر روش نصب بررسی کنید.


نصب با استفاده از SDK Autogenerated گزینه جدیدی برای نصب و مدیریت پسوندها است. با استفاده از این گزینه ، شما از CLI برای تولید خودکار گره SDK برای یک نسخه پسوند خاص استفاده می کنید ، که می توانید به عنوان یک وابستگی معمولی در توابع JavaScript یا Typescript Cloud خود وارد کنید.

این SDK تولید شده خودکار شامل:

  • رابط کاربری که پارامترهای پسوند را نشان می دهد ، و اعلامیه های نوع را برای اکثر انواع پارامترهای غیرانتفاعی.
  • یک تابع سازنده که نمونه ای از پسوند را آغاز می کند
  • یک کلاس پسوند که شامل EventArc برای همه رویدادهای ساطع شده توسط پسوند است.

پس از تولید SDK پسوند ، تمام پیکربندی های افزودنی در کد اتفاق می افتد.

استفاده از این گزینه نصب می تواند مدیریت چندین نمونه پسوند را به ویژه در پروژه هایی که شامل توابع ابری تعریف شده در خارج از پسوندها هستند ، بسیار ساده کند.


برای نصب یا مدیریت پسوند ، باید به یکی از این نقش ها اختصاص دهید: مالک یا ویرایشگر یا مدیر آتش نشانی .

برای نصب پسوند ، پروژه شما باید در برنامه Blaze (پرداخت همانطور که می خواهید) باشد. اگرچه هیچ هزینه ای برای نصب پسوند وجود ندارد ، اگر استفاده شما بیش از ردیف رایگان خدمات باشد ، می توانید برای استفاده از خدمات Firebase یا خدمات ابری مانند Cloud Secret Manager هزینه استفاده کنید.

قبل از شروع

  1. اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه خود اضافه کنید .

  2. اگر قبلاً این کار را نکرده اید ، پروژه خود را به برنامه Blaze (همانطور که می خواهید) ارتقا دهید.

  3. آخرین نسخه از Firebase CLI را نصب یا به روز کنید.

  4. به شناسه پروژه Firebase خود یا پروژه Alias ​​قبلاً پیکربندی شده توجه داشته باشید.

    • شناسه پروژه - firebase projects:list از هر نقطه از رایانه خود.
    • Project alias - firebase use از فهرست برنامه محلی خود اجرا کنید.

مرحله 1 : اطلاعات دقیق در مورد پسوند را مشاهده کنید

این مرحله اختیاری است ، اما به شدت توصیه می شود.

قبل از نصب Firebase Extension ، توصیه می کنیم اطلاعات دقیق در مورد پسوند را مرور کنید ، از جمله:

  • نحوه کار پسوند ، هرگونه کار قبل از نصب و جزئیات مربوط به پسوند
  • اطلاعات و توضیحات عمومی
  • آیا وظایف پسوند به حساب صورتحساب نیاز دارد
  • خدمات Google (API) و دسترسی به نقش های مورد نیاز برای بهره برداری
  • منابع ایجاد شده برای پسوند (مانند توابع)
  • توضیحات پارامترهای قابل تنظیم کاربر

برای مشاهده اطلاعات دقیق یک برنامه افزودنی:

  1. اطمینان حاصل کنید که محیط خود را تنظیم کرده اید و پسوند را انتخاب کرده اید .

  2. دستور Extension-Info را از هرجای رایانه خود اجرا کنید:

    firebase ext:info publisher-id/extension-id

    آرگومان های publisher-id و extension-id مورد نیاز است و می توانید در صفحه جزئیات Preinstall Extension پیدا کنید.

مرحله 2 : یک پسوند نصب کنید

قبل از نصب ، مشخصات اساسی را برای پسوند (مانند API فعال شده ، منابع ایجاد شده ، دسترسی اعطا شده و غیره) و الزامات صورتحساب آن مرور کنید.

قبل از ادامه ، اطمینان حاصل کنید که محیط خود را تنظیم کرده اید و پسوند را انتخاب کرده اید .

عملکردهای ابر را برای Firebase اولیه کنید

اگر یک پروژه جدید را شروع می کنید یا اگر پروژه شما از توابع Cloud برای Firebase استفاده نمی کند ، init functions اجرا کنید:

cd your-project
firebase init functions

TypeScript یا JavaScript را به عنوان زبان توابع خود انتخاب کنید.

اگر پروژه شما قبلاً عملکردهای ابری را آغاز کرده است ، اطمینان حاصل کنید که از نسخه 5.1.0 یا جدیدتر بسته firebase-functions استفاده می کنید:

cd your-project/functions
npm upgrade --save firebase-functions

اگر از ESLINT استفاده می کنید ، ممکن است بخواهید SDK های تولید شده را از پیکربندی خود حذف کنید ( .eslintrc.js ):

ignorePatterns: [
  "/generated/**/*", // Ignore generated files.
  // ...
],

یک SDK پسوند تولید کنید

از فهرست محلی Firebase خود ، دستور ext:sdk:install اجرا کنید.

firebase ext:sdk:install publisher-id/extension-id@version

به عنوان مثال ، برای نصب نسخه 0.1.34 از firestore-send-email پسوند:

firebase ext:sdk:install firebase/firestore-send-email@0.1.34

publisher-id و extension-id مورد نیاز است و می توانید در صفحه جزئیات Preinstall Extension در برنامه های افزودنی مشاهده کنید. قسمت @ version اختیاری است. اگر آن را حذف کنید ، این ابزار آخرین نسخه را نصب می کند.

دو گزینه وجود دارد که می توانید مشخص کنید:

  • --force : همه موارد زیر را بدون تأیید بیشتر انجام دهید:

    • SDK را حتی اگر یکی از قبل برای همان پسوند و نسخه تولید شده باشد ، Autogenerate کنید.
    • بسته SDK Autogenerated را در پروژه Node Cloud Tunctions نصب کنید.
  • --codebase : نام پایه کد برای اضافه کردن SDK به. اگر نامشخص باشد ، دستور SDK را به کد پیش فرض کد اضافه می کند ، functions .

این دستور یک بسته گره ای را ایجاد می کند که حاوی SDK به طور خودکار برای پسوند تولید می شود و آن را به یکی از عملکردهای CODEBASES CODECONES COMPLE PROJECT شما اضافه می کند. در پایگاه کد پیش فرض ( functions ) ، SDK در مکان زیر ذخیره می شود:

functions/generated/extensions/publisher-id/extension-id/version

پس از تولید SDK ، این دستور سؤال می کند که آیا می خواهید SDK را در پروژه گره توابع خود نیز نصب کنید. به این فوریت پاسخ دهید.

نمونه های پسوند را پیکربندی کنید

برای پیکربندی پسوند ، SDK را وارد کنید ، و برای هر نمونه برنامه افزودنی که می خواهید نصب کنید ، با عملکرد سازنده تماس بگیرید و به آن یک شناسه نمونه منحصر به فرد پروژه و پارامترهای پیکربندی مورد نیاز توسط پسوند منتقل شوید.

  1. در منبع توابع ابر خود ، سازنده را با استفاده از جمله چاپ شده توسط دستور ext:sdk:install وارد کنید.

    به عنوان مثال ، اگر SDK را برای برنامه افزودنی firestore-send-email ایجاد کرده اید ، بیانیه import چیزی شبیه به موارد زیر خواهد بود:

    import { firestoreSendEmail } from "@firebase-extensions/firebase-firestore-send-email-sdk";
    

    اگر پسوند به هر مقادیر مخفی مانند رمزهای عبور نیاز داشته باشد ، شما به عملکرد defineSecret از توابع ابر SDK نیز نیاز دارید:

    import { defineSecret } from "firebase-functions/params";
    

    به عنوان مثال ، اگر SDK را برای برنامه افزودنی firestore-send-email ایجاد کرده اید ، بیانیه require چیزی شبیه به موارد زیر خواهد بود:

    const { firestoreSendEmail } = require("@firebase-extensions/firebase-firestore-send-email-sdk");
    

    اگر پسوند به هر مقادیر مخفی مانند رمزهای عبور نیاز داشته باشد ، شما به عملکرد defineSecret از توابع ابر SDK نیز نیاز دارید:

    const { defineSecret } = require('firebase-functions/params');
    
  2. برای هر نمونه که می خواهید پیکربندی کنید ، با عملکرد سازنده تماس بگیرید و نتیجه را صادر کنید.

    به هر نمونه یک شناسه منحصر به فرد بدهید ، که فقط حروف کوچک ، اعداد و hyphens را نشان می دهد.

    export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    
    exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", {
        SMTP_CONNECTION_URI: "smtps://username@example.com@smtp.example.com:465",
        SMTP_PASSWORD: defineSecret("SMTP_PASSWORD"),
        MAIL_COLLECTION: "mail",
        DEFAULT_FROM: "ExampleCo <username@example.com>",
        TTL_EXPIRE_VALUE: "1",
        TTL_EXPIRE_TYPE: "day",
    });
    

    توجه داشته باشید که مقادیر مخفی باید با استفاده از عملکرد defineSecret مشخص شود.

  3. سپس ، برای استقرار پسوندهای پیکربندی شده ، اجرا کنید:

    firebase deploy --only functions --project=projectId-or-alias

    تمام گزینه های کاربردی Cloud Cloud گزینه های کاربردی اعمال می شود. به عنوان مثال ، برای استقرار یک نمونه پسوند واحد از یک پایگاه کد خاص:

    firebase deploy --only functions:codebase:extension-instance-id --project=projectId-or-alias

مرحله 3 : تنظیم کامل پس از نصب

برخی از برنامه های افزودنی برای تکمیل قبل از استفاده از آنها ، مراحل لازم یا اختیاری را انجام داده اند. این دستورالعمل ها را در صفحه جزئیات پس از نصب خود در داشبورد Extensions کنسول Firebase پیدا کنید (پیوند خاص داشبورد پس از نصب در ترمینال نمایش داده می شود).

همچنین می توانید این دستورالعمل ها را در پرونده POSTINSTALL.md موجود در فهرست منبع پسوند پیدا کنید.

منابع Firebase ایجاد کنید

اگر برنامه افزودنی استفاده از منابع Firebase (مجموعه های Cloud Firestore ، مسیرهای Realtime Database ، سطل های Cloud Storage ) را که قبلاً وجود ندارند ، پیکربندی کرده اید ، قبل از استفاده از پسوند آنها را ایجاد کنید.

ایجاد کننده رویداد EventArc را ایجاد کنید

برخی از برنامه های افزودنی هنگامی که وقایع مهم در حین اجرا اتفاق می افتد ، به EventArc منتشر می کنند. اگر یک برنامه افزودنی رویدادها را منتشر کند ، می توانید توابعی را بنویسید که با منطق سفارشی خود به این رویدادها واکنش نشان می دهند. این می تواند به عنوان مثال مفید باشد که به کاربران در هنگام انجام کارهای طولانی مدت ، یا پس از پردازش خروجی یک عملکرد پسوند ، اطلاع دهید.

اگر می خواهید برای هر یک از رویدادهای ساطع شده توسط پسوند ، دستگیرندگان را تعریف کنید ، می توانید با استفاده از روشهای ماشه هر نمونه این کار را انجام دهید:

export const firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

export const emailErrorHandler = firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});
exports.firestoreSendEmail_1 = firestoreSendEmail("firestore-send-email-1", { /* ... */ });

exports.emailErrorHandler = exports.firestoreSendEmail_1.onError((event) => {
  // Handle mail errors.
});

شما باید کنترل کننده رویداد را به همراه نمونه پسوند صادر کنید.

پس از تعریف یک کنترل کننده رویداد ، و بعد از هر بار که در یک تغییر ایجاد می کنید ، مجدداً پسوند و کنترل کننده را مجدداً استخدام کنید.

چندین نمونه پسوند را نصب کنید

شما می توانید همان برنامه را بیش از یک بار در همان پروژه نصب کنید. هر نمونه نصب شده می تواند پیکربندی سفارشی و منابع پسوند خاص خود را داشته باشد. شما هر نمونه نصب شده را با استفاده از شناسه نمونه آن ، که در پروژه شما بی نظیر است ، شناسایی و مراجعه می کنید.

یک بار برای هر نمونه ای که می خواهید نصب و پیکربندی کنید ، با عملکرد سازنده SDK Autogenerated تماس بگیرید.

مراحل بعدی