Remote Config টেমপ্লেট হলো আপনার ফায়ারবেস প্রোজেক্টের জন্য তৈরি করা JSON-ফরম্যাটের প্যারামিটার এবং শর্তাবলীর একটি সেট। Remote Config কনফিগারেশনগুলোকে টেমপ্লেটে সাজিয়ে রাখে, যেগুলো তৈরি, আপডেট, ভার্সন করা এবং রোলব্যাক করা যায়।
আপনার আর্কিটেকচারের উপর নির্ভর করে, আপনি ক্লায়েন্ট টেমপ্লেট, সার্ভার টেমপ্লেট, অথবা উভয়ই তৈরি ও পরিচালনা করতে পারেন:
ক্লায়েন্ট টেমপ্লেট : অ্যাপল, অ্যান্ড্রয়েড, ওয়েব, ফ্লাটার, ইউনিটি এবং সি++ প্ল্যাটফর্ম জুড়ে ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সগুলিতে কনফিগারেশন সরবরাহ করে। ক্লায়েন্ট টেমপ্লেটগুলি Google Analytics অডিয়েন্স, অ্যাপ সংস্করণ, প্ল্যাটফর্ম, ডিভাইসের ভাষা, দেশ, ব্যবহারকারীর পার্সেন্টাইল এবং কাস্টম সিগন্যালের উপর ভিত্তি করে শর্তাবলী সমর্থন করে।
সার্ভার টেমপ্লেট : Node.js, Python, Go, এবং Java-এর জন্য Firebase Admin SDK ব্যবহার করে Cloud Run , Cloud Functions for Firebase , বা কন্টেইনারাইজড সার্ভারের মতো ব্যাকএন্ড এনভায়রনমেন্টে কনফিগারেশন পরিবেশন করুন। সার্ভার টেমপ্লেটগুলো সার্ভার কাস্টম সিগন্যাল এবং র্যান্ডম পার্সেন্টেজ রোলআউট ব্যবহার করে প্রায়-শূন্য ল্যাটেন্সিতে সার্ভার-সাইডে প্যারামিটার মূল্যায়ন করে।
ক্লায়েন্ট এবং সার্ভার টেমপ্লেট তুলনা করুন
আপনার ফায়ারবেস প্রোজেক্টের মধ্যে ক্লায়েন্ট এবং সার্ভার টেমপ্লেটগুলো আলাদাভাবে রক্ষণাবেক্ষণ করা হয়। ক্লায়েন্ট এবং সার্ভার টেমপ্লেটগুলোর মধ্যে পার্থক্য বুঝতে নিচের সারণিটি ব্যবহার করুন:
| বৈশিষ্ট্য | ক্লায়েন্ট টেমপ্লেট | সার্ভার টেমপ্লেট |
|---|---|---|
| লক্ষ্য পরিবেশ | ক্লায়েন্ট অ্যাপস (অ্যাপল, অ্যান্ড্রয়েড, ওয়েব, ফ্লাটার, ইউনিটি, সি++) | সার্ভার পরিবেশ ( Cloud Run , Cloud Functions for Firebase , GKE , ব্যাকএন্ড পরিষেবা) |
| সমর্থিত SDK-গুলি | ফায়ারবেস ক্লায়েন্ট এসডিকে | Firebase Admin SDK (নোড.জেএস, পাইথন, গো, জাভা) |
| ব্যবস্থাপনা সরঞ্জাম | Firebase কনসোল, Firebase সিএলআই, রেস্ট এপিআই, Firebase Admin SDK | Firebase কনসোল |
| কনসোল অবস্থান | প্যারামিটার এবং শর্তাবলী | প্যারামিটার এবং শর্তাবলী |
| টেমপ্লেট ডিফল্ট ডাউনলোড | সমর্থিত (অ্যান্ড্রয়েডের জন্য XML, iOS-এর জন্য PLIST, ওয়েবের জন্য JSON) | প্রযোজ্য নয় (ডিফল্ট মান সার্ভার কোড বা ব্যাকএন্ডে সংজ্ঞায়িত করা আছে) |
| বিস্তারিত নির্দেশিকা | ক্লায়েন্ট টেমপ্লেট পরিচালনা করুন | সার্ভার টেমপ্লেট পরিচালনা করুন |
টেমপ্লেট জীবনচক্র এবং সংস্করণ
আপনি ক্লায়েন্ট টেমপ্লেট বা সার্ভার টেমপ্লেট, যা নিয়েই কাজ করুন না কেন, Remote Config অন্তর্নির্মিত ভার্সন কন্ট্রোল এবং লাইফসাইকেল ম্যানেজমেন্ট প্রদান করে:
সংস্করণ তৈরি এবং ট্র্যাকিং
প্রতিবার আপনি প্যারামিটার বা শর্তাবলী আপডেট করার সময়, Remote Config একটি নতুন ভার্সনযুক্ত Remote Config টেমপ্লেট তৈরি করে এবং পূর্ববর্তী টেমপ্লেটটিকে এমন একটি ভার্সন হিসেবে সংরক্ষণ করে যা আপনি প্রয়োজন অনুযায়ী পুনরুদ্ধার করতে বা আগের অবস্থায় ফিরে যেতে পারেন। Remote Config দ্বারা সংরক্ষিত প্রাথমিক মান থেকে ভার্সন নম্বরগুলো ক্রমানুসারে বৃদ্ধি পায়।
সমস্ত টেমপ্লেটে একটি version ফিল্ড থাকে, যেখানে সেই নির্দিষ্ট ভার্সন সম্পর্কিত মেটাডেটা থাকে, যেমন:
-
versionNumber: টেমপ্লেটটির ক্রমিক সংস্করণ নম্বর। -
updateTime: টেমপ্লেটটি প্রকাশিত হওয়ার সময়। -
updateUser: যে ব্যবহারকারী আপডেটটি করেছেন, তাঁর ইমেল বা পরিচয়। -
updateOrigin: পরিবর্তনটি কীভাবে করা হয়েছে (উদাহরণস্বরূপ,CONSOLE,REST_API, বাADMIN_SDK_NODE)। -
updateType: পরিবর্তনের প্রকৃতি (উদাহরণস্বরূপ,INCREMENTAL_UPDATEবাFORCED_UPDATE)।
সংস্করণের সীমাবদ্ধতা এবং সংরক্ষণ
প্রতিটি টেমপ্লেট টাইপের জন্য আজীবন মোট ৩০০টি ভার্সন সংরক্ষণ করা যায় (৩০০টি ক্লায়েন্ট টেমপ্লেট এবং ৩০০টি সার্ভার টেমপ্লেট), যার মধ্যে মুছে ফেলা টেমপ্লেটগুলোর সংরক্ষিত ভার্সন নম্বরও অন্তর্ভুক্ত। যদি আপনি একটি প্রজেক্টের জীবনকালে প্রতি টেমপ্লেট টাইপের জন্য ৩০০টির বেশি ভার্সন প্রকাশ করেন, তবে সবচেয়ে পুরোনো ভার্সনগুলো মুছে ফেলা হয়, ফলে সেই টাইপের সর্বোচ্চ ৩০০টি ভার্সন বজায় থাকে।
রোলব্যাক
আপনি যেকোনো সময় একটি টেমপ্লেটের যেকোনো সংরক্ষিত সংস্করণে ফিরে যেতে পারেন। আপনি যখন ফিরে যান, Remote Config একটি নতুন সংস্করণ তৈরি করে যার বিষয়বস্তু নির্বাচিত পূর্ববর্তী সংস্করণের সাথে মেলে। উদাহরণস্বরূপ, সংস্করণ ১০ থেকে সংস্করণ ৬-এ ফিরে গেলে সংস্করণ ৬-এর কনফিগারেশন সহ সংস্করণ ১১ তৈরি হয়।
আমদানি ও রপ্তানি
আপনি আপনার সক্রিয় টেমপ্লেটটি একটি JSON ফাইল হিসাবে ডাউনলোড করে একই প্রজেক্টে বা অন্য কোনো প্রজেক্টে প্রকাশ করতে পারেন। এই সুবিধাটি আপনাকে নিম্নলিখিত কাজগুলো করতে দেয়:
- টেমপ্লেট সংজ্ঞাগুলো সোর্স কন্ট্রোলে (যেমন গিট) সংরক্ষণ করুন।
- কনফিগারেশন ডেপ্লয়মেন্টগুলোকে CI/CD পাইপলাইনে একীভূত করুন।
- বিভিন্ন পর্যায় জুড়ে কনফিগারেশন উন্নীত করুন (উদাহরণস্বরূপ, একটি উন্নয়ন বা স্টেজিং প্রকল্প থেকে প্রোডাকশনে)।
- প্রজেক্টগুলোর মধ্যে কনফিগারেশন স্থানান্তর করুন।
A/B Testing এক্সপেরিমেন্টে ভ্যারিয়েন্ট হিসেবে বিশেষভাবে তৈরি করা প্যারামিটার এবং প্যারামিটার ভ্যালুগুলো এক্সপোর্ট করা টেমপ্লেটে অন্তর্ভুক্ত করা হয় না।
টেমপ্লেট ডিফল্ট
ক্লায়েন্ট অ্যাপ্লিকেশনগুলির জন্য, আপনি আপনার অ্যাপের সাথে বান্ডল করার উদ্দেশ্যে XML, PLIST, বা JSON ফরম্যাটে প্যারামিটারের ডিফল্ট মান সম্বলিত ফাইলগুলি ডাউনলোড করতে পারেন। নির্দেশাবলীর জন্য, Remote Config টেমপ্লেট ডিফল্ট ডাউনলোড করুন’ দেখুন।
পরবর্তী পদক্ষেপ
- ক্লায়েন্ট টেমপ্লেট : Remote Config ক্লায়েন্ট টেমপ্লেট এবং ভার্সনিং পরিচালনা’ অংশে জানুন কীভাবে ক্লায়েন্ট টেমপ্লেট পরিচালনা, ভার্সন, ডাউনলোড এবং প্রকাশ করতে হয়।
- সার্ভার টেমপ্লেট : Remote Config সার্ভার টেমপ্লেট এবং ভার্সনিং পরিচালনা’ অংশে সার্ভার টেমপ্লেট কীভাবে পরিচালনা, ভার্সন এবং প্রকাশ করতে হয় তা জানুন।
- প্যারামিটার এবং শর্তাবলী : Remote Config প্যারামিটার এবং শর্তাবলী ওভারভিউ- তে জানুন প্যারামিটার এবং শর্তাবলী কীভাবে কাজ করে।
- আপডেট স্বয়ংক্রিয় করুন : 'প্রোগ্রামেটিকভাবে Remote Config পরিবর্তন করুন' অংশে জানুন কীভাবে প্রোগ্রামেটিকভাবে টেমপ্লেট পরিবর্তন করতে হয়।