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

یک برنامه افزودنی Firebase یک کار یا مجموعه وظایف خاصی را در پاسخ به درخواست‌های HTTP یا راه‌اندازی رویدادها از سایر محصولات Firebase و Google، مانند Firebase Cloud Messaging، Cloud Firestore یا Pub/Sub انجام می‌دهد.

می‌توانید برنامه افزودنی خود را برای استفاده شخصی یا اشتراک‌گذاری با جهان در Firebase Extensions Hub بسازید. برای مثال، برنامه افزودنی شما می‌تواند کار خاصی را انجام دهد که برنامه شما مرتباً به آن نیاز دارد، یا می‌تواند دسترسی به یکی از APIهای شرکت شما را آسان‌تر کند. پس از ایجاد برنامه افزودنی خود، می توانید آن را با دیگران به اشتراک بگذارید. این کاربران می توانند افزونه را برای استفاده در پروژه های Firebase خود نصب و پیکربندی کنند.

ساختار یک پسوند

شما می توانید یک برنامه افزودنی را دارای سه جزء اصلی در نظر بگیرید:

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

برای توسعه یک افزونه، این اجزا را در ساختار زیر مونتاژ می کنید:

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 حاوی کد توابع ابری شما در جاوا اسکریپت یا تایپ اسکریپت است. این کدی است که وظایف برنامه افزودنی را در پاسخ به رویدادهایی که توسط Firebase و سرویس‌های Google راه‌اندازی می‌شوند، انجام می‌دهد.
  • فایل extension.yaml حاوی فراداده‌های مربوط به برنامه افزودنی شما، مانند محرک‌های آن و نقش‌های دسترسی IAM، و همچنین هر پارامتری است که می‌خواهید توسط کاربر قابل تنظیم باشد.
  • فایل های PREINSTALL ، POSTINSTALL و CHANGELOG حداقل اسنادی هستند که برنامه افزودنی شما باید داشته باشد. این فایل‌ها به کاربران شما کمک می‌کنند یاد بگیرند که برنامه افزودنی شما چه کار می‌کند، چگونه از آن استفاده کنند و چه به‌روزرسانی‌هایی انجام داده‌اید. همچنین باید یک نماد برای کمک به کاربران در تشخیص برنامه افزودنی خود ارائه دهید. کنسول Firebase، Firebase CLI و Extensions Hub محتویات این فایل‌ها را هنگامی که کاربران برنامه افزودنی شما را کاوش، نصب و مدیریت می‌کنند، نمایش می‌دهند.

پس از ایجاد برنامه افزودنی خود، می توانید از Firebase CLI برای نصب آن در یک پروژه یا انتشار آن در Extensions Hub استفاده کنید، جایی که هر کسی می تواند آن را کشف و در پروژه های خود نصب کند.

برنامه افزودنی من با چه محصولاتی می تواند تعامل داشته باشد؟

از آنجا که یک برنامه افزودنی Firebase کار خود را با استفاده از توابع ابری انجام می‌دهد، می‌توانید به دو صورت به سؤال ادغام‌های احتمالی فکر کنید: چه محصولاتی می‌توانند عملکردهای برنامه افزودنی من را فعال کنند؟ و پس از فعال شدن، عملکردهای برنامه افزودنی من با چه محصولاتی می توانند تعامل داشته باشند؟

محرک های عملکرد پشتیبانی شده

محرک های دستی

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

  • محرک های HTTP: یک تابع را در نقطه پایانی HTTP مستقر کنید
  • توابع قابل فراخوانی: با استفاده از SDK مشتری Firebase، مستقیماً از iOS، Android یا کد سرویس گیرنده وب، با توابع Cloud خود تماس بگیرید.

با افشای نقاط پایانی HTTP از برنامه افزودنی خود، برنامه افزودنی شما به طور بالقوه می تواند با هر سرویس وب که از وبکهک ها پشتیبانی می کند ادغام شود. با توابع قابل فراخوانی، کاربرانی که برنامه افزودنی شما را نصب می‌کنند، می‌توانند از Firebase SDK به‌عنوان کتابخانه مشتری برای دسترسی به APIهایی که برنامه‌های افزودنی شما پیاده‌سازی می‌کند استفاده کنند.

محرک های سرویس Firebase

اکثر محصولات Firebase رویدادهایی را منتشر می کنند که می توانند عملکردهای ابری یک برنامه افزودنی را فعال کنند.

  • تجزیه و تحلیل: هنگامی که Analytics یک رویداد را ثبت می کند، عملکردها را راه اندازی می کند
  • توزیع برنامه: هنگامی که توزیع برنامه یک هشدار را راه‌اندازی می‌کند، عملکردهای ماشه‌ای را فعال می‌کند
  • احراز هویت: هنگامی که کاربران حساب ها را ایجاد و حذف می کنند، عملکردها را فعال می کند
  • Cloud Firestore: هنگام ایجاد، به‌روزرسانی یا حذف صفحات، عملکردهایی را فعال می‌کند
  • Cloud Storage : هنگامی که اشیاء آپلود، بایگانی یا از سطل ها حذف می شوند، عملکردها را فعال می کند.
  • Crashlytics: هنگامی که Crashlytics یک هشدار را راه‌اندازی می‌کند، عملکرد ماشه را نشان می‌دهد
  • نظارت بر عملکرد: هنگامی که مانیتورینگ عملکرد هشداری را راه‌اندازی می‌کند، عملکرد ماشه‌ای ایجاد می‌شود
  • پایگاه داده بیدرنگ: هنگام ایجاد، به روز رسانی یا حذف داده ها، عملکردهایی را فعال می کند
  • Remote Config: هنگامی که یک پارامتر به‌روزرسانی می‌شود، عملکردها را فعال می‌کند
  • Test Lab: هنگامی که آزمایشگاه تست هشداری را راه‌اندازی می‌کند، عملکرد ماشه‌ای انجام می‌شود

سرویس Google Cloud فعال می شود

یک برنامه افزودنی همچنین می‌تواند شامل عملکردهایی باشد که چندین سرویس Google Cloud غیر Firebase را فعال می‌کنند:

  • Cloud Pub/Sub : یک برنامه افزودنی می تواند شامل توابعی باشد که هنگام پست شدن رویدادها در یک موضوع Pub/Sub قابل تنظیم، فعال شوند.
  • Cloud Scheduler : یک برنامه افزودنی می تواند شامل توابعی باشد که بر اساس یک زمانبندی تنظیم شده اجرا می شوند
  • Cloud Tasks : یک برنامه افزودنی می تواند شامل توابعی باشد که می توان با استفاده از Cloud Tasks در صف قرار داد. Firebase Extensions از این قابلیت استفاده می کند تا به شما به عنوان یک نویسنده برنامه افزودنی اجازه بنویسد توابعی را بنویسید که به رویدادهای "چرخه عمر" یک برنامه افزودنی پاسخ می دهد: برای اولین بار در یک پروژه نصب می شود، به نسخه جدید ارتقا می یابد و پیکربندی مجدد می شود.
  • Eventarc : یک برنامه افزودنی می تواند شامل توابعی باشد که هنگام انتشار رویدادها در یک کانال قابل تنظیم Eventarc فعال می شوند. برعکس، یک برنامه افزودنی می تواند رویدادهای خود را در یک کانال Eventarc منتشر کند تا کاربران را قادر سازد تا عملکردهای خود را که از رویدادهای یک برنامه افزودنی آغاز می شوند، تعریف کنند.

پشتیبانی از توابع

هنگامی که یک برنامه افزودنی Cloud Function راه اندازی شد، دامنه ادغام های ممکن به طور کلی باز است. در اینجا چند نکته برجسته از کارهایی که می توانید از یک Cloud Function انجام دهید آورده شده است:

  • خواندن، نوشتن، و در غیر این صورت با هر سرویس Firebase یا Google Cloud که از نقش پشتیبانی شده IAM استفاده می‌کند تعامل داشته باشید.
  • با هر سرویس شخص ثالثی که یک وب API ارائه می دهد کار کنید.
  • اگر یک وب API ارائه می کنید، با خدمات سفارشی خود کار کنید.
  • اکثر کتابخانه های جاوا اسکریپت، از جمله TensorFlow.js ، Express.js و غیره را اجرا کنید.

چگونه یک افزونه بسازیم

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

شروع کنید

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