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 ব্যবহার করে ইনস্টল করা এক্সটেনশন দেখুন ও ম্যানেজ করুন।

পরবর্তী ধাপ