এক্সটেনশন প্রকাশক ওভারভিউ

একটি Firebase এক্সটেনশন HTTP অনুরোধের প্রতিক্রিয়ায় অথবা Firebase ক্লাউড মেসেজিং, ক্লাউড ফায়ারস্টোর, অথবা Pub/Sub এর মতো অন্যান্য Firebase এবং Google পণ্য থেকে ইভেন্ট ট্রিগার করার জন্য একটি নির্দিষ্ট কাজ বা কাজের সেট সম্পাদন করে।

আপনি ব্যক্তিগত ব্যবহারের জন্য অথবা 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 ব্যবহার করে এটি একটি প্রকল্পে ইনস্টল করতে পারেন অথবা এক্সটেনশন হাবে প্রকাশ করতে পারেন, যেখানে যে কেউ এটি আবিষ্কার করতে এবং তাদের প্রকল্পে ইনস্টল করতে পারে।

আমার এক্সটেনশন কোন পণ্যগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে?

যেহেতু একটি Firebase এক্সটেনশন ক্লাউড ফাংশন ব্যবহার করে তার কাজ করে, তাই আপনি সম্ভাব্য ইন্টিগ্রেশনের প্রশ্নটি দুটি উপায়ে ভাবতে পারেন: কোন পণ্যগুলি আমার এক্সটেনশনের ফাংশনগুলিকে ট্রিগার করতে পারে? এবং একবার ট্রিগার হয়ে গেলে, আমার এক্সটেনশনের ফাংশনগুলি কোন পণ্যগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে?

সমর্থিত ফাংশন ট্রিগার

ম্যানুয়াল ট্রিগার

প্রথমত, আপনি ম্যানুয়ালি একটি ফাংশন ট্রিগার করতে পারেন। ফায়ারবেস এক্সটেনশন এবং ক্লাউড ফাংশন দুটি উপায়ে ম্যানুয়ালি ফাংশন ট্রিগার করতে সহায়তা করে:

  • HTTP ট্রিগার: একটি HTTP এন্ডপয়েন্টে একটি ফাংশন স্থাপন করা
  • কলযোগ্য ফাংশন: Firebase ক্লায়েন্ট SDK ব্যবহার করে আপনার iOS, Android, অথবা ওয়েব ক্লায়েন্ট কোড থেকে সরাসরি আপনার ক্লাউড ফাংশনগুলিতে কল করুন।

আপনার এক্সটেনশন থেকে HTTP এন্ডপয়েন্টগুলি প্রকাশ করে, আপনার এক্সটেনশনটি সম্ভাব্যভাবে ওয়েবহুক সমর্থন করে এমন যেকোনো ওয়েব পরিষেবার সাথে সংহত হতে পারে। কলযোগ্য ফাংশনগুলির সাহায্যে, আপনার এক্সটেনশন ইনস্টল করা ব্যবহারকারীরা আপনার এক্সটেনশনটি প্রয়োগ করে এমন API অ্যাক্সেস করার জন্য Firebase SDK গুলিকে ক্লায়েন্ট লাইব্রেরি হিসাবে ব্যবহার করতে পারেন।

ফায়ারবেস পরিষেবা ট্রিগার

বেশিরভাগ Firebase পণ্য এমন ইভেন্ট নির্গত করে যা একটি এক্সটেনশনের ক্লাউড ফাংশনগুলিকে ট্রিগার করতে পারে।

  • অ্যানালিটিক্স: অ্যানালিটিক্স কোনও ইভেন্ট লগ করলে ফাংশন ট্রিগার করে
  • অ্যাপ ডিস্ট্রিবিউশন: অ্যাপ ডিস্ট্রিবিউশন যখন কোনও সতর্কতা ট্রিগার করে তখন ফাংশনগুলি ট্রিগার করে
  • প্রমাণীকরণ: ব্যবহারকারীরা অ্যাকাউন্ট তৈরি এবং মুছে ফেলার সময় ফাংশনগুলি ট্রিগার করে
  • ক্লাউড ফায়ারস্টোর: পৃষ্ঠা তৈরি, আপডেট বা মুছে ফেলার সময় ফাংশনগুলি ট্রিগার করে
  • ক্লাউড স্টোরেজ : যখন বস্তু আপলোড, আর্কাইভ করা হয়, অথবা বাকেট থেকে মুছে ফেলা হয় তখন ফাংশনগুলি ট্রিগার করে
  • Crashlytics: Crashlytics যখন কোনও সতর্কতা ট্রিগার করে তখন ফাংশন ট্রিগার করে
  • পারফরম্যান্স মনিটরিং: পারফরম্যান্স মনিটরিং যখন কোনও সতর্কতা ট্রিগার করে তখন ফাংশনগুলি ট্রিগার করে
  • রিয়েলটাইম ডাটাবেস: ডেটা তৈরি, আপডেট বা মুছে ফেলা হলে ফাংশন ট্রিগার করে
  • রিমোট কনফিগারেশন: একটি প্যারামিটার আপডেট করা হলে ফাংশনগুলি ট্রিগার করে
  • টেস্ট ল্যাব: টেস্ট ল্যাব যখন কোনও সতর্কতা ট্রিগার করে তখন ফাংশনগুলি ট্রিগার করে

গুগল ক্লাউড পরিষেবা ট্রিগার

একটি এক্সটেনশনে এমন ফাংশনও অন্তর্ভুক্ত থাকতে পারে যা বেশ কয়েকটি নন-ফায়ারবেস গুগল ক্লাউড পরিষেবা চালু করে:

  • ক্লাউড পাব/সাব : একটি এক্সটেনশনে এমন ফাংশন অন্তর্ভুক্ত থাকতে পারে যা ইভেন্টগুলি একটি কনফিগারযোগ্য পাব/সাব বিষয়ে পোস্ট করা হলে ট্রিগার করে।
  • ক্লাউড শিডিউলার : একটি এক্সটেনশনে এমন ফাংশন অন্তর্ভুক্ত থাকতে পারে যা একটি নির্দিষ্ট সময়সূচীতে চলে।
  • ক্লাউড টাস্ক : একটি এক্সটেনশনে এমন ফাংশন অন্তর্ভুক্ত থাকতে পারে যা ক্লাউড টাস্ক ব্যবহার করে সারিবদ্ধ করা যেতে পারে। ফায়ারবেস এক্সটেনশন এই ক্ষমতা ব্যবহার করে আপনাকে এক্সটেনশন লেখক হিসেবে এমন ফাংশন লিখতে দেয় যা একটি এক্সটেনশনের "জীবনচক্র" ইভেন্টগুলিতে সাড়া দেয়: প্রথমবারের মতো একটি প্রকল্পে ইনস্টল করা, একটি নতুন সংস্করণে আপগ্রেড করা এবং পুনরায় কনফিগার করা।
  • Eventarc : একটি এক্সটেনশনে এমন ফাংশন অন্তর্ভুক্ত থাকতে পারে যা একটি কনফিগারযোগ্য Eventarc চ্যানেলে ইভেন্ট প্রকাশের সময় ট্রিগার করে; বিপরীতভাবে, একটি এক্সটেনশন একটি Eventarc চ্যানেলে নিজস্ব ইভেন্ট প্রকাশ করতে পারে যাতে ব্যবহারকারীরা তাদের নিজস্ব ফাংশনগুলি সংজ্ঞায়িত করতে সক্ষম হন যা একটি এক্সটেনশনের ইভেন্ট থেকে ট্রিগার হয়।

ফাংশন থেকে সমর্থিত

একবার কোনও এক্সটেনশনের ক্লাউড ফাংশন চালু হয়ে গেলে, সম্ভাব্য ইন্টিগ্রেশনের পরিসর সাধারণত উন্মুক্ত থাকে। ক্লাউড ফাংশন থেকে আপনি কী করতে পারেন তার কিছু হাইলাইট এখানে দেওয়া হল:

  • সমর্থিত IAM ভূমিকা ব্যবহার করে এমন যেকোনো Firebase বা Google ক্লাউড পরিষেবা পড়ুন, লিখুন এবং অন্যথায় ইন্টারঅ্যাক্ট করুন।
  • ওয়েব API সরবরাহকারী যেকোনো তৃতীয় পক্ষের পরিষেবার সাথে কাজ করুন।
  • যদি আপনি একটি ওয়েব API প্রদান করেন, তাহলে আপনার কাস্টম পরিষেবাগুলির সাথে কাজ করুন।
  • TensorFlow.js , Express.js, ইত্যাদি সহ বেশিরভাগ JavaScript লাইব্রেরি চালান।

কিভাবে একটি এক্সটেনশন তৈরি করবেন

"শুরু করুন" টিউটোরিয়ালটি আপনাকে একটি সম্পূর্ণ এক্সটেনশন তৈরি, পরীক্ষা এবং প্রকাশের প্রক্রিয়াটি ব্যাখ্যা করে এবং এটি কীভাবে একটি এক্সটেনশন তৈরি করতে হয় তা শেখার জন্য প্রস্তাবিত উপায়।

শুরু করুন

শুরু করার নির্দেশিকাটি একবার পড়ার পর, আপনি পৃথক বিষয় নির্দেশিকাগুলি উল্লেখ করতে পারেন, যা আপনার নিজস্ব এক্সটেনশন তৈরির সাথে জড়িত প্রতিটি কাজ ব্যাখ্যা করে: