একটি ফায়ারবেস এক্সটেনশন ইনস্টল করুন

আপনি Firebase কনসোল, Firebase CLI (কমান্ড-লাইন ইন্টারফেস), অথবা একটি স্বয়ংক্রিয় SDK ব্যবহার করে যেকোনও অফিসিয়াল Firebase এক্সটেনশন ইনস্টল (এবং পরিচালনা ) করতে পারেন।

প্রতিটি ইনস্টলেশন পদ্ধতির জন্য সমর্থিত ক্রিয়াগুলির পার্থক্যগুলি পর্যালোচনা করা নিশ্চিত করুন৷


একটি স্বয়ংক্রিয় জেনারেটেড SDK ব্যবহার করে ইনস্টলেশন এক্সটেনশনগুলি ইনস্টল এবং পরিচালনার জন্য একটি নতুন বিকল্প৷ এই বিকল্পের সাহায্যে, আপনি একটি নির্দিষ্ট এক্সটেনশন সংস্করণের জন্য স্বয়ংক্রিয়ভাবে একটি নোড SDK তৈরি করতে CLI ব্যবহার করেন, যা আপনি আপনার JavaScript বা TypeScript ক্লাউড ফাংশনে একটি সাধারণ নির্ভরতা হিসাবে আমদানি করতে পারেন।

এই স্বয়ংক্রিয়ভাবে তৈরি SDK-তে রয়েছে:

  • একটি ইন্টারফেস যা এক্সটেনশনের প্যারামিটারগুলিকে প্রতিনিধিত্ব করে এবং বেশিরভাগ অ-আদি পরামিতি প্রকারের জন্য ঘোষণা টাইপ করে৷
  • একটি কনস্ট্রাক্টর ফাংশন যা এক্সটেনশনের একটি উদাহরণ শুরু করে
  • একটি এক্সটেনশন ক্লাস যা এক্সটেনশন দ্বারা নির্গত সমস্ত ইভেন্টের জন্য Eventarc ট্রিগার ধারণ করে।

একবার আপনি একটি এক্সটেনশন SDK তৈরি করলে, এক্সটেনশনের সমস্ত কনফিগারেশন কোডে ঘটে।

এই ইনস্টলেশন বিকল্পটি ব্যবহার করে একাধিক এক্সটেনশন দৃষ্টান্তগুলির পরিচালনাকে ব্যাপকভাবে সহজ করতে পারে, বিশেষ করে এমন প্রকল্পগুলিতে যেগুলিতে এক্সটেনশনের বাইরে সংজ্ঞায়িত ক্লাউড ফাংশন রয়েছে৷


এক্সটেনশনগুলি ইনস্টল বা পরিচালনা করতে, আপনাকে অবশ্যই এই ভূমিকাগুলির মধ্যে একটি বরাদ্দ করতে হবে: মালিক বা সম্পাদক বা ফায়ারবেস অ্যাডমিন

একটি এক্সটেনশন ইনস্টল করার জন্য, আপনার প্রকল্পটি অবশ্যই ব্লেজ (যেমন যেতে হবে) প্ল্যানে থাকতে হবে। যদিও কোনও এক্সটেনশন ইনস্টল করার জন্য কোনও চার্জ নেই, তবে আপনার ব্যবহার পরিষেবাগুলির বিনামূল্যের স্তর অতিক্রম করলে, আপনার Firebase পরিষেবা বা ক্লাউড পরিষেবা যেমন ক্লাউড সিক্রেট ম্যানেজার ব্যবহারের জন্য চার্জ করা হতে পারে৷

আপনি শুরু করার আগে

  1. আপনি যদি ইতিমধ্যে না করে থাকেন, তাহলে আপনার প্রকল্পে Firebase যোগ করুন

  2. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার প্রজেক্টকে ব্লেজ (যেমন যেতে হবে) প্ল্যানে আপগ্রেড করুন।

  3. Firebase CLI-এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।

  4. আপনার ফায়ারবেস প্রোজেক্ট আইডি বা পূর্বে কনফিগার করা প্রোজেক্টের উপনাম নোট করুন।

ধাপ 1 : একটি এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য দেখুন

এই পদক্ষেপটি ঐচ্ছিক, কিন্তু দৃঢ়ভাবে সুপারিশ করা হয়।

একটি Firebase Extension ইনস্টল করার আগে, আমরা আপনাকে এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য পর্যালোচনা করার পরামর্শ দিচ্ছি, যার মধ্যে রয়েছে:

  • কিভাবে এক্সটেনশন কাজ করে, যেকোনো প্রাক-ইনস্টলেশন কাজ এবং এক্সটেনশন সম্পর্কে বিশদ বিবরণ
  • সাধারণ সনাক্তকরণ তথ্য এবং বিবরণ
  • এক্সটেনশনের কাজগুলির জন্য একটি বিলিং অ্যাকাউন্টের প্রয়োজন কিনা৷
  • ক্রিয়াকলাপের জন্য প্রয়োজনীয় Google পরিষেবা (APIs) এবং অ্যাক্সেসের ভূমিকা
  • এক্সটেনশনের জন্য তৈরি সম্পদ (যেমন ফাংশন)
  • ব্যবহারকারী-কনফিগারযোগ্য প্যারামিটারের বর্ণনা

একটি এক্সটেনশনের বিস্তারিত তথ্য দেখতে:

  1. নিশ্চিত করুন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

  2. আপনার কম্পিউটারের যেকোনো জায়গা থেকে এক্সটেনশন-তথ্য কমান্ড চালান:

    firebase ext:info publisher-id/extension-id

    publisher-id এবং extension-id আর্গুমেন্ট প্রয়োজন এবং এক্সটেনশনের পূর্ব-ইন্সটল বিবরণ পৃষ্ঠায় পাওয়া যাবে।

ধাপ 2 : একটি এক্সটেনশন ইনস্টল করুন

ইন্সটল করার আগে, এক্সটেনশনের মৌলিক স্পেসিফিকেশনগুলি পর্যালোচনা করুন (যেমন API সক্রিয় করা, সংস্থান তৈরি করা, অ্যাক্সেস মঞ্জুর করা ইত্যাদি) এবং এর বিলিং প্রয়োজনীয়তাগুলি।

আপনি চালিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

ফায়ারবেসের জন্য ক্লাউড ফাংশন শুরু করুন

আপনি যদি একটি নতুন প্রকল্প শুরু করেন বা যদি আপনার প্রকল্প ইতিমধ্যেই Firebase-এর জন্য ক্লাউড ফাংশন ব্যবহার না করে, তাহলে init functions চালান:

cd your-project
firebase init functions

আপনার ফাংশন ভাষা হিসাবে TypeScript বা JavaScript চয়ন করুন।

যদি আপনার প্রোজেক্টে ইতিমধ্যেই ক্লাউড ফাংশন শুরু হয়ে থাকে, তাহলে নিশ্চিত করুন যে আপনি firebase-functions প্যাকেজের সংস্করণ 5.1.0 বা তার নতুন সংস্করণ ব্যবহার করছেন:

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

আপনি যদি ESLint ব্যবহার করেন, তাহলে আপনি আপনার কনফিগারেশন ( .eslintrc.js ) থেকে জেনারেট করা SDK বাদ দিতে চাইতে পারেন :

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

একটি এক্সটেনশন SDK জেনারেট করুন

আপনার স্থানীয় ফায়ারবেস ডিরেক্টরি থেকে, ext:sdk:install কমান্ডটি চালান।

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

উদাহরণস্বরূপ, firestore-send-email এক্সটেনশনের 0.1.34 সংস্করণ ইনস্টল করতে:

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

publisher-id এবং extension-id প্রয়োজন এবং extensions.dev- এ এক্সটেনশনের পূর্ব-ইন্সটল বিবরণ পৃষ্ঠায় পাওয়া যাবে। @ version অংশ ঐচ্ছিক; যদি আপনি এটি বাদ দেন, টুলটি সর্বশেষ সংস্করণ ইনস্টল করে।

আপনি নির্দিষ্ট করতে পারেন দুটি বিকল্প আছে:

  • --force : আরও নিশ্চিতকরণ ছাড়াই নিম্নলিখিত সবগুলি করুন:

    • একই এক্সটেনশন এবং সংস্করণের জন্য ইতিমধ্যে একটি তৈরি করা হলেও SDK স্বয়ংক্রিয়ভাবে তৈরি করুন৷
    • ক্লাউড ফাংশন নোড প্রকল্পে অটোজেনারেটেড SDK প্যাকেজ ইনস্টল করুন।
  • --codebase : SDK যোগ করার জন্য কোডবেসের নাম। অনির্দিষ্ট থাকলে, কমান্ডটি ডিফল্ট কোডবেস, functions SDK যোগ করে।

এই কমান্ডটি এক্সটেনশনের জন্য স্বয়ংক্রিয়ভাবে তৈরি একটি SDK সমন্বিত একটি নোড প্যাকেজ তৈরি করে এবং এটিকে আপনার প্রকল্পের ক্লাউড ফাংশন কোডবেসে যুক্ত করে। ডিফল্ট কোডবেসে ( functions ), SDK নিম্নলিখিত অবস্থানে সংরক্ষিত হয়:

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

SDK তৈরি করার পরে, কমান্ডটি জিজ্ঞাসা করবে যে আপনি আপনার ক্লাউড ফাংশন নোড প্রকল্পে SDK ইনস্টল করতে চান কিনা। এই প্রম্পটে হ্যাঁ উত্তর দিন।

এক্সটেনশন দৃষ্টান্তগুলি কনফিগার করুন

এক্সটেনশনটি কনফিগার করতে, SDK আমদানি করুন এবং প্রতিটি এক্সটেনশন উদাহরণের জন্য যা আপনি ইনস্টল করতে চান, কনস্ট্রাক্টর ফাংশনকে কল করুন, এটিতে একটি প্রকল্প-অনন্য ইনস্ট্যান্স আইডি এবং এক্সটেনশনের জন্য প্রয়োজনীয় কনফিগারেশন পরামিতিগুলি পাস করুন৷

  1. আপনার ক্লাউড ফাংশন উত্সে, ext:sdk:install কমান্ড দ্বারা মুদ্রিত বিবৃতি ব্যবহার করে কনস্ট্রাক্টর আমদানি করুন।

    টাইপস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য একটি SDK তৈরি করেন, তাহলে import বিবৃতিটি নিম্নলিখিতগুলির মতো দেখতে পাবে:

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

    যদি এক্সটেনশনের জন্য পাসওয়ার্ডের মতো কোনো গোপন মান প্রয়োজন হয়, তাহলে আপনার ক্লাউড ফাংশন SDK থেকে defineSecret ফাংশনও প্রয়োজন:

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

    জাভাস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য একটি SDK তৈরি করেন, তাহলে require বিবৃতিটি নিম্নলিখিতগুলির মতো দেখতে পাবে:

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

    যদি এক্সটেনশনের জন্য পাসওয়ার্ডের মতো কোনো গোপন মান প্রয়োজন হয়, তাহলে আপনার ক্লাউড ফাংশন SDK থেকে defineSecret ফাংশনও প্রয়োজন:

    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 : পোস্ট-ইনস্টল সেটআপ সম্পূর্ণ করুন

কিছু এক্সটেনশন ব্যবহার করার আগে আপনার জন্য প্রয়োজনীয় বা ঐচ্ছিক পদক্ষেপ রয়েছে। Firebase কনসোলের Extensions ড্যাশবোর্ডে আপনার এক্সটেনশনের পোস্ট-ইনস্টল বিশদ পৃষ্ঠায় এই নির্দেশাবলী খুঁজুন (ড্যাশবোর্ডের নির্দিষ্ট লিঙ্কটি ইনস্টলেশনের পরে টার্মিনালে প্রদর্শিত হয়)।

এছাড়াও আপনি এক্সটেনশনের উৎস ডিরেক্টরিতে অন্তর্ভুক্ত POSTINSTALL.md ফাইলে এই নির্দেশাবলী খুঁজে পেতে পারেন।

Firebase সম্পদ তৈরি করুন

আপনি যদি ফায়ারবেস সংস্থানগুলি ( Cloud Firestore সংগ্রহ, Realtime Database পাথ, Cloud Storage বালতি) ব্যবহার করার জন্য এক্সটেনশনটি কনফিগার করেন যা আগে থেকে নেই, তবে এক্সটেনশনটি ব্যবহার করার আগে সেগুলি তৈরি করুন৷

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 এক্সটেনশনগুলির জন্য, আপনি আপনার এক্সটেনশনটি পুনরায় কনফিগার বা আনইনস্টল করতে পারেন, সেইসাথে আপনার এক্সটেনশনটি সর্বশেষ সংস্করণে আপডেট করতে পারেন।

  • সমস্ত প্রকল্পের জন্য একটি সর্বোত্তম অনুশীলন হিসাবে, আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করা নিশ্চিত করুন এবং Firebase কনসোলে আপনার ব্যবহার এবং বিলিং ড্যাশবোর্ড নিরীক্ষণ করুন৷

,

আপনি Firebase কনসোল, Firebase CLI (কমান্ড-লাইন ইন্টারফেস), অথবা একটি স্বয়ংক্রিয় SDK ব্যবহার করে যেকোনও অফিসিয়াল Firebase এক্সটেনশন ইনস্টল (এবং পরিচালনা ) করতে পারেন।

প্রতিটি ইনস্টলেশন পদ্ধতির জন্য সমর্থিত ক্রিয়াগুলির পার্থক্যগুলি পর্যালোচনা করা নিশ্চিত করুন৷


একটি স্বয়ংক্রিয় জেনারেটেড SDK ব্যবহার করে ইনস্টলেশন এক্সটেনশনগুলি ইনস্টল এবং পরিচালনার জন্য একটি নতুন বিকল্প৷ এই বিকল্পের সাহায্যে, আপনি একটি নির্দিষ্ট এক্সটেনশন সংস্করণের জন্য স্বয়ংক্রিয়ভাবে একটি নোড SDK তৈরি করতে CLI ব্যবহার করেন, যা আপনি আপনার JavaScript বা TypeScript ক্লাউড ফাংশনে একটি সাধারণ নির্ভরতা হিসাবে আমদানি করতে পারেন।

এই স্বয়ংক্রিয়ভাবে তৈরি SDK-তে রয়েছে:

  • একটি ইন্টারফেস যা এক্সটেনশনের প্যারামিটারগুলিকে প্রতিনিধিত্ব করে এবং বেশিরভাগ অ-আদি পরামিতি প্রকারের জন্য ঘোষণা টাইপ করে৷
  • একটি কনস্ট্রাক্টর ফাংশন যা এক্সটেনশনের একটি উদাহরণ শুরু করে
  • একটি এক্সটেনশন ক্লাস যা এক্সটেনশন দ্বারা নির্গত সমস্ত ইভেন্টের জন্য Eventarc ট্রিগার ধারণ করে।

একবার আপনি একটি এক্সটেনশন SDK তৈরি করলে, এক্সটেনশনের সমস্ত কনফিগারেশন কোডে ঘটে।

এই ইনস্টলেশন বিকল্পটি ব্যবহার করে একাধিক এক্সটেনশন দৃষ্টান্তগুলির পরিচালনাকে ব্যাপকভাবে সহজ করতে পারে, বিশেষ করে এমন প্রকল্পগুলিতে যেগুলিতে এক্সটেনশনের বাইরে সংজ্ঞায়িত ক্লাউড ফাংশন রয়েছে৷


এক্সটেনশনগুলি ইনস্টল বা পরিচালনা করতে, আপনাকে অবশ্যই এই ভূমিকাগুলির মধ্যে একটি বরাদ্দ করতে হবে: মালিক বা সম্পাদক বা ফায়ারবেস অ্যাডমিন

একটি এক্সটেনশন ইনস্টল করার জন্য, আপনার প্রকল্পটি অবশ্যই ব্লেজ (যেমন যেতে হবে) প্ল্যানে থাকতে হবে। যদিও কোনও এক্সটেনশন ইনস্টল করার জন্য কোনও চার্জ নেই, তবে আপনার ব্যবহার পরিষেবাগুলির বিনামূল্যের স্তর অতিক্রম করলে, আপনার Firebase পরিষেবা বা ক্লাউড পরিষেবা যেমন ক্লাউড সিক্রেট ম্যানেজার ব্যবহারের জন্য চার্জ করা হতে পারে৷

আপনি শুরু করার আগে

  1. আপনি যদি ইতিমধ্যে না করে থাকেন, তাহলে আপনার প্রকল্পে Firebase যোগ করুন

  2. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার প্রজেক্টকে ব্লেজ (যেমন যেতে হবে) প্ল্যানে আপগ্রেড করুন।

  3. Firebase CLI-এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।

  4. আপনার ফায়ারবেস প্রোজেক্ট আইডি বা পূর্বে কনফিগার করা প্রোজেক্টের উপনাম নোট করুন।

ধাপ 1 : একটি এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য দেখুন

এই পদক্ষেপটি ঐচ্ছিক, কিন্তু দৃঢ়ভাবে সুপারিশ করা হয়।

একটি Firebase Extension ইনস্টল করার আগে, আমরা আপনাকে এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য পর্যালোচনা করার পরামর্শ দিচ্ছি, যার মধ্যে রয়েছে:

  • কিভাবে এক্সটেনশন কাজ করে, যেকোনো প্রাক-ইনস্টলেশন কাজ এবং এক্সটেনশন সম্পর্কে বিশদ বিবরণ
  • সাধারণ সনাক্তকরণ তথ্য এবং বিবরণ
  • এক্সটেনশনের কাজগুলির জন্য একটি বিলিং অ্যাকাউন্টের প্রয়োজন কিনা৷
  • ক্রিয়াকলাপের জন্য প্রয়োজনীয় Google পরিষেবা (APIs) এবং অ্যাক্সেসের ভূমিকা
  • এক্সটেনশনের জন্য তৈরি সম্পদ (যেমন ফাংশন)
  • ব্যবহারকারী-কনফিগারযোগ্য প্যারামিটারের বর্ণনা

একটি এক্সটেনশনের বিস্তারিত তথ্য দেখতে:

  1. নিশ্চিত করুন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

  2. আপনার কম্পিউটারের যেকোনো জায়গা থেকে এক্সটেনশন-তথ্য কমান্ড চালান:

    firebase ext:info publisher-id/extension-id

    publisher-id এবং extension-id আর্গুমেন্ট প্রয়োজন এবং এক্সটেনশনের পূর্ব-ইন্সটল বিবরণ পৃষ্ঠায় পাওয়া যাবে।

ধাপ 2 : একটি এক্সটেনশন ইনস্টল করুন

ইন্সটল করার আগে, এক্সটেনশনের মৌলিক স্পেসিফিকেশনগুলি পর্যালোচনা করুন (যেমন API সক্রিয় করা, সংস্থান তৈরি করা, অ্যাক্সেস মঞ্জুর করা ইত্যাদি) এবং এর বিলিং প্রয়োজনীয়তাগুলি।

আপনি চালিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

ফায়ারবেসের জন্য ক্লাউড ফাংশন শুরু করুন

আপনি যদি একটি নতুন প্রকল্প শুরু করেন বা যদি আপনার প্রকল্প ইতিমধ্যেই Firebase-এর জন্য ক্লাউড ফাংশন ব্যবহার না করে, তাহলে init functions চালান:

cd your-project
firebase init functions

আপনার ফাংশন ভাষা হিসাবে TypeScript বা JavaScript চয়ন করুন।

যদি আপনার প্রোজেক্টে ইতিমধ্যেই ক্লাউড ফাংশন শুরু হয়ে থাকে, তাহলে নিশ্চিত করুন যে আপনি firebase-functions প্যাকেজের সংস্করণ 5.1.0 বা তার নতুন সংস্করণ ব্যবহার করছেন:

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

আপনি যদি ESLint ব্যবহার করেন, তাহলে আপনি আপনার কনফিগারেশন ( .eslintrc.js ) থেকে জেনারেট করা SDK বাদ দিতে চাইতে পারেন :

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

একটি এক্সটেনশন SDK জেনারেট করুন

আপনার স্থানীয় ফায়ারবেস ডিরেক্টরি থেকে, ext:sdk:install কমান্ডটি চালান।

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

উদাহরণস্বরূপ, firestore-send-email এক্সটেনশনের 0.1.34 সংস্করণ ইনস্টল করতে:

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

publisher-id এবং extension-id প্রয়োজন এবং extensions.dev- এ এক্সটেনশনের পূর্ব-ইন্সটল বিবরণ পৃষ্ঠায় পাওয়া যাবে। @ version অংশ ঐচ্ছিক; যদি আপনি এটি বাদ দেন, টুলটি সর্বশেষ সংস্করণ ইনস্টল করে।

আপনি নির্দিষ্ট করতে পারেন দুটি বিকল্প আছে:

  • --force : আরও নিশ্চিতকরণ ছাড়াই নিম্নলিখিত সবগুলি করুন:

    • একই এক্সটেনশন এবং সংস্করণের জন্য ইতিমধ্যে একটি তৈরি করা হলেও SDK স্বয়ংক্রিয়ভাবে তৈরি করুন৷
    • ক্লাউড ফাংশন নোড প্রকল্পে অটোজেনারেটেড SDK প্যাকেজ ইনস্টল করুন।
  • --codebase : SDK যোগ করার জন্য কোডবেসের নাম। অনির্দিষ্ট থাকলে, কমান্ডটি ডিফল্ট কোডবেস, functions SDK যোগ করে।

এই কমান্ডটি এক্সটেনশনের জন্য স্বয়ংক্রিয়ভাবে তৈরি একটি SDK সমন্বিত একটি নোড প্যাকেজ তৈরি করে এবং এটিকে আপনার প্রকল্পের ক্লাউড ফাংশন কোডবেসে যুক্ত করে। ডিফল্ট কোডবেসে ( functions ), SDK নিম্নলিখিত অবস্থানে সংরক্ষিত হয়:

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

SDK তৈরি করার পরে, কমান্ডটি জিজ্ঞাসা করবে যে আপনি আপনার ক্লাউড ফাংশন নোড প্রকল্পে SDK ইনস্টল করতে চান কিনা। এই প্রম্পটে হ্যাঁ উত্তর দিন।

এক্সটেনশন দৃষ্টান্তগুলি কনফিগার করুন

এক্সটেনশনটি কনফিগার করতে, SDK আমদানি করুন এবং প্রতিটি এক্সটেনশন উদাহরণের জন্য যা আপনি ইনস্টল করতে চান, কনস্ট্রাক্টর ফাংশনকে কল করুন, এটিতে একটি প্রকল্প-অনন্য ইনস্ট্যান্স আইডি এবং এক্সটেনশনের জন্য প্রয়োজনীয় কনফিগারেশন পরামিতিগুলি পাস করুন৷

  1. আপনার ক্লাউড ফাংশন উত্সে, ext:sdk:install কমান্ড দ্বারা মুদ্রিত বিবৃতি ব্যবহার করে কনস্ট্রাক্টর আমদানি করুন।

    টাইপস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য একটি SDK তৈরি করেন, তাহলে import বিবৃতিটি নিম্নলিখিতগুলির মতো দেখতে পাবে:

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

    যদি এক্সটেনশনের জন্য পাসওয়ার্ডের মতো কোনো গোপন মান প্রয়োজন হয়, তাহলে আপনার ক্লাউড ফাংশন SDK থেকে defineSecret ফাংশনও প্রয়োজন:

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

    জাভাস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য একটি SDK তৈরি করেন, তাহলে require বিবৃতিটি নিম্নলিখিতগুলির মতো দেখতে পাবে:

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

    যদি এক্সটেনশনের জন্য পাসওয়ার্ডের মতো কোনো গোপন মান প্রয়োজন হয়, তাহলে আপনার ক্লাউড ফাংশন SDK থেকে defineSecret ফাংশনও প্রয়োজন:

    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 : পোস্ট-ইনস্টল সেটআপ সম্পূর্ণ করুন

কিছু এক্সটেনশন ব্যবহার করার আগে আপনার জন্য প্রয়োজনীয় বা ঐচ্ছিক পদক্ষেপ রয়েছে। Firebase কনসোলের Extensions ড্যাশবোর্ডে আপনার এক্সটেনশনের পোস্ট-ইনস্টল বিশদ পৃষ্ঠায় এই নির্দেশাবলী খুঁজুন (ড্যাশবোর্ডের নির্দিষ্ট লিঙ্কটি ইনস্টলেশনের পরে টার্মিনালে প্রদর্শিত হয়)।

এছাড়াও আপনি এক্সটেনশনের উৎস ডিরেক্টরিতে অন্তর্ভুক্ত POSTINSTALL.md ফাইলে এই নির্দেশাবলী খুঁজে পেতে পারেন।

Firebase সম্পদ তৈরি করুন

আপনি যদি ফায়ারবেস সংস্থানগুলি ( Cloud Firestore সংগ্রহ, Realtime Database পাথ, Cloud Storage বালতি) ব্যবহার করার জন্য এক্সটেনশনটি কনফিগার করেন যা আগে থেকে নেই, তবে এক্সটেনশনটি ব্যবহার করার আগে সেগুলি তৈরি করুন৷

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 এক্সটেনশনগুলির জন্য, আপনি আপনার এক্সটেনশনটি পুনরায় কনফিগার বা আনইনস্টল করতে পারেন, সেইসাথে আপনার এক্সটেনশনটি সর্বশেষ সংস্করণে আপডেট করতে পারেন।

  • সমস্ত প্রকল্পের জন্য একটি সর্বোত্তম অনুশীলন হিসাবে, আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করা নিশ্চিত করুন এবং Firebase কনসোলে আপনার ব্যবহার এবং বিলিং ড্যাশবোর্ড নিরীক্ষণ করুন৷

,

আপনি Firebase কনসোল, Firebase CLI (কমান্ড-লাইন ইন্টারফেস), অথবা একটি স্বয়ংক্রিয় SDK ব্যবহার করে যেকোনও অফিসিয়াল Firebase এক্সটেনশন ইনস্টল (এবং পরিচালনা ) করতে পারেন।

প্রতিটি ইনস্টলেশন পদ্ধতির জন্য সমর্থিত ক্রিয়াগুলির পার্থক্যগুলি পর্যালোচনা করা নিশ্চিত করুন৷


একটি স্বয়ংক্রিয় জেনারেটেড SDK ব্যবহার করে ইনস্টলেশন এক্সটেনশনগুলি ইনস্টল এবং পরিচালনার জন্য একটি নতুন বিকল্প৷ এই বিকল্পের সাহায্যে, আপনি একটি নির্দিষ্ট এক্সটেনশন সংস্করণের জন্য স্বয়ংক্রিয়ভাবে একটি নোড SDK তৈরি করতে CLI ব্যবহার করেন, যা আপনি আপনার JavaScript বা TypeScript ক্লাউড ফাংশনে একটি সাধারণ নির্ভরতা হিসাবে আমদানি করতে পারেন।

এই স্বয়ংক্রিয়ভাবে তৈরি SDK-তে রয়েছে:

  • একটি ইন্টারফেস যা এক্সটেনশনের প্যারামিটারগুলিকে প্রতিনিধিত্ব করে এবং বেশিরভাগ অ-আদি পরামিতি প্রকারের জন্য ঘোষণা টাইপ করে৷
  • একটি কনস্ট্রাক্টর ফাংশন যা এক্সটেনশনের একটি উদাহরণ শুরু করে
  • একটি এক্সটেনশন ক্লাস যা এক্সটেনশন দ্বারা নির্গত সমস্ত ইভেন্টের জন্য Eventarc ট্রিগার ধারণ করে।

একবার আপনি একটি এক্সটেনশন SDK তৈরি করলে, এক্সটেনশনের সমস্ত কনফিগারেশন কোডে ঘটে।

এই ইনস্টলেশন বিকল্পটি ব্যবহার করে একাধিক এক্সটেনশন দৃষ্টান্তগুলির পরিচালনাকে ব্যাপকভাবে সহজ করতে পারে, বিশেষ করে এমন প্রকল্পগুলিতে যেগুলিতে এক্সটেনশনের বাইরে সংজ্ঞায়িত ক্লাউড ফাংশন রয়েছে৷


এক্সটেনশনগুলি ইনস্টল বা পরিচালনা করতে, আপনাকে অবশ্যই এই ভূমিকাগুলির মধ্যে একটি বরাদ্দ করতে হবে: মালিক বা সম্পাদক বা ফায়ারবেস অ্যাডমিন

একটি এক্সটেনশন ইনস্টল করার জন্য, আপনার প্রকল্পটি অবশ্যই ব্লেজ (যেমন যেতে হবে) প্ল্যানে থাকতে হবে। যদিও কোনও এক্সটেনশন ইনস্টল করার জন্য কোনও চার্জ নেই, তবে আপনার ব্যবহার পরিষেবাগুলির বিনামূল্যের স্তর অতিক্রম করলে, আপনার Firebase পরিষেবা বা ক্লাউড পরিষেবা যেমন ক্লাউড সিক্রেট ম্যানেজার ব্যবহারের জন্য চার্জ করা হতে পারে৷

আপনি শুরু করার আগে

  1. আপনি যদি ইতিমধ্যে না করে থাকেন, তাহলে আপনার প্রকল্পে Firebase যোগ করুন

  2. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার প্রজেক্টকে ব্লেজ (যেমন যেতে হবে) প্ল্যানে আপগ্রেড করুন।

  3. Firebase CLI-এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।

  4. আপনার ফায়ারবেস প্রোজেক্ট আইডি বা পূর্বে কনফিগার করা প্রোজেক্টের উপনাম নোট করুন।

ধাপ 1 : একটি এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য দেখুন

এই পদক্ষেপটি ঐচ্ছিক, কিন্তু দৃঢ়ভাবে সুপারিশ করা হয়।

একটি Firebase Extension ইনস্টল করার আগে, আমরা আপনাকে এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য পর্যালোচনা করার পরামর্শ দিচ্ছি, যার মধ্যে রয়েছে:

  • কিভাবে এক্সটেনশন কাজ করে, যেকোনো প্রাক-ইনস্টলেশন কাজ এবং এক্সটেনশন সম্পর্কে বিশদ বিবরণ
  • সাধারণ সনাক্তকরণ তথ্য এবং বিবরণ
  • এক্সটেনশনের কাজগুলির জন্য একটি বিলিং অ্যাকাউন্টের প্রয়োজন কিনা৷
  • ক্রিয়াকলাপের জন্য প্রয়োজনীয় Google পরিষেবা (APIs) এবং অ্যাক্সেসের ভূমিকা
  • এক্সটেনশনের জন্য তৈরি সম্পদ (যেমন ফাংশন)
  • ব্যবহারকারী-কনফিগারযোগ্য পরামিতিগুলির বিবরণ

একটি এক্সটেনশনের বিশদ তথ্য দেখতে:

  1. নিশ্চিত হয়ে নিন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

  2. আপনার কম্পিউটারে যে কোনও জায়গা থেকে এক্সটেনশন-ইনফো কমান্ডটি চালান:

    firebase ext:info publisher-id/extension-id

    publisher-id এবং extension-id যুক্তিগুলি প্রয়োজনীয় এবং এক্সটেনশনের প্রিনস্টল বিশদ পৃষ্ঠায় পাওয়া যাবে।

পদক্ষেপ 2 : একটি এক্সটেনশন ইনস্টল করুন

ইনস্টলেশনের আগে, এক্সটেনশনের জন্য প্রাথমিক স্পেসিফিকেশনগুলি পর্যালোচনা করুন (যেমন এপিআই সক্ষম, তৈরি করা সংস্থানসমূহ , অ্যাক্সেস মঞ্জুর করা ইত্যাদি) এবং এর বিলিং প্রয়োজনীয়তা।

আপনি চালিয়ে যাওয়ার আগে নিশ্চিত হয়ে নিন যে আপনি নিজের পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

ফায়ারবেসের জন্য মেঘ ফাংশন শুরু করুন

আপনি যদি কোনও নতুন প্রকল্প শুরু করছেন বা যদি আপনার প্রকল্পটি ইতিমধ্যে ফায়ারবেসের জন্য ক্লাউড ফাংশন ব্যবহার না করে তবে init functions চালান:

cd your-project
firebase init functions

আপনার ফাংশন ভাষা হিসাবে টাইপস্ক্রিপ্ট বা জাভাস্ক্রিপ্ট চয়ন করুন।

যদি আপনার প্রকল্পের ইতিমধ্যে ক্লাউড ফাংশনগুলি সূচনা করা হয় তবে নিশ্চিত হয়ে নিন যে আপনি সংস্করণ 5.1.0 ব্যবহার করছেন বা firebase-functions প্যাকেজের আরও নতুন ব্যবহার করছেন:

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

আপনি যদি এসলিন্ট ব্যবহার করেন তবে আপনি আপনার কনফিগারেশন ( .eslintrc.js ) থেকে উত্পন্ন এসডিকে বাদ দিতে চাইতে পারেন:

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

একটি এক্সটেনশন এসডিকে উত্পন্ন করুন

আপনার স্থানীয় ফায়ারবেস ডিরেক্টরি থেকে, ext:sdk:install কমান্ড।

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

উদাহরণস্বরূপ, firestore-send-email এক্সটেনশনের 0.1.34 সংস্করণ ইনস্টল করতে:

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

publisher-id এবং extension-id প্রয়োজনীয় এবং এক্সটেনশানস.ডেভে এক্সটেনশনের প্রিনস্টল বিশদ পৃষ্ঠায় পাওয়া যাবে। @ version অংশটি al চ্ছিক; আপনি যদি এটি বাদ দেন তবে সরঞ্জামটি সর্বশেষতম সংস্করণটি ইনস্টল করে।

দুটি বিকল্প রয়েছে যা আপনি নির্দিষ্ট করতে পারেন:

  • --force : আরও নিশ্চিতকরণ ছাড়াই নিম্নলিখিত সমস্তগুলি করুন:

    • ইতিমধ্যে একই এক্সটেনশন এবং সংস্করণের জন্য উত্পন্ন করা হলেও এসডিকে অটোজেনেট করুন।
    • ক্লাউড ফাংশন নোড প্রকল্পে অটোজেনেটেড এসডিকে প্যাকেজটি ইনস্টল করুন।
  • --codebase : এসডিকে যুক্ত করতে কোডবেসের নাম। যদি অনির্ধারিত হয় তবে কমান্ডটি ডিফল্ট কোডবেস, functions এসডিকে যুক্ত করে।

এই কমান্ডটি এক্সটেনশনের জন্য স্বয়ংক্রিয়ভাবে উত্পাদিত একটি এসডিকেযুক্ত একটি নোড প্যাকেজ তৈরি করে এবং এটি আপনার প্রকল্পের ক্লাউড ফাংশন কোডবেসগুলির একটিতে যুক্ত করে। ডিফল্ট কোডবেস ( functions ) এ, এসডিকে নিম্নলিখিত স্থানে সংরক্ষণ করা হয়:

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

এসডিকে উত্পন্ন করার পরে, কমান্ডটি জিজ্ঞাসা করবে যে আপনি আপনার ক্লাউড ফাংশন নোড প্রকল্পে এসডিকেও ইনস্টল করতে চান কিনা। এই প্রম্পটে হ্যাঁ উত্তর দিন।

এক্সটেনশন উদাহরণগুলি কনফিগার করুন

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

  1. আপনার ক্লাউড ফাংশন উত্সে, ext:sdk:install কমান্ডটি মুদ্রিত বিবৃতিটি ব্যবহার করে কনস্ট্রাক্টরকে আমদানি করুন।

    টাইপস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য কোনও এসডিকে তৈরি করেন তবে import বিবৃতিটি নিম্নলিখিতগুলির মতো কিছু দেখাবে:

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

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

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

    জাভাস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য কোনও এসডিকে তৈরি করেন তবে require বিবৃতিটি নিম্নলিখিতগুলির মতো কিছু দেখাবে:

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

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

    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 : পোস্ট-ইনস্টল সেটআপ সম্পূর্ণ করুন

কিছু এক্সটেনশনের প্রয়োজনীয় বা al চ্ছিক পদক্ষেপগুলি আপনার ব্যবহারের আগে সম্পূর্ণ করার জন্য প্রয়োজনীয় বা al চ্ছিক পদক্ষেপ রয়েছে। Firebase কনসোলের Extensions ড্যাশবোর্ডে আপনার এক্সটেনশনের পরবর্তী ইনস্টল বিশদ পৃষ্ঠায় এই নির্দেশাবলীগুলি সন্ধান করুন (ড্যাশবোর্ডের নির্দিষ্ট লিঙ্কটি ইনস্টলেশনের পরে টার্মিনালে প্রদর্শিত হয়)।

আপনি এক্সটেনশনের উত্স ডিরেক্টরিতে অন্তর্ভুক্ত POSTINSTALL.md ফাইলটিতে এই নির্দেশাবলীও খুঁজে পেতে পারেন।

ফায়ারবেস সংস্থান তৈরি করুন

আপনি যদি ইতিমধ্যে বিদ্যমান নেই ফায়ারবেস রিসোর্সগুলি ( Cloud Firestore সংগ্রহ, Realtime Database পাথ, Cloud Storage বালতি) ব্যবহার করার জন্য এক্সটেনশনটি কনফিগার করে থাকেন তবে এক্সটেনশনটি ব্যবহারের আগে সেগুলি তৈরি করুন।

ইভেন্টার্ক ইভেন্ট হ্যান্ডলারগুলি তৈরি করুন

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

আপনি যদি এক্সটেনশন দ্বারা নির্গত যে কোনও ইভেন্টের জন্য হ্যান্ডলারগুলি সংজ্ঞায়িত করতে চান তবে আপনি প্রতিটি উদাহরণের ট্রিগার পদ্ধতিগুলি ব্যবহার করে এটি করতে পারেন:

টাইপস্ক্রিপ্ট

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.
});

এক্সটেনশন উদাহরণ সহ আপনাকে অবশ্যই ইভেন্ট হ্যান্ডলারটি রফতানি করতে হবে।

একটি ইভেন্ট হ্যান্ডলার সংজ্ঞায়িত করার পরে এবং প্রতিবার আপনি একটিতে পরিবর্তন আনার পরে, এক্সটেনশন এবং হ্যান্ডলার উভয়কেই পুনরায় নিয়োগ করুন।

একাধিক এক্সটেনশন উদাহরণ ইনস্টল করুন

আপনি একই প্রকল্পে একাধিকবার একই এক্সটেনশন ইনস্টল করতে পারেন। প্রতিটি ইনস্টল করা উদাহরণটির নিজস্ব কাস্টমাইজড কনফিগারেশন এবং নিজস্ব এক্সটেনশন সংস্থান থাকতে পারে। আপনি তার উদাহরণ আইডি ব্যবহার করে প্রতিটি ইনস্টল করা উদাহরণ সনাক্ত এবং উল্লেখ করেছেন যা আপনার প্রকল্পের মধ্যে অনন্য।

আপনি ইনস্টল এবং কনফিগার করতে চান এমন প্রতিটি উদাহরণের জন্য একবার অটোজেনেটেড এসডিকে কনস্ট্রাক্টর ফাংশনটি কল করুন।

পরবর্তী পদক্ষেপ

,

আপনি Firebase কনসোল, Firebase সিএলআই (কমান্ড-লাইন ইন্টারফেস), বা একটি অটোজেনেটেড এসডিকে ব্যবহার করে যে কোনও অফিসিয়াল Firebase এক্সটেনশন ইনস্টল করতে (এবং পরিচালনা ) করতে পারেন।

প্রতিটি ইনস্টলেশন পদ্ধতির জন্য সমর্থিত ক্রিয়াকলাপগুলির মধ্যে পার্থক্যগুলি পর্যালোচনা করার বিষয়টি নিশ্চিত করুন।


একটি অটোজেনেটেড এসডিকে ব্যবহার করে ইনস্টলেশন এক্সটেনশনগুলি ইনস্টল এবং পরিচালনার জন্য একটি নতুন বিকল্প। এই বিকল্পের সাহায্যে, আপনি নির্দিষ্ট এক্সটেনশন সংস্করণের জন্য স্বয়ংক্রিয়ভাবে একটি নোড এসডিকে তৈরি করতে সিএলআই ব্যবহার করেন, যা আপনি আপনার জাভাস্ক্রিপ্ট বা টাইপস্ক্রিপ্ট ক্লাউড ফাংশনগুলিতে একটি সাধারণ নির্ভরতা হিসাবে আমদানি করতে পারেন।

এই অটো-উত্পাদিত এসডিকে রয়েছে:

  • এক্সটেনশনের প্যারামিটারগুলি উপস্থাপন করে এমন একটি ইন্টারফেস এবং বেশিরভাগ অ-প্রাথমিক প্যারামিটার ধরণের জন্য ডিক্লারেশন টাইপ করুন।
  • একটি কনস্ট্রাক্টর ফাংশন যা এক্সটেনশনের একটি উদাহরণকে সূচনা করে
  • একটি এক্সটেনশন ক্লাস যা এক্সটেনশন দ্বারা নির্গত সমস্ত ইভেন্টের জন্য ইভেন্টার্ক ট্রিগার ধারণ করে।

একবার আপনি একটি এক্সটেনশন এসডিকে তৈরি করার পরে, এক্সটেনশনের সমস্ত কনফিগারেশন কোডে ঘটে।

এই ইনস্টলেশন বিকল্পটি ব্যবহার করা একাধিক এক্সটেনশন উদাহরণগুলির পরিচালনাকে ব্যাপকভাবে সহজতর করতে পারে, বিশেষত এমন প্রকল্পগুলিতে যেখানে এক্সটেনশনের বাইরে সংজ্ঞায়িত মেঘ ফাংশন রয়েছে।


এক্সটেনশনগুলি ইনস্টল বা পরিচালনা করতে, আপনাকে অবশ্যই এই ভূমিকাগুলির মধ্যে একটি নির্ধারণ করতে হবে: মালিক বা সম্পাদক বা ফায়ারবেস অ্যাডমিন

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

আপনি শুরু করার আগে

  1. আপনি যদি ইতিমধ্যে না থাকেন তবে আপনার প্রকল্পে ফায়ারবেস যুক্ত করুন

  2. আপনি যদি ইতিমধ্যে না থাকেন তবে আপনার প্রকল্পটি ব্লেজে আপগ্রেড করুন (আপনি যাবেন হিসাবে অর্থ প্রদান করুন) পরিকল্পনায়।

  3. Firebase সিএলআইয়ের সর্বশেষ সংস্করণে ইনস্টল করুন বা আপডেট করুন।

  4. আপনার ফায়ারবেস প্রজেক্ট আইডি বা পূর্বে কনফিগার করা প্রজেক্ট ওরফে নোট করুন।

পদক্ষেপ 1 : একটি এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য দেখুন

এই পদক্ষেপটি al চ্ছিক, তবে দৃ strongly ়ভাবে প্রস্তাবিত।

Firebase Extension ইনস্টল করার আগে, আমরা আপনাকে এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য পর্যালোচনা সহ পর্যালোচনা করার পরামর্শ দিই:

  • কীভাবে এক্সটেনশন কাজ করে, কোনও প্রাক-ইনস্টলেশন কাজ এবং এক্সটেনশন সম্পর্কে বিশদ
  • সাধারণ তথ্য এবং বিবরণ সনাক্তকরণ
  • এক্সটেনশনের কার্যগুলিতে বিলিং অ্যাকাউন্টের প্রয়োজন কিনা
  • গুগল পরিষেবাদি (এপিআই) এবং অপারেশনের জন্য অ্যাক্সেসের ভূমিকা
  • এক্সটেনশনের জন্য তৈরি সংস্থানগুলি (ফাংশনগুলির মতো)
  • ব্যবহারকারী-কনফিগারযোগ্য পরামিতিগুলির বিবরণ

একটি এক্সটেনশনের বিশদ তথ্য দেখতে:

  1. নিশ্চিত হয়ে নিন যে আপনি আপনার পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

  2. আপনার কম্পিউটারে যে কোনও জায়গা থেকে এক্সটেনশন-ইনফো কমান্ডটি চালান:

    firebase ext:info publisher-id/extension-id

    publisher-id এবং extension-id যুক্তিগুলি প্রয়োজনীয় এবং এক্সটেনশনের প্রিনস্টল বিশদ পৃষ্ঠায় পাওয়া যাবে।

পদক্ষেপ 2 : একটি এক্সটেনশন ইনস্টল করুন

ইনস্টলেশনের আগে, এক্সটেনশনের জন্য প্রাথমিক স্পেসিফিকেশনগুলি পর্যালোচনা করুন (যেমন এপিআই সক্ষম, তৈরি করা সংস্থানসমূহ , অ্যাক্সেস মঞ্জুর করা ইত্যাদি) এবং এর বিলিং প্রয়োজনীয়তা।

আপনি চালিয়ে যাওয়ার আগে নিশ্চিত হয়ে নিন যে আপনি নিজের পরিবেশ সেট আপ করেছেন এবং একটি এক্সটেনশন নির্বাচন করেছেন

ফায়ারবেসের জন্য মেঘ ফাংশন শুরু করুন

আপনি যদি কোনও নতুন প্রকল্প শুরু করছেন বা যদি আপনার প্রকল্পটি ইতিমধ্যে ফায়ারবেসের জন্য ক্লাউড ফাংশন ব্যবহার না করে তবে init functions চালান:

cd your-project
firebase init functions

আপনার ফাংশন ভাষা হিসাবে টাইপস্ক্রিপ্ট বা জাভাস্ক্রিপ্ট চয়ন করুন।

যদি আপনার প্রকল্পের ইতিমধ্যে ক্লাউড ফাংশনগুলি সূচনা করা হয় তবে নিশ্চিত হয়ে নিন যে আপনি সংস্করণ 5.1.0 ব্যবহার করছেন বা firebase-functions প্যাকেজের আরও নতুন ব্যবহার করছেন:

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

আপনি যদি এসলিন্ট ব্যবহার করেন তবে আপনি আপনার কনফিগারেশন ( .eslintrc.js ) থেকে উত্পন্ন এসডিকে বাদ দিতে চাইতে পারেন:

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

একটি এক্সটেনশন এসডিকে উত্পন্ন করুন

আপনার স্থানীয় ফায়ারবেস ডিরেক্টরি থেকে, ext:sdk:install কমান্ড।

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

উদাহরণস্বরূপ, firestore-send-email এক্সটেনশনের 0.1.34 সংস্করণ ইনস্টল করতে:

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

publisher-id এবং extension-id প্রয়োজনীয় এবং এক্সটেনশানস.ডেভে এক্সটেনশনের প্রিনস্টল বিশদ পৃষ্ঠায় পাওয়া যাবে। @ version অংশটি al চ্ছিক; আপনি যদি এটি বাদ দেন তবে সরঞ্জামটি সর্বশেষতম সংস্করণটি ইনস্টল করে।

দুটি বিকল্প রয়েছে যা আপনি নির্দিষ্ট করতে পারেন:

  • --force : আরও নিশ্চিতকরণ ছাড়াই নিম্নলিখিত সমস্তগুলি করুন:

    • ইতিমধ্যে একই এক্সটেনশন এবং সংস্করণের জন্য উত্পন্ন করা হলেও এসডিকে অটোজেনেট করুন।
    • ক্লাউড ফাংশন নোড প্রকল্পে অটোজেনেটেড এসডিকে প্যাকেজটি ইনস্টল করুন।
  • --codebase : এসডিকে যুক্ত করতে কোডবেসের নাম। যদি অনির্ধারিত হয় তবে কমান্ডটি ডিফল্ট কোডবেস, functions এসডিকে যুক্ত করে।

এই কমান্ডটি এক্সটেনশনের জন্য স্বয়ংক্রিয়ভাবে উত্পাদিত একটি এসডিকেযুক্ত একটি নোড প্যাকেজ তৈরি করে এবং এটি আপনার প্রকল্পের ক্লাউড ফাংশন কোডবেসগুলির একটিতে যুক্ত করে। ডিফল্ট কোডবেস ( functions ) এ, এসডিকে নিম্নলিখিত স্থানে সংরক্ষণ করা হয়:

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

এসডিকে উত্পন্ন করার পরে, কমান্ডটি জিজ্ঞাসা করবে যে আপনি আপনার ক্লাউড ফাংশন নোড প্রকল্পে এসডিকেও ইনস্টল করতে চান কিনা। এই প্রম্পটে হ্যাঁ উত্তর দিন।

এক্সটেনশন উদাহরণগুলি কনফিগার করুন

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

  1. আপনার ক্লাউড ফাংশন উত্সে, ext:sdk:install কমান্ডটি মুদ্রিত বিবৃতিটি ব্যবহার করে কনস্ট্রাক্টরকে আমদানি করুন।

    টাইপস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য কোনও এসডিকে তৈরি করেন তবে import বিবৃতিটি নিম্নলিখিতগুলির মতো কিছু দেখাবে:

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

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

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

    জাভাস্ক্রিপ্ট

    উদাহরণস্বরূপ, আপনি যদি firestore-send-email এক্সটেনশনের জন্য কোনও এসডিকে তৈরি করেন তবে require বিবৃতিটি নিম্নলিখিতগুলির মতো কিছু দেখাবে:

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

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

    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 : পোস্ট-ইনস্টল সেটআপ সম্পূর্ণ করুন

কিছু এক্সটেনশনের প্রয়োজনীয় বা al চ্ছিক পদক্ষেপগুলি আপনার ব্যবহারের আগে সম্পূর্ণ করার জন্য প্রয়োজনীয় বা al চ্ছিক পদক্ষেপ রয়েছে। Firebase কনসোলের Extensions ড্যাশবোর্ডে আপনার এক্সটেনশনের পরবর্তী ইনস্টল বিশদ পৃষ্ঠায় এই নির্দেশাবলীগুলি সন্ধান করুন (ড্যাশবোর্ডের নির্দিষ্ট লিঙ্কটি ইনস্টলেশনের পরে টার্মিনালে প্রদর্শিত হয়)।

আপনি এক্সটেনশনের উত্স ডিরেক্টরিতে অন্তর্ভুক্ত POSTINSTALL.md ফাইলটিতে এই নির্দেশাবলীও খুঁজে পেতে পারেন।

ফায়ারবেস সংস্থান তৈরি করুন

আপনি যদি ইতিমধ্যে বিদ্যমান নেই ফায়ারবেস রিসোর্সগুলি ( Cloud Firestore সংগ্রহ, Realtime Database পাথ, Cloud Storage বালতি) ব্যবহার করার জন্য এক্সটেনশনটি কনফিগার করে থাকেন তবে এক্সটেনশনটি ব্যবহারের আগে সেগুলি তৈরি করুন।

ইভেন্টার্ক ইভেন্ট হ্যান্ডলারগুলি তৈরি করুন

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

আপনি যদি এক্সটেনশন দ্বারা নির্গত যে কোনও ইভেন্টের জন্য হ্যান্ডলারগুলি সংজ্ঞায়িত করতে চান তবে আপনি প্রতিটি উদাহরণের ট্রিগার পদ্ধতিগুলি ব্যবহার করে এটি করতে পারেন:

টাইপস্ক্রিপ্ট

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.
});

এক্সটেনশন উদাহরণ সহ আপনাকে অবশ্যই ইভেন্ট হ্যান্ডলারটি রফতানি করতে হবে।

একটি ইভেন্ট হ্যান্ডলার সংজ্ঞায়িত করার পরে এবং প্রতিবার আপনি একটিতে পরিবর্তন আনার পরে, এক্সটেনশন এবং হ্যান্ডলার উভয়কেই পুনরায় নিয়োগ করুন।

একাধিক এক্সটেনশন উদাহরণ ইনস্টল করুন

আপনি একই প্রকল্পে একাধিকবার একই এক্সটেনশন ইনস্টল করতে পারেন। প্রতিটি ইনস্টল করা উদাহরণটির নিজস্ব কাস্টমাইজড কনফিগারেশন এবং নিজস্ব এক্সটেনশন সংস্থান থাকতে পারে। আপনি তার উদাহরণ আইডি ব্যবহার করে প্রতিটি ইনস্টল করা উদাহরণ সনাক্ত এবং উল্লেখ করেছেন যা আপনার প্রকল্পের মধ্যে অনন্য।

আপনি ইনস্টল এবং কনফিগার করতে চান এমন প্রতিটি উদাহরণের জন্য একবার অটোজেনেটেড এসডিকে কনস্ট্রাক্টর ফাংশনটি কল করুন।

পরবর্তী পদক্ষেপ