| টেমপ্লেটের ধরন বেছে নিন: | ক্লায়েন্ট টেমপ্লেট সার্ভার টেমপ্লেট |
Remote Config টেমপ্লেট হল JSON-ফর্ম্যাট করা প্যারামিটার এবং আপনার Firebase প্রোজেক্টের জন্য তৈরি করা শর্তের সেট। ক্লায়েন্ট টেমপ্লেট, Remote Config-এর জন্য Firebase ক্লায়েন্ট SDK প্রয়োগ করে এমন অ্যাপ ইনস্ট্যান্সে কনফিগারেশন প্রদান করে, যার মধ্যে Apple, Android, Web, Flutter, Unity ও C++ অ্যাপ অন্তর্ভুক্ত।
আপনার ক্লায়েন্ট টেমপ্লেট পরিবর্তন ও ম্যানেজ করতে Firebase কনসোল ব্যবহার করতে পারবেন। DevOps ও এনগেজমেন্ট > রিমোট কনফিগ বিকল্পে গিয়ে প্যারামিটার পৃষ্ঠা এবং শর্তাবলী পৃষ্ঠা-এ গ্রাফিক্যাল ফর্ম্যাটে টেমপ্লেটের কন্টেন্ট দেখুন।
এছাড়াও, আপনি Remote Config REST API এবং Admin SDK অথবা Firebase CLI ব্যবহার করে আপনার ক্লায়েন্ট টেমপ্লেট পরিবর্তন ও ম্যানেজ করতে পারবেন।
এখানে ক্লায়েন্ট টেমপ্লেট ফাইলের একটি উদাহরণ দেওয়া হল:
{
"conditions": [
{
"name": "ios",
"expression": "device.os == 'ios'"
}
],
"parameters": {
"welcome_message": {
"defaultValue": {
"value": "Welcome to this sample app"
},
"conditionalValues": {
"ios": {
"value": "Welcome to this sample iOS app"
}
}
},
"welcome_message_caps": {
"defaultValue": {
"value": "false"
}
},
"header_text": {
"defaultValue": {
"useInAppDefault": true
}
}
},
"version": {
"versionNumber": "28",
"updateTime": "2020-05-14T18:39:38.994Z",
"updateUser": {
"email": "user@google.com"
},
"updateOrigin": "CONSOLE",
"updateType": "INCREMENTAL_UPDATE"
}
}
আপনি Firebase কনসোল থেকে এইসব ভার্সন ম্যানেজমেন্ট টাস্ক করতে পারবেন (DevOps ও এনগেজমেন্ট > রিমোট কনফিগ বিকল্পে নেভিগেট করুন):
- স্টোর করা সব টেমপ্লেট ভার্সনের তালিকা তৈরি করুন
- নির্দিষ্ট ভার্সন ফিরিয়ে আনা
- নির্দিষ্ট ক্লায়েন্ট ভার্সনে ফিরে যান
- পরিবর্তনের ইতিহাস পৃষ্ঠা থেকে Remote Configটি টেমপ্লেট মুছুন।
এছাড়াও, আপনি Firebase CLI এবং Remote Config ব্যাকএন্ড API ব্যবহার করে টেমপ্লেটের তালিকা তৈরি, টেমপ্লেট ফিরিয়ে আনা এবং টেমপ্লেট রোল ব্যাক করতে পারবেন।
প্রতিটি টেমপ্লেটের ধরনের জন্য লাইফটাইম স্টোর করা ভার্সনের মোট সীমা হল ৩০০ (৩০০টি ক্লায়েন্ট টেমপ্লেট এবং ৩০০টি সার্ভার টেমপ্লেট), যার মধ্যে মুছে ফেলা টেমপ্লেটের জন্য স্টোর করা ভার্সন নম্বর অন্তর্ভুক্ত রয়েছে। কোনও প্রোজেক্টের লাইফটাইমে আপনি যদি প্রতি টেমপ্লেট টাইপে ৩০০টির বেশি টেমপ্লেট ভার্সন প্রকাশ করেন, তাহলে সবচেয়ে পুরনো ভার্সনগুলি মুছে ফেলা হয় এবং সেই ধরনের সর্বাধিক ৩০০টি ভার্সন বজায় রাখা হয়।
আপনি যতবার প্যারামিটার আপডেট করেন, ততবার Remote Config একটি
নতুন ভার্সনযুক্ত Remote Config টেমপ্লেট তৈরি করে এবং আগের টেমপ্লেটটি
একটি ভার্সন হিসেবে স্টোর করে যা আপনি প্রয়োজন অনুযায়ী ফিরিয়ে আনতে বা রোল ব্যাক করতে পারবেন। Remote Config-এর মাধ্যমে সেভ করা প্রাথমিক ভ্যালু থেকে
ভার্সন নম্বর ক্রমানুসারে বাড়ানো হয়।
সব টেমপ্লেটে দেখানো অনুযায়ী একটি version ফিল্ড থাকে, যাতে সেই নির্দিষ্ট ভার্সন সম্পর্কে মেটাডেটা থাকে।
আপনি Firebase কনসোলের DevOps ও এনগেজমেন্ট > Remote Config > ইতিহাস পরিবর্তন করুন পৃষ্ঠা থেকে প্রয়োজন অনুযায়ী Remote Config টেমপ্লেট মুছে দিতে পারবেন।
Remote Config টেমপ্লেট ভার্সন ম্যানেজ করুন
এই বিভাগে আপনার Remote Config টেমপ্লেটের ভার্সন কীভাবে ম্যানেজ করবেন তা বর্ণনা করা হয়েছে।
প্রোগ্রাম্যাটিক্যালি কীভাবে টেমপ্লেট তৈরি, পরিবর্তন ও সেভ করতে হয় সেই সম্পর্কে আরও জানতে, প্রোগ্রাম্যাটিক্যালি Remote Config পরিবর্তন করুন দেখুন।
Remote Config টেমপ্লেটের সব স্টোর করা ভার্সনের তালিকা তৈরি করুন
আপনি Remote Config টেমপ্লেটের সব সেভ করা ভার্সনের তালিকা ফিরিয়ে আনতে পারবেন। এটি করার জন্য:
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > প্যারামিটার পৃষ্ঠায় যান।
উপরে ডানদিকে দেখানো "ঘড়ি" আইকন বেছে নিন।
এটি পরিবর্তনের ইতিহাস পৃষ্ঠা খোলে যেখানে ডানদিকে একটি তালিকা মেনুতে সব সেভ করা টেমপ্লেট ভার্সন দেখানো হয়।
প্রতিটি সেভ করা ভার্সনের জন্য দেখানো বিবরণে এই তথ্য অন্তর্ভুক্ত থাকে যে পরিবর্তনগুলি Firebase কনসোল, REST API, রোলব্যাক থেকে শুরু হয়েছে কিনা বা সেগুলি টেমপ্লেটের জোরপূর্বক সেভ থেকে ক্রমবর্ধমান পরিবর্তন কিনা।
Firebase CLI
firebase remoteconfig:versions:list
কতগুলি ভার্সন ফেরত পাঠানো হবে তা সীমিত করতে --limit বিকল্প ব্যবহার করুন।
সব ভার্সন ফেচ করতে '0' পাস করুন।
Node.js
function listAllVersions() { admin.remoteConfig().listVersions() .then((listVersionsResult) => { console.log("Successfully fetched the list of versions"); listVersionsResult.versions.forEach((version) => { console.log('version', JSON.stringify(version)); }); }) .catch((error) => { console.log(error); }); }
জাভা
ListVersionsPage page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get(); while (page != null) { for (Version version : page.getValues()) { System.out.println("Version: " + version.getVersionNumber()); } page = page.getNextPage(); } // Iterate through all versions. This will still retrieve versions in batches. page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get(); for (Version version : page.iterateAll()) { System.out.println("Version: " + version.getVersionNumber()); }
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:listVersions
টেমপ্লেটের তালিকায় সব সেভ করা ভার্সনের মেটাডেটা থাকে, যার মধ্যে আপডেটের সময়, যে ব্যবহারকারী এটি করেছেন এবং কীভাবে করেছেন তা অন্তর্ভুক্ত থাকে। এখানে ভার্সন এলিমেন্টের একটি উদাহরণ দেওয়া হল:
{
"versions": [{
"version_number": "6",
"update_time": "2022-05-12T02:38:54Z",
"update_user": {
"name": "Jane Smith",
"email": "jane@developer.org",
"imageUrl": "https://lh3.googleusercontent.com/a-/..."
},
"description": "One small change on the console",
"origin": "CONSOLE",
"update_type": "INCREMENTAL_UPDATE"
}]
}
Remote Config টেমপ্লেটের নির্দিষ্ট ভার্সন রিট্রিভ করুন
আপনি Remote Config টেমপ্লেটের যেকোনও নির্দিষ্ট সেভ করা ভার্সন ফিরিয়ে আনতে পারবেন। সেভ করা টেমপ্লেট ভার্সন কীভাবে ফিরিয়ে আনবেন তা এখানে দেওয়া হল:
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > পরিবর্তনের ইতিহাস পৃষ্ঠায় যান।
ডিফল্ট হিসেবে, পৃষ্ঠায় বর্তমানে অ্যাক্টিভ থাকা টেমপ্লেট দেখানো হয়। অন্য কোনও ভার্সন দেখতে, ডানদিকে বিশদ বিবরণ ফলক থেকে সেটি বেছে নিন।
অ্যাক্টিভ টেমপ্লেট এবং অন্য যেকোনও সেভ করা ভার্সনের মধ্যে বিস্তারিত পার্থক্য দেখতে, বেছে নেওয়া হয়নি এমন যেকোনও ভার্সনের জন্য সংশ্লিষ্ট মেনুর উপর মাউস নিয়ে যান এবং বেছে নেওয়া ভার্সনের সাথে তুলনা করুন বিকল্প বেছে নিন।
Firebase CLI
firebase remoteconfig:get -v VERSION_NUMBER
বিকল্প হিসেবে, আপনি -o, FILENAME ব্যবহার করে নির্দিষ্ট ফাইলে আউটপুট লিখতে পারেন।
Node.js
টেমপ্লেটের লেটেস্ট ভার্সন পেতে, কোনও আর্গুমেন্ট ছাড়াই
getTemplate পাস করুন
অথবা নির্দিষ্ট কোনও ভার্সন পেতে, getTemplateAtVersion ব্যবহার করুন।
// Get template version: 6 admin.remoteConfig().getTemplateAtVersion('6') .then((template) => { console.log("Successfully fetched the template with ETag: " + template.etag); }) .catch((error) => { console.log(error); });
জাভা
Template template = FirebaseRemoteConfig.getInstance().getTemplateAtVersionAsync(versionNumber).get(); // See the ETag of the fetched template. System.out.println("Successfully fetched the template with ETag: " + template.getETag());
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?version_number=6
URL প্যারামিটার ?version_number শুধুমাত্র GET অপারেশনের জন্য বৈধ;
আপডেটের জন্য ভার্সন নম্বর উল্লেখ করতে আপনি এটি ব্যবহার করতে পারবেন না। ?version_number
প্যারামিটার ছাড়া একই ধরনের get
অনুরোধ বর্তমান অ্যাক্টিভ টেমপ্লেট ফিরিয়ে আনবে।
Remote Config টেমপ্লেটের নির্দিষ্ট সেভ করা ভার্সনে ফিরে যান
আপনি টেমপ্লেটের যেকোনও সেভ করা ভার্সনে ফিরে যেতে পারবেন। টেমপ্লেট কীভাবে আগের ভার্সনে ফিরিয়ে আনবেন:
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > পরিবর্তনের ইতিহাস পৃষ্ঠায় যান।
রোলব্যাক করার জন্য উপযুক্ত আগের টেমপ্লেট ভার্সনের জন্য পৃষ্ঠার উপরে ডানদিকে বিকল্প বোতামটি খুঁজুন।
আপনি যদি নিশ্চিত হন যে আপনি সেই ভার্সনে ফিরে যেতে চান এবং সমস্ত অ্যাপ এবং ব্যবহারকারীর জন্য অবিলম্বে সেই ভ্যালুগুলি ব্যবহার করতে চান, তাহলেই এটি ক্লিক করে কনফার্ম করুন।
Firebase CLI
firebase remoteconfig:rollback -v VERSION_NUMBER
Node.js
// Roll back to template version: 6
admin.remoteConfig().rollback('6')
.then((template) => {
console.log("Successfully rolled back to template version 6.");
console.log("New ETag: " + template.etag);
})
.catch((error) => {
console.log('Error trying to rollback:', e);
})
জাভা
try { Template template = FirebaseRemoteConfig.getInstance().rollbackAsync(versionNumber).get(); System.out.println("Successfully rolled back to template version: " + versionNumber); System.out.println("New ETag: " + template.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Error trying to rollback template."); System.out.println(rcError.getMessage()); } }
REST
সেভ করা Remote Config টেমপ্লেটে ফিরে যেতে, কাস্টম পদ্ধতি :rollback-এর সাথে HTTP POST ইস্যু করুন এবং অনুরোধের বডিতে, প্রয়োগ করার জন্য নির্দিষ্ট ভার্সন উল্লেখ করুন। যেমন:
curl --compressed -D headers -H "Authorization: Bearer token" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:rollback -d '{"version_number": 6}'উত্তরে এখন-অ্যাক্টিভ স্টোর করা টেমপ্লেটের কন্টেন্ট থাকে, সাথে এর নতুন ভার্সন মেটাডেটা।
মনে রাখবেন যে এই রোলব্যাক অপারেশন কার্যকরভাবে একটি নতুন নম্বরযুক্ত ভার্সন তৈরি করে। যেমন, ভার্সন ১০ থেকে ভার্সন ৬-এ রোল ব্যাক করলে ভার্সন ৬-এর একটি নতুন কপি তৈরি হয়, যা আসল ভার্সন থেকে শুধু এইটুকু আলাদা যে এর ভার্সন নম্বর হল ১১। আসল ভার্সন 6 এখনও স্টোর করা আছে, ধরে নেওয়া হচ্ছে যে এটির মেয়াদ শেষ হয়নি এবং ভার্সন 11 অ্যাক্টিভ টেমপ্লেট হয়ে গেছে।
Remote Config টেমপ্লেট মুছুন
আপনি Firebase কনসোল ব্যবহার করে Remote Config টেমপ্লেট মুছে দিতে পারবেন। টেমপ্লেট কীভাবে মুছবেন তা এখানে দেওয়া হল:
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > প্যারামিটার পৃষ্ঠায় যান।
ইতিহাস পরিবর্তন করুন বিকল্পে ক্লিক করুন।আপনি যে টেমপ্লেট মুছে ফেলতে চান, সেটিতে টগল করে
আরও বিকল্পে ক্লিক করুন, তারপর মুছুন বিকল্প বেছে নিন।মুছে ফেলার জন্য কনফার্ম করতে বলা হলে, মুছুন বিকল্পে ক্লিক করুন।
Remote Configটি টেমপ্লেট ডাউনলোড ও প্রকাশ করুন
আপনার সোর্স কন্ট্রোল ও বিল্ড সিস্টেমে ইন্টিগ্রেট করতে, কনফিগারেশন আপডেট অটোমেট করতে এবং একাধিক প্রোজেক্ট জুড়ে প্যারামিটার ও ভ্যালু সিঙ্ক করে রাখতে Remote Config টেমপ্লেট ডাউনলোড ও প্রকাশ করুন।
আপনি বর্তমানে অ্যাক্টিভ Remote Config টেমপ্লেট প্রোগ্রাম্যাটিক্যালি বা Firebase কনসোল থেকে ডাউনলোড করতে পারবেন। তারপর আপনি এক্সপোর্ট করা JSON ফাইল আপডেট করতে এবং একই প্রোজেক্টে প্রকাশ করতে পারবেন অথবা নতুন বা আগে থেকে থাকা প্রোজেক্টে প্রকাশ করতে পারবেন।
যেমন, ধরুন আপনার একাধিক প্রোজেক্ট আছে যা আপনার সফ্টওয়্যার ডেভেলপমেন্ট লাইফসাইকেলের বিভিন্ন পর্যায়কে উপস্থাপন করে, যেমন ডেভেলপমেন্ট, টেস্ট, স্টেজিং এবং প্রোডাকশন এনভায়রনমেন্ট। এই ক্ষেত্রে, আপনি স্টেজিং প্রোজেক্ট থেকে ডাউনলোড করে এবং প্রোডাকশন প্রোজেক্টে প্রকাশ করে আপনার স্টেজিং এনভায়রনমেন্ট থেকে প্রোডাকশন এনভায়রনমেন্টে সম্পূর্ণভাবে পরীক্ষা করা টেমপ্লেট প্রোমোট করতে পারেন।
এছাড়াও, আপনি এই পদ্ধতি ব্যবহার করে একটি প্রোজেক্ট থেকে অন্য প্রোজেক্টে কনফিগারেশন মাইগ্রেট করতে পারেন অথবা প্রতিষ্ঠিত প্রোজেক্ট থেকে প্যারামিটার ও ভ্যালু নিয়ে নতুন প্রোজেক্টে অটো-ফিল করতে পারেন।
A/B Testing এক্সপেরিমেন্টে বিশেষভাবে ভ্যারিয়েন্ট হিসেবে তৈরি করা প্যারামিটার ও প্যারামিটারের মান এক্সপোর্ট করা টেমপ্লেটে অন্তর্ভুক্ত করা হয় না।
Remote Config টেমপ্লেট এক্সপোর্ট ও ইমপোর্ট করতে:
- বর্তমান Remote Config টেমপ্লেট ডাউনলোড করুন।
- Remote Config টেমপ্লেট যাচাই করুন।
- Remote Config টেমপ্লেট প্রকাশ করুন।
বর্তমান Remote Config টেমপ্লেট ডাউনলোড করুন
JSON ফর্ম্যাটে অ্যাক্টিভ Remote Config টেমপ্লেট ডাউনলোড করতে নিম্নলিখিত পদ্ধতি অনুসরণ করুন:
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > প্যারামিটার বা শর্ত পৃষ্ঠায় যান।
মেনু খুলুন এবং বর্তমান কনফিগারেশন ফাইল ডাউনলোড করুন বিকল্প বেছে নিন।প্রম্পট করা হলে, কনফিগারেশন ফাইল ডাউনলোড করুন বিকল্পে ক্লিক করুন, আপনি যেখানে ফাইলটি সেভ করতে চান সেই লোকেশন বেছে নিন, তারপর সেভ করুন বিকল্পে ক্লিক করুন।
Firebase CLI
firebase remoteconfig:get -o filename
Node.js
function getTemplate() { var config = admin.remoteConfig(); config.getTemplate() .then(function (template) { console.log('ETag from server: ' + template.etag); var templateStr = JSON.stringify(template); fs.writeFileSync('config.json', templateStr); }) .catch(function (err) { console.error('Unable to get template'); console.error(err); }); }
জাভা
Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get(); // See the ETag of the fetched template. System.out.println("ETag from server: " + template.getETag());
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename
এই কমান্ড JSON পেলোডকে একটি ফাইলে এবং হেডারকে (ETag সহ)
আলাদা headers ফাইলে আউটপুট করে।
Remote Config টেমপ্লেট যাচাই করুন
আপনি Firebase Admin SDK বা REST API ব্যবহার করে টেমপ্লেট আপডেট প্রকাশ করার আগে তা যাচাই করতে পারবেন। আপনি Firebase CLI বা Firebase কনসোল থেকে প্রকাশ করার চেষ্টা করলে টেমপ্লেটও যাচাই করা হয়।
টেমপ্লেট যাচাইকরণ প্রসেস প্যারামিটার ও শর্তের জন্য ডুপ্লিকেট কী, ভুল শর্তের নাম বা অস্তিত্বহীন শর্ত অথবা
ভুল ফর্ম্যাটের ETag-এর মতো ভুল চেক করে। যেমন, অনুমোদিত সংখ্যার চেয়ে বেশি কী—২০০০—আছে এমন অনুরোধের ক্ষেত্রে
সমস্যা সংক্রান্ত মেসেজ, Param count too
large দেখানো হবে।
Node.js
function validateTemplate(template) { admin.remoteConfig().validateTemplate(template) .then(function (validatedTemplate) { // The template is valid and safe to use. console.log('Template was valid and safe to use'); }) .catch(function (err) { console.error('Template is invalid and cannot be published'); console.error(err); }); }
জাভা
try { Template validatedTemplate = FirebaseRemoteConfig.getInstance() .validateTemplateAsync(template).get(); System.out.println("Template was valid and safe to use"); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Template is invalid and cannot be published"); System.out.println(rcError.getMessage()); } }
REST
আপনার প্রকাশ করার অনুরোধে URL প্যারামিটার
?validate_only=true যোগ করে টেমপ্লেট আপডেট যাচাই করুন:
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?validate_only=true -d @filename
আপনার টেমপ্লেট সঠিকভাবে যাচাই করা হলে, curl কমান্ড আপনার জমা দেওয়া JSON টেমপ্লেট
ফেরত পাঠায় এবং সেভ করা headers ফাইলে আপনি
HTTP/2 স্ট্যাটাস ২০০ এবং -0 সাফিক্স সহ আপডেট করা ETag দেখতে পাবেন। আপনার
টেমপ্লেট যাচাই করা না হলে, আপনি JSON রেসপন্সে যাচাইকরণ সংক্রান্ত সমস্যা দেখতে পাবেন
এবং আপনার headers ফাইলে ২০০-নয় এমন রেসপন্স
(এবং কোনও ETag নেই) থাকবে।
Remote Config টেমপ্লেট প্রকাশ করুন
টেমপ্লেট ডাউনলোড করার পরে, JSON কন্টেন্টে প্রয়োজনীয় পরিবর্তন করে এবং সেটি যাচাই করে, আপনি কোনও প্রোজেক্টে এটি প্রকাশ করতে পারবেন।
টেমপ্লেট প্রকাশ করলে, আগে থেকে থাকা সম্পূর্ণ কনফিগারেশন টেমপ্লেট আপডেট করা ফাইলের সাথে প্রতিস্থাপিত হয় এবং টেমপ্লেটের ভার্সন এক ধাপ বৃদ্ধি পায়। যেহেতু সম্পূর্ণ কনফিগারেশন পরিবর্তন করা হয়, তাই আপনি JSON ফাইল থেকে কোনও প্যারামিটার মুছে দিয়ে সেটি প্রকাশ করলে, প্যারামিটারটি সার্ভার থেকে মুছে যায় এবং ক্লায়েন্টদের জন্য আর উপলভ্য থাকে না।
প্রকাশ করার পরে, প্যারামিটার এবং ভ্যালুতে করা পরিবর্তনগুলি আপনার অ্যাপ এবং ব্যবহারকারীদের জন্য অবিলম্বে উপলভ্য হবে। প্রয়োজন হলে, আপনি আগের ভার্সনে ফিরে যেতে পারবেন।
আপনার টেমপ্লেট প্রকাশ করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > প্যারামিটার বা শর্ত পৃষ্ঠায় যান।
মেনু খুলুন এবং ফাইল থেকে প্রকাশ করুন বিকল্প বেছে নিন।প্রম্পট করা হলে, ব্রাউজ করুন বিকল্পে ক্লিক করুন, নেভিগেট করে আপনি যে Remote Config ফাইল প্রকাশ করতে চান সেটি বেছে নিন, তারপর বেছে নিন বিকল্পে ক্লিক করুন।
Firebase ফাইলটি যাচাই করে। যাচাইকরণ সফল হলে, আপনার অ্যাপ ও ব্যবহারকারীদের জন্য কনফিগারেশন অবিলম্বে উপলভ্য করতে প্রকাশ করুন বিকল্পে ক্লিক করুন।
Node.js
function publishTemplate() { var config = admin.remoteConfig(); var template = config.createTemplateFromJSON( fs.readFileSync('config.json', 'UTF8')); config.publishTemplate(template) .then(function (updatedTemplate) { console.log('Template has been published'); console.log('ETag from server: ' + updatedTemplate.etag); }) .catch(function (err) { console.error('Unable to publish template.'); console.error(err); }); }
জাভা
try { Template publishedTemplate = FirebaseRemoteConfig.getInstance() .publishTemplateAsync(template).get(); System.out.println("Template has been published"); // See the ETag of the published template. System.out.println("ETag from server: " + publishedTemplate.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Unable to publish template."); System.out.println(rcError.getMessage()); } }
REST
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename
এই curl কমান্ডের জন্য, আপনি "@" অক্ষর ব্যবহার করে কন্টেন্ট নির্দিষ্ট করতে পারেন, তারপরে ফাইলের নাম লিখুন।
ডাউনলোড করা টেমপ্লেটে Remote Configটি পছন্দমতো পরিবর্তন ও শর্ত অন্তর্ভুক্ত করা হয়েছে, তাই অন্য কোনও প্রোজেক্টে প্রকাশ করার চেষ্টা করার সময় নিম্নলিখিত সীমাবদ্ধতাগুলি সম্পর্কে সচেতন থাকা গুরুত্বপূর্ণ:
এক প্রোজেক্ট থেকে অন্য প্রোজেক্টে পছন্দমতো সেটিংস ইম্পোর্ট করা যাবে না।
যেমন, আপনার প্রোজেক্টে পছন্দমতো সাজিয়ে নেওয়ার সুবিধা চালু থাকলে এবং আপনি কোনও টেমপ্লেট ডাউনলোড ও এডিট করলে, আপনি সেটি একই প্রোজেক্টে প্রকাশ করতে পারবেন, তবে টেমপ্লেট থেকে পছন্দমতো সাজিয়ে নেওয়ার সুবিধা মুছে না দিলে আপনি সেটি অন্য কোনও প্রোজেক্টে প্রকাশ করতে পারবেন না।
এক প্রোজেক্ট থেকে অন্য প্রোজেক্টে শর্ত ইমপোর্ট করা যেতে পারে, তবে মনে রাখবেন যে কোনও নির্দিষ্ট শর্তসাপেক্ষ ভ্যালু (যেমন অ্যাপ আইডি বা দর্শক), প্রকাশ করার আগে টার্গেট প্রোজেক্টে থাকতে হবে।
যেমন, আপনার কাছে যদি এমন কোনও Remote Config প্যারামিটার থাকে যা এমন কোনও শর্ত ব্যবহার করে যেটি
iOS-এর প্ল্যাটফর্ম ভ্যালু নির্দিষ্ট করে, তাহলে টেমপ্লেটটি অন্য কোনও প্রোজেক্টে প্রকাশ করা যেতে পারে, কারণ যেকোনও প্রোজেক্টের জন্য প্ল্যাটফর্ম ভ্যালু একই থাকে। তবে, এতে যদি এমন কোনও শর্ত থাকে যা নির্দিষ্ট অ্যাপ আইডি বা ব্যবহারকারীর অডিয়েন্সের উপর নির্ভর করে, যা টার্গেট প্রোজেক্টে নেই, তাহলে যাচাইকরণ সম্পূর্ণ হবে না।আপনি যে টেমপ্লেট প্রকাশ করার পরিকল্পনা করছেন তাতে যদি এমন শর্ত থাকে যা Google Analytics-এর উপর নির্ভর করে, তাহলে টার্গেট প্রোজেক্টে Analytics অবশ্যই চালু থাকতে হবে।
Remote Config টেমপ্লেট ডিফল্ট ডাউনলোড করুন
আপনার অ্যাপ সবসময় ইন্টারনেটের সাথে কানেক্ট নাও থাকতে পারে, তাই সব Remote Config প্যারামিটারের জন্য আপনাকে ক্লায়েন্ট-সাইড অ্যাপের ডিফল্ট ভ্যালু কনফিগার করতে হবে। এছাড়াও, আপনার অ্যাপ ক্লায়েন্টের ডিফল্ট ভ্যালু এবং Remote Config ব্যাকএন্ড ডিফল্ট প্যারামিটার ভ্যালু পর্যায়ক্রমে সিঙ্ক করা উচিত, কারণ সময়ের সাথে সাথে এগুলি পরিবর্তিত হতে পারে।
এই বিভাগের শেষে প্ল্যাটফর্ম-নির্দিষ্ট লিঙ্কে যেমন বর্ণনা করা হয়েছে, আপনি নিজের অ্যাপে ম্যানুয়ালি এই ডিফল্টগুলি সেট করতে পারেন অথবা আপনি এমন ফাইল ডাউনলোড করে এই প্রসেসটি স্ট্রিমলাইন করতে পারেন যাতে Remote Config টেমপ্লেটে অ্যাক্টিভ থাকা সমস্ত প্যারামিটার এবং তাদের ডিফল্ট ভ্যালুর জন্য শুধুমাত্র কী-ভ্যালু পেয়ার থাকে। তারপর আপনি এই ফাইলটি আপনার প্রোজেক্টে অন্তর্ভুক্ত করতে এবং এই ভ্যালুগুলি ইমপোর্ট করার জন্য আপনার অ্যাপ কনফিগার করতে পারবেন।
আপনি Android অ্যাপের জন্য XML ফর্ম্যাটে, iOS অ্যাপের জন্য প্রপার্টি লিস্ট (plist) ফর্ম্যাটে এবং ওয়েব অ্যাপের জন্য JSON ফর্ম্যাটে এইসব ফাইল ডাউনলোড করতে পারবেন।
আপনার অ্যাপ এবং Remote Config ব্যাকএন্ড যাতে সিঙ্ক করা থাকে তা নিশ্চিত করতে, কোনও নতুন অ্যাপ রিলিজ করার আগে, পর্যায়ক্রমে Remote Config ডিফল্ট ডাউনলোড করুন।
ডিফল্ট টেমপ্লেট সহ ফাইল কীভাবে ডাউনলোড করবেন তা এখানে দেওয়া হল:
REST
curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=file_format'
আপনি কোন ফাইল ফর্ম্যাট ডাউনলোড করতে চান তার উপর নির্ভর করে format-এর মান হিসেবে XML, PLIST বা JSON ব্যবহার করুন।
Firebase কনসোল
Firebase কনসোলে, DevOps ও এনগেজমেন্ট > রিমোট কনফিগ > প্যারামিটার পৃষ্ঠায় যান।
মেনু খুলে ডিফল্ট ভ্যালু ডাউনলোড করুন বিকল্প বেছে নিন।প্রম্পট করা হলে, আপনি যে ফাইল ফরম্যাট ডাউনলোড করতে চান তার সাথে সম্পর্কিত রেডিও বোতামে ক্লিক করুন এবং তারপরে ফাইল ডাউনলোড করুন বিকল্পে ক্লিক করুন।
আপনার অ্যাপে Remote Config ডিফল্ট ভ্যালু ইমপোর্ট করা সম্পর্কে আরও তথ্য পেতে, দেখুন: