Firebase Extensions

Firebase Extensions আগে থেকে প্যাকেজ করা সমাধান ব্যবহার করে আপনার অ্যাপে দ্রুত ফাংশনালিটি ডেপ্লয় করতে সাহায্য করে।

ইনস্টল করা হয়ে গেলে, Firebase Extension HTTPS অনুরোধ, Cloud Scheduler ইভেন্ট বা Cloud Firestore বা Firebase Cloud Messaging-এর মতো অন্যান্য Firebase প্রোডাক্ট থেকে ট্রিগার করা ইভেন্টের উত্তরে একটি নির্দিষ্ট টাস্ক বা টাস্কের সেট পারফর্ম করে।

Extensions Hub এক্সটেনশন এক্সপ্লোর করুন এক্সটেনশন কীভাবে ইনস্টল করতে হয় তা জানুন নিজের এক্সটেনশন কীভাবে তৈরি করতে হয় তা জানুন


গুরুত্বপূর্ণ ক্ষমতা

ডেভেলপমেন্ট, রক্ষণাবেক্ষণ ও বৃদ্ধির জন্য কম সময় ব্যয় করুন

এক্সটেনশন হল একটি প্যাকেজ করা সমাধান, তাই আপনাকে শুধু এক্সটেনশন ইনস্টল ও কনফিগার করতে হবে।

এক্সটেনশন ব্যবহার করলে, আপনার অ্যাপ বা প্রোজেক্টের জন্য কার্যকারিতা প্রয়োগ বা কোনও টাস্ক অটোমেট করার কোড রিসার্চ, লেখা ও ডিবাগ করার কাজে আপনাকে সময় ব্যয় করতে হয় না।

আপনার অ্যাপ বা প্রোজেক্টের জন্য সমাধান খুঁজতে Extensions Hub এক্সপ্লোর করুন।

কনফিগার করা ও আবার ব্যবহার করার উপযুক্ত করে তৈরি করা হয়েছে

এক্সটেনশনের প্রতিটি ইনস্টল করা ইনস্ট্যান্স অনন্য।

আপনি এক্সটেনশনের জন্য কনফিগারেশন ভ্যালু নির্দিষ্ট করেন যা আপনার অ্যাপ, প্রোজেক্ট বা ব্যবহারের ক্ষেত্রে অনন্য। এক্সটেনশন কী করে তার উপর নির্ভর করে, এইসব ভ্যালু প্রায় যেকোনও কিছু হতে পারে: Cloud Firestore পাথ, ছবির ডাইমেনশন বা GitHub URL।

আপনি একই এক্সটেনশন বিভিন্ন প্রোজেক্টে আবার ব্যবহার করতে পারবেন। এমনকি, আপনি একটি প্রোজেক্টে একই এক্সটেনশনের একাধিক ইনস্ট্যান্স ইনস্টল করতে পারবেন। ইনস্টল করা প্রতিটি ইনস্ট্যান্সের নিজস্ব কাস্টমাইজ করা কনফিগারেশন থাকতে পারে।

Firebase প্ল্যাটফর্ম ইন্টিগ্রেট করে

আপনার বর্তমান আর্কিটেকচারের যে অংশটি নেই, এক্সটেনশন সেটি পূরণ করতে পারে।

আপনার অ্যাপে আগে থেকেই ব্যবহার করা Firebase প্রোডাক্টের মাধ্যমে তৈরি করা ইভেন্টে এক্সটেনশন উত্তর দিতে পারে। একটি Firebase প্রোডাক্টে পরিবর্তন হলে, এক্সটেনশনকে তার টাস্ক পারফর্ম করার জন্য ট্রিগার করতে পারে, এমনকি অন্য প্রোডাক্ট ব্যবহার করে কোনও টাস্কও। যেমন, নির্দিষ্ট Realtime Database রাইট নতুন Firebase Cloud Messaging বিজ্ঞপ্তি পাঠানোর ট্রিগার হতে পারে।

এছাড়াও, এক্সটেনশন আপনার Firebase প্রোজেক্টকে অন্যান্য Google Cloud Platform প্রোডাক্ট (যেমন, BigQuery ও Google Translate) বা এমনকি থার্ড-পার্টি পরিষেবার (যেমন, Mailchimp ও Bit.ly) সাথে ইন্টিগ্রেট করতে পারে।

এবং ট্রিগার করা ইভেন্টগুলি Firebase ইভেন্টের মধ্যে সীমাবদ্ধ নয়; আপনি এমনকি HTTPS অনুরোধের মাধ্যমে সরাসরি বা একটি নির্ধারিত বিরতিতে একটি এক্সটেনশন ট্রিগার করতে পারেন।

নিরাপত্তা ও সীমিত অ্যাক্সেস

এক্সটেনশনের জন্য অ্যাপ্লিকেশন লজিক ব্যাকএন্ডে চলে, Google Cloud Functions ব্যবহার করে, তাই কোডটি ক্লায়েন্ট থেকে সম্পূর্ণ আলাদা।

এছাড়াও, এক্সটেনশনগুলি আপনার বাকি প্রজেক্ট থেকে আলাদা করা থাকে কারণ ইনস্টল করা এক্সটেনশনকে সীমিত অ্যাক্সেস দেওয়া হয়। এটি শুধুমাত্র ইনস্টল করার আগে স্পষ্টভাবে তালিকাভুক্ত রিসোর্স ও ডেটা অ্যাক্সেস করতে পারে।

কোনও রক্ষণাবেক্ষণ করতে হয় না

আপনার Firebase প্রোজেক্টের জন্য এক্সটেনশন ইনস্টল ও কনফিগার করুন। তারপরে, আপনার এক্সটেনশনের প্রয়োজন অনুযায়ী ব্যাকএন্ড অটোমেটিক কম্পিউটিং রিসোর্স বাড়িয়ে বা কমিয়ে দেয়।

আপনাকে ক্রেডেনশিয়াল, সার্ভার কনফিগারেশন, প্রভিশনিং নতুন সার্ভার বা পুরনো সার্ভার বন্ধ করা নিয়ে চিন্তা করতে হবে না।

এটি কীভাবে কাজ করে?

মূলত, Firebase Extension হল এমন কোড যা কোনও টাস্ক পারফর্ম করে যখনই আপনার অ্যাপ বা প্রজেক্টে নির্দিষ্টভাবে সংজ্ঞায়িত ইভেন্ট ঘটে।

এক্সটেনশনের লজিক Cloud Functions for Firebase ব্যবহার করে লেখা হয়। এক্সটেনশনের ফাংশন ইভেন্ট প্রদানকারী ও এক্সিকিউশন ট্রিগার করার শর্তাবলীকে সংজ্ঞায়িত করে (যেমন, Cloud Firestore লেখা, HTTPS অনুরোধ বা Cloud Scheduler ইভেন্ট)।

এক্সটেনশন ফাংশন ব্যবহার করলেও, এক্সটেনশন ও ফাংশনের মধ্যে মূল পার্থক্য হল, এক্সটেনশন extension.yaml স্পেসিফিকেশন ফাইলের উপর নির্ভর করে, যা স্পষ্টভাবে এগুলি সংজ্ঞায়িত করে:

  • এক্সটেনশনটি যেসব Google পরিষেবা (API) ব্যবহার করবে
  • এক্সটেনশনটি কাজ করার জন্য প্রয়োজনীয় অ্যাক্সেস ভূমিকা
  • এক্সটেনশন-নির্দিষ্ট রিসোর্স যা এক্সটেনশন কাজ করার জন্য প্রয়োজন
  • এক্সটেনশনের জন্য কনফিগার করা যায় এমন প্যারামিটার

আপনি কোনও প্রোজেক্টে একাধিকবার এক্সটেনশন ইনস্টল করতে পারেন, যেখানে প্রতিটি ইনস্টল করা ইনস্ট্যান্সের আলাদা কনফিগারেশন থাকে।

আপনি কোনও এক্সটেনশনের ইনস্ট্যান্স ইনস্টল করলে, Firebase নিম্নলিখিত কাজগুলি করে:

  1. এক্সটেনশনের এই ইনস্ট্যান্সের জন্য প্রয়োজনীয় কনফিগারেশন ভ্যালু (প্যারামিটার) নির্দিষ্ট করতে প্রম্পট করে।
  2. প্রোজেক্টের জন্য extension.yaml ফাইল থেকে তালিকাভুক্ত API চালু করে।
  3. এক্সটেনশনের এই ইনস্ট্যান্সের মাধ্যমে ব্যবহার করার জন্য একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করে এবং এটিকে তালিকাভুক্ত অ্যাক্সেস ভূমিকা অ্যাসাইন করে। এক্সটেনশন ইনস্ট্যান্স এই পরিষেবা অ্যাকাউন্টে দেওয়া অ্যাক্সেস ব্যবহার করে এর কোড এক্সিকিউট করে।
  4. এক্সটেনশন ইনস্ট্যান্সের (যেমন, একটি ফাংশন) জন্য তালিকাভুক্ত রিসোর্স প্রভিশন করে।

মনে রাখবেন, এক্সটেনশনের প্রতিটি ইনস্টল করা ইনস্ট্যান্সের নিজস্ব পরিষেবা অ্যাকাউন্ট এবং আলাদাভাবে প্রোভিশন করা রিসোর্স থাকে।

extension.yaml ফাইল ছাড়াও, এক্সটেনশন ডিরেক্টরি নির্দেশাবলী ফাইলও অন্তর্ভুক্ত করে, যেমন README, যাতে আপনাকে আরও কনফিগারেশন টাস্ক সম্পূর্ণ করতে বা সাধারণভাবে এক্সটেনশন ব্যবহার করতে সাহায্য করার জন্য তথ্য থাকে।

ইনস্টল করার পরে, আপনি এক্সটেনশন আবার কনফিগার (নতুন প্যারামিটার ভ্যালু নির্দিষ্ট করুন) করার পাশাপাশি এক্সটেনশন নতুন ভার্সনে আপডেট করতে পারবেন। এছাড়াও, আপনি যেকোনও সময় প্রোজেক্ট থেকে কোনও এক্সটেনশন আনইনস্টল করতে পারবেন।

Firebase CLI ও Firebase কনসোল, দু'টিই আপনাকে এক্সটেনশন ইনস্টল করতে, দেখতে ও ম্যানেজ করতে দেয়।

প্রয়োগ করার পাথ

এক্সটেনশন খোঁজা

Extensions Hub-এ উপলভ্য এক্সটেনশন এক্সপ্লোর করুন।

এক্সটেনশন মূল্যায়ন, ইনস্টল ও কনফিগার করা

আপনার অ্যাপ বা প্রোজেক্টের প্রয়োজন মেটাতে পারে এমন কোনও এক্সটেনশন খুঁজে পেলে, আপনি Extensions এমুলেটর দিয়ে এক্সটেনশনটি মূল্যায়ন করতে পারেন, তারপর Firebase কনসোল বা Firebase CLI-এর মাধ্যমে এক্সটেনশনটি ইনস্টল করতে পারেন।

এক্সটেনশন কনফিগার করুন যাতে এটি আপনার অ্যাপ বা প্রোজেক্টের জন্য কাস্টমাইজ করা হয়।

এক্সটেনশন ম্যানেজ করা

Firebase কনসোল বা Firebase CLI ব্যবহার করে ইনস্টল করা এক্সটেনশন দেখুন ও ম্যানেজ করুন।

পরবর্তী ধাপ