প্রতিটি এক্সটেনশনের অবশ্যই ডকুমেন্টেশন থাকতে হবে যা ব্যবহারকারীদের শেখায় যে এক্সটেনশন কী করে এবং কীভাবে এটি ব্যবহার করতে হয়।
ন্যূনতম, প্রয়োজনীয়, ডকুমেন্টেশন হল তিনটি মার্কডাউন ফাইলের এই সেট:
-
PREINSTALL.md
-
POSTINSTALL.md
-
CHANGELOG.md
উপরন্তু, আপনি উত্পাদন বিবেচনা করা উচিত:
- এক্সটেনশনের সর্বজনীন সংগ্রহস্থলের জন্য একটি
README
ফাইল। - আপনার নিজস্ব ওয়েবসাইটে প্রকাশিত এবং আপনার
PREINSTALL.md
এ লিঙ্ক করা দীর্ঘ-ফর্মের টিউটোরিয়াল, গাইড এবং রেফারেন্স।
কিছু সর্বোত্তম অনুশীলন এবং সাধারণ বাক্যাংশ এবং গঠন শিখতে, আমরা অফিসিয়াল Firebase এক্সটেনশনগুলির সাথে উপলব্ধ ফাইলগুলি পর্যালোচনা করার পরামর্শ দিই৷
একটি README তৈরি করা হচ্ছে
আপনার এক্সটেনশন ডিরেক্টরিতে ঐচ্ছিকভাবে একটি README থাকতে পারে। লক্ষ্য করুন যে firebase ext:dev:init
কমান্ড স্বয়ংক্রিয়ভাবে আপনার জন্য একটি তৈরি করে না।
Firebase CLI, যদিও, আপনার extension.yaml
ফাইল এবং আপনার PREINSTALL.md
ফাইল থেকে টানা বিষয়বস্তু সম্বলিত একটি README
ফাইল স্বয়ংক্রিয়ভাবে তৈরি করতে নিম্নলিখিত সুবিধার কমান্ড সমর্থন করে:
firebase ext:info ./path/to/extension --markdown > README.md
অফিসিয়াল Firebase এক্সটেনশনের জন্য সমস্ত README ফাইল এই কমান্ড ব্যবহার করে তৈরি করা হয়।
ইনস্টলেশন তথ্য যোগ করুন
আপনি একটি README লেখা বা তৈরি করার পরে, এটিতে ইনস্টলেশন তথ্য যোগ করুন। আপনি একটি টেমপ্লেট হিসাবে নিম্নলিখিত স্নিপেট ব্যবহার করতে পারেন:
--- ## 🧩 Install this extension ### Console [![Install this extension in your Firebase project](https://www.gstatic.com/mobilesdk/210513_mobilesdk/install-extension.png "Install this extension in your Firebase project")][install-link] [install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name ### Firebase CLI ```bash firebase ext:install publisher_id/extension_name --project=[your-project-id] ``` > Learn more about installing extensions in the Firebase Extensions documentation: > [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console), > [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli) ---
একটি PREINSTALL
ফাইল লেখা
PREINSTALL
ফাইলটি হল আপনার এক্সটেনশনের ওভারভিউ, এক ধরনের "মার্কেটিং" পৃষ্ঠা৷
এই ফাইলে কি বিষয়বস্তু আছে?
- আপনার এক্সটেনশনের কার্যকারিতার ব্যাপক বিবরণ
- পূর্বশর্তগুলির তালিকা, যেমন ডাটাবেস সেটআপ বা নন-Google পরিষেবাতে অ্যাক্সেস ( উদাহরণ )
- যেকোনো প্রাক-ইনস্টলেশন কাজ এবং তাদের নির্দেশাবলীর সংক্ষিপ্ত বিবরণ
- ইনস্টলেশন-পরবর্তী যেকোনো কাজের সংক্ষিপ্ত বিবরণ ( উদাহরণ ) (বিস্তারিত নির্দেশাবলী
POSTINSTALL
এ যায়) - যেকোনো বিলিং ইমপ্লিকেশনের সংক্ষিপ্ত বিবরণ ( বয়লারপ্লেট টেক্সট দিয়ে শুরু করুন)
এই বিষয়বস্তু ব্যবহারকারীর কাছে কোথায় প্রদর্শন করে?
- extensions.dev- এ এক্সটেনশনের পৃষ্ঠায়।
- আপনার এক্সটেনশনের জন্য আপনার সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)
- এক্সটেনশনের README এর অংশ হিসেবে (যদি আপনি Firebase CLI ব্যবহার করেন
)--markdown > README.md
পতাকা
PREINSTALL
ফাইলগুলি এক্সটেনশনের জন্য প্যারামিটারের মানগুলি অ্যাক্সেস করতে পারে না, তাই আপনার প্রকৃত মানগুলির সাথে প্যারামিটার রেফারেন্সের আশা করা উচিত নয়৷
কিছু সেরা অভ্যাস কি কি?
-
PREINSTALL
ফাইলের সম্পূর্ণ বিষয়বস্তু একটি পৃষ্ঠার নিচে রাখুন, যদি সম্ভব হয় - এক্সটেনশনটি ইনস্টল করার আগে একজন শেষ ব্যবহারকারীর সম্পূর্ণরূপে জানতে হবে এমন বিশদ স্তর সরবরাহ করুন৷
-
POSTINSTALL
ফাইল বা অন্যান্য সম্পূরক ফাইলে বিস্তারিত নির্দেশনা দিন - আপনি যদি এক্সটেনশনটিকে সমর্থন করার জন্য অন্যান্য সরঞ্জাম বা স্ক্রিপ্ট সরবরাহ করেন তবে সংক্ষেপে উল্লেখ করুন৷
আমরা আপনার এক্সটেনশনের জন্য প্রযোজ্য হিসাবে যতটা সম্ভব নিম্নলিখিত বয়লারপ্লেট টেক্সট ব্যবহার করার পরামর্শ দিই। আমরা কিছু উদাহরণ প্রদান করেছি, কিন্তু সবচেয়ে গুরুত্বপূর্ণ বিষয় হল সমস্ত Google এবং নন-Google বিল করা পরিষেবাগুলি তালিকাভুক্ত করা হয়েছে তা নিশ্চিত করা৷
আপনি সঠিক পণ্য মূল্যের বিবরণ খুঁজে পেতে নিম্নলিখিত সংস্থান ব্যবহার করতে পারেন:
সমস্ত এক্সটেনশনের জন্য, আপনার ব্যবহারকারীদের বিলিং এর প্রভাব বুঝতে সাহায্য করার জন্য এই বিভাগটি অন্তর্ভুক্ত করুন:
Billing
This extension uses other Firebase or Google Cloud services which may have
associated charges:
* <list Google services / products that your extension uses>
* <list Firebase services that your extension uses>
* Cloud Secret Manager <if the extension uses secret params>
* Cloud Functions
When you use Firebase Extensions, you're only charged for the underlying
resources that you use. A paid-tier billing plan is only required if the
extension uses a service that requires a paid-tier plan, for example calling to
a Google Cloud API or making outbound network requests to non-Google services.
All Firebase services offer a no-cost tier of usage.
[Learn more about Firebase billing.](https://firebase.google.com/pricing)
<Applicable info about billing implications for non-Google services, such as:>
Usage of this extension also requires you to have a <non-Google-service> account.
You are responsible for any associated costs with your usage of <non-Google-service>.
একটি POSTINSTALL
ফাইল লেখা
POSTINSTALL
ফাইল হল আপনার এক্সটেনশনের বিস্তারিত পোস্ট-ইন্সটলেশন নির্দেশমূলক পৃষ্ঠা।
এই ফাইলে কি বিষয়বস্তু আছে?
- যেকোন প্রয়োজনীয় পোস্ট-ইন্সটলেশন কাজের জন্য বিস্তারিত নির্দেশাবলী, যেমন ফায়ারবেস নিরাপত্তা নিয়ম সেট আপ করা বা ক্লায়েন্ট-সাইড কোড যোগ করা ( উদাহরণ )
- কীভাবে অবিলম্বে ইনস্টল করা এক্সটেনশনটি চেষ্টা করবেন তার জন্য সাধারণ নির্দেশাবলী (উদাহরণস্বরূপ, "কনসোলে যান, তারপর এটি করুন")
- কিভাবে এক্সটেনশন ট্রিগার করতে হয় সে সম্পর্কে প্রাথমিক তথ্য, বিশেষ করে HTTP অনুরোধ-ট্রিগার করা এক্সটেনশনের জন্য
- কীভাবে ইনস্টল করা এক্সটেনশন নিরীক্ষণ করবেন তার জন্য সংক্ষিপ্ত নির্দেশাবলী ( বয়লারপ্লেট পাঠ্য দিয়ে শুরু করুন)
এই বিষয়বস্তু ব্যবহারকারীর কাছে কোথায় প্রদর্শন করে?
একজন ব্যবহারকারী আপনার এক্সটেনশন ইনস্টল করার পরে Firebase কনসোলে (ইনস্টল করা এক্সটেনশনের বিস্তারিত কার্ডে)
- একটি প্রকৃত প্রকল্পে আপনার এক্সটেনশন ইনস্টল করে
POSTINSTALL
সামগ্রীর প্রদর্শন পর্যালোচনা করা নিশ্চিত করুন৷
- একটি প্রকৃত প্রকল্পে আপনার এক্সটেনশন ইনস্টল করে
আপনার এক্সটেনশনের জন্য আপনার সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)
POSTINSTALL
ফাইলগুলি এক্সটেনশনের জন্য প্যারামিটার মান এবং বেশ কয়েকটি ফাংশন-সম্পর্কিত ভেরিয়েবল অ্যাক্সেস করতে পারে। যখন Firebase কনসোলে POSTINSTALL
বিষয়বস্তু প্রদর্শিত হয়, তখন প্রকৃত মানগুলি প্যারামিটার বা পরিবর্তনশীল রেফারেন্সের পরিবর্তে প্রদর্শিত হয়। কিভাবে আপনার POSTINSTALL
ফাইলে পরামিতি এবং ভেরিয়েবল উল্লেখ করতে হয় সে সম্পর্কে নীচে আরও জানুন।
কিছু সেরা অভ্যাস কি কি?
-
POSTINSTALL
ফাইলের সম্পূর্ণ বিষয়বস্তু সংক্ষিপ্ত, কিন্তু বর্ণনামূলক রাখুন। - স্বতন্ত্র কাজ বা ধারণাগুলিকে আলাদা করতে শিরোনাম ব্যবহার করে বিষয়বস্তু বিভাগ করুন।
- আপনার ওয়েবসাইটে ( উদাহরণ ) বা এক্সটেনশন রিপোজিটরির ( উদাহরণ ) মধ্যে সম্পূরক মার্কডাউন ফাইলগুলিতে একটি নির্দিষ্ট কর্মপ্রবাহ বা কাজের জন্য বিস্তারিত নির্দেশাবলী প্রকাশ করার কথা বিবেচনা করুন।
- রেফারেন্স প্যারামিটার এবং ফাংশন-সম্পর্কিত ভেরিয়েবল যাতে ব্যবহারকারী নির্দেশাবলীর পরিপ্রেক্ষিতে তাদের কনফিগার করা মানগুলি দেখতে পায়
রেফারেন্সিং পরামিতি এবং ভেরিয়েবল
ইনস্টলেশনের পরে, Firebase কনসোল এক্সটেনশনের POSTINSTALL
ফাইলের বিষয়বস্তু প্রদর্শন করে। আপনি যদি আপনার POSTINSTALL
ফাইলে পরামিতি এবং ফাংশন-সম্পর্কিত ভেরিয়েবলগুলি উল্লেখ করেন (নীচের টেবিল দেখুন), তাহলে কনসোল ইনস্টল করা উদাহরণের জন্য প্রকৃত মানগুলির সাথে এই রেফারেন্সগুলিকে পপুলেট করে।
নিম্নলিখিত সিনট্যাক্স ব্যবহার করে POSTINSTALL
ফাইলে কনফিগার করা প্যারামিটার মানগুলি অ্যাক্সেস করুন:${param: PARAMETER_NAME }
আপনি শুধুমাত্র আপনার POSTINSTALL
ফাইলে নিম্নলিখিত ফাংশন-সম্পর্কিত ভেরিয়েবলগুলি উল্লেখ করতে পারেন। Firebase এই ভেরিয়েবলগুলিকে সমর্থন করে যাতে আপনি আরও সহজে আপনার ব্যবহারকারীদের ইনস্টলেশন-পরবর্তী নির্দেশিকা প্রদান করতে পারেন। এগুলি শুধুমাত্র POSTINSTALL
ফাইলে ব্যবহারের জন্য উপলব্ধ কারণ এই ভেরিয়েবলগুলির মানগুলি ইনস্টলেশনের পরে উপলব্ধ নয়৷
এই টেবিলে, function-name হল extension.yaml
মধ্যে ফাংশনের রিসোর্স অবজেক্টের name
ক্ষেত্রের মান।
ফাংশন-সম্পর্কিত ভেরিয়েবলের জন্য রেফারেন্স | বর্ণনা | পরিবর্তনশীল মান (এক্সটেনশন ইনস্টলেশনের পরে Firebase দ্বারা স্বয়ংক্রিয়ভাবে জনবহুল) |
---|---|---|
${function: function-name .location} | ||
অবস্থান যেখানে ফাংশন স্থাপন করা হয় | উদাহরণ মান:us-central1 | |
${function: function-name .name} | ||
চূড়ান্ত নিয়োজিত ফাংশনের নাম, যা এক্সটেনশনের ইনস্ট্যান্স আইডি অন্তর্ভুক্ত করে | সাধারণ বিন্যাস: উদাহরণ মান: | |
${function: function-name .url} (শুধুমাত্র HTTP ফাংশনের জন্য প্রযোজ্য) | ||
চূড়ান্ত নিয়োজিত ফাংশনের URL, যেটিতে ক্লায়েন্ট কোড HTTP অনুরোধ করতে পারে | সাধারণ বিন্যাস: উদাহরণ মান: |
আমরা আপনার এক্সটেনশনের জন্য প্রযোজ্য হিসাবে যতটা সম্ভব নিম্নলিখিত বয়লারপ্লেট টেক্সট ব্যবহার করার পরামর্শ দিই।
সমস্ত এক্সটেনশনের জন্য, আপনার ব্যবহারকারীদের তাদের ইনস্টল করা এক্সটেনশন নিরীক্ষণ করতে সাহায্য করার জন্য নিম্নলিখিত বিভাগটি অন্তর্ভুক্ত করুন:
Monitoring
As a best practice, you can
[monitor the activity](https://firebase.google.com/docs/extensions/manage-installed-extensions_community#monitor)
of your installed extension, including checks on its health, usage, and logs.
কীভাবে একটি এক্সটেনশন ট্রিগার করতে হয় তা নথিভুক্ত করা
আপনার এক্সটেনশনের ব্যবহারকারী ডকুমেন্টেশনে, আপনাকে আপনার ব্যবহারকারীদের নির্দেশ দিতে হবে কিভাবে আপনার এক্সটেনশন ট্রিগার করতে হয়। এই নির্দেশাবলী আপনি যতটা প্রয়োজন মনে করেন ততটা বিস্তারিত হতে পারে, তবে একটি POSTINSTALL
ফাইল লেখার জন্য সর্বোত্তম অনুশীলনগুলি মনে রাখবেন। কিভাবে এই নির্দেশাবলী প্রদান করতে হয় তার নির্দেশনার জন্য, নীচের বিভাগটি প্রসারিত করুন যা আপনার এক্সটেনশনে প্রযোজ্য।
আপনার ব্যবহারকারীরা জড়িত পণ্যগুলির উপর নির্ভর করে বিভিন্ন উপায়ে একটি ব্যাকগ্রাউন্ড ইভেন্ট-ট্রিগার করা এক্সটেনশন ট্রিগার করতে পারে।
কনসোলে সরাসরি পরিবর্তন করুন
আপনি আপনার ব্যবহারকারীদের সরাসরি Firebase কনসোলে এক্সটেনশন-ট্রিগারিং পরিবর্তন করতে নির্দেশ দিতে পারেন, বিশেষ করে তাদের আপনার এক্সটেনশনের প্রাথমিক পরীক্ষার জন্য। উদাহরণস্বরূপ, বলুন যে যখনই একটি নতুন Firebase Authentication ব্যবহারকারী তৈরি করা হয় তখন আপনার এক্সটেনশন একটি নতুন Cloud Firestore নথি তৈরি করে৷ আপনি কনসোলে ম্যানুয়ালি একটি নতুন Authentication ব্যবহারকারী যোগ করে আপনার এক্সটেনশনের একটি ইনস্টল করা উদাহরণ পরীক্ষা করার জন্য আপনার ব্যবহারকারীদের নির্দেশ দিতে পারেন। তারপরে তারা কনসোলের Cloud Firestore বিভাগে তৈরি করা নতুন নথিটি পর্যবেক্ষণ করতে পারে।
ক্লায়েন্ট-সাইড কোড যোগ করুন
প্রযোজ্য হলে, আপনি আপনার ব্যবহারকারীদের নির্দেশ দিতে পারেন কিভাবে আপনার এক্সটেনশন ট্রিগার করতে ক্লায়েন্ট-সাইড কোড যোগ করতে হয়। আপনার ব্যবহারকারীদের API-এর জন্য অফিসিয়াল ডকুমেন্টেশনে নির্দেশ দেওয়া উচিত যা তাদের ব্যবহার করতে হবে। আপনি আপনার ব্যবহারকারীদের তাদের অ্যাপে এক্সটেনশন সংহত করতে সাহায্য করার জন্য নমুনা অ্যাপ্লিকেশন বা সংকলিত ক্লায়েন্টের নমুনাগুলিও অন্তর্ভুক্ত করতে পারেন (উদাহরণের জন্য ডিস্ট্রিবিউটেড কাউন্টার এক্সটেনশন পড়ুন)।
যাতে আপনার ব্যবহারকারীরা একটি HTTP রিকোয়েস্ট-ট্রিগারড ফাংশন ট্রিগার করতে পারে (এবং এইভাবে এক্সটেনশন), আপনাকে তাদের স্থাপন করা ফাংশনের নাম বা এর URL প্রদান করতে হবে।
চূড়ান্ত নিয়োজিত ফাংশনের নামটি extension.yaml
মধ্যে ফাংশনের রিসোর্স অবজেক্টে যে name
উল্লেখ করেছেন তার মতো নয়। একটি প্রজেক্টে একই এক্সটেনশনের একাধিক ইন্সটল সামঞ্জস্য করতে, ফায়ারবেস এই ফর্ম্যাটে ফাংশনটির নাম পরিবর্তন করে:ext- extension-instance-id - function-name
।
নিম্নলিখিত বুলেটগুলিকে আপনার এক্সটেনশনের POSTINSTALL
ফাইলে অন্তর্ভুক্ত করার জন্য বয়লারপ্লেট পাঠ্যের প্রস্তাব দেওয়া হয়েছে৷ ইনস্টলেশনের পরে, Firebase কনসোল POSTINSTALL
ফাইলের বিষয়বস্তু প্রদর্শন করে এবং ইনস্টল করা উদাহরণের জন্য প্রকৃত কনফিগার করা মানগুলির সাথে এই রেফারেন্সগুলি পূরণ করে। উদাহরণস্বরূপ, যদি আপনি yourFunction
নামে একটি ফাংশন সংজ্ঞায়িত করেন তবে আপনি নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে পারেন (প্রযোজ্য হিসাবে):
HTTP
onRequest
ফাংশনের জন্যTo trigger this extension, make a request to or visit the following URL: **`${function:yourFunction.url}`**.
HTTP কলযোগ্য (
onCall
) ফাংশনের জন্যThis extension is implemented as an HTTP callable function. To call it from your client app, follow the instructions in the [callable functions documentation](https://firebase.google.com/docs/functions/callable#call_the_function). The name of the function to call is **`${function:yourFunction.name}`**, and its region is **`${function:yourFunction.location}`**.
একটি CHANGELOG ফাইল লেখা
এই ফাইলে কি বিষয়বস্তু আছে?
প্রতিটি এক্সটেনশনে অবশ্যই একটি CHANGELOG.md
ফাইল থাকতে হবে যা আপনার প্রকাশ করা আপনার এক্সটেনশনের প্রতিটি নতুন সংস্করণে অন্তর্ভুক্ত পরিবর্তনগুলি নথিভুক্ত করে৷ প্রতিটি সংস্করণকে লেভেল 2 হেডারের নিচে রাখুন ( ##
); অন্যথায়, আপনি আপনার পছন্দ মতো মার্কডাউন ফর্ম্যাটিং ব্যবহার করতে পারেন।
নিম্নলিখিত উদাহরণটি অফিসিয়াল এক্সটেনশনগুলির একটি থেকে একটি উদ্ধৃতি:
## Version 0.1.3 feature - Support deletion of directories (issue #148). ## Version 0.1.2 feature - Add a new param for recursively deleting subcollections in Cloud Firestore (issue #14). fixed - Fixed "cold start" errors experienced when the extension runs after a period of inactivity (issue #48). ## Version 0.1.1 Initial release of the _Delete User Data_ extension.
এই বিষয়বস্তু ব্যবহারকারীর কাছে কোথায় প্রদর্শন করে?
- Firebase কনসোল এবং CLI-এ, যখন ব্যবহারকারীরা আপনার এক্সটেনশনের নতুন সংস্করণে আপগ্রেড করেন। Firebase কনসোল এবং CLI শুধুমাত্র সেই পরিবর্তনগুলি প্রদর্শন করে যা ব্যবহারকারী আপগ্রেড সম্পূর্ণ করলে কার্যকর হবে।
- আপনার এক্সটেনশনের সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)।