Remote Config টেমপ্লেট হল JSON-ফর্ম্যাট করা প্যারামিটার এবং শর্তাবলীর সেট যা আপনি আপনার Firebase প্রকল্পের জন্য তৈরি করেছেন। আপনি ক্লায়েন্ট টেমপ্লেট তৈরি করতে পারেন, যেখান থেকে আপনার অ্যাপ মান আনে এবং সার্ভার টেমপ্লেট, যেখান থেকে সার্ভার ক্লায়েন্ট মান আনে।
এই বিভাগে ক্লায়েন্ট টেমপ্লেট নিয়ে আলোচনা করা হয়েছে। সার্ভার-নির্দিষ্ট টেমপ্লেট সম্পর্কে জানতে, সার্ভার টেমপ্লেট ক্লিক করুন।আপনি Firebase কনসোল ব্যবহার করে টেমপ্লেটটি সংশোধন এবং পরিচালনা করেন, যা টেমপ্লেটের বিষয়বস্তু গ্রাফিক্যাল ফর্ম্যাটে প্রদর্শন করেপ্যারামিটার এবং শর্তাবলী ট্যাব।
আপনার ক্লায়েন্ট টেমপ্লেটটি পরিবর্তন এবং পরিচালনা করতে আপনি Remote Config REST API এবং অ্যাডমিন SDK অথবা Firebase CLI ব্যবহার করতে পারেন।
এখানে একটি সার্ভার টেমপ্লেট ফাইলের একটি উদাহরণ দেওয়া হল:
{
"parameters": {
"preamble_prompt": {
"defaultValue": {
"value": "You are a helpful assistant who knows everything there is to know about Firebase! "
},
"description": "Add this prompt to the user's prompt",
"valueType": "STRING"
},
"model_name": {
"defaultValue": {
"value": "gemini-pro-test"
},
"valueType": "STRING"
},
"generation_config": {
"defaultValue": {
"value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
},
"valueType": "JSON"
},
},
"version": {
"versionNumber": "19",
"isLegacy": true
}
}
আপনি Firebase কনসোলের সাহায্যে এই সংস্করণ পরিচালনার কাজগুলি সম্পাদন করতে পারেন:
- সমস্ত সংরক্ষিত টেমপ্লেট সংস্করণ তালিকাভুক্ত করুন
- একটি নির্দিষ্ট সংস্করণ পুনরুদ্ধার করুন
- একটি নির্দিষ্ট ক্লায়েন্ট সংস্করণে ফিরে যান
- পরিবর্তন ইতিহাস পৃষ্ঠা থেকে Remote Config টেমপ্লেটগুলি মুছুন
প্রতিটি টেমপ্লেট টাইপের জন্য মোট ৩০০টি আজীবন সঞ্চিত সংস্করণের সীমা রয়েছে (৩০০টি ক্লায়েন্ট টেমপ্লেট এবং ৩০০টি সার্ভার টেমপ্লেট), যার মধ্যে মুছে ফেলা টেমপ্লেটের জন্য সঞ্চিত সংস্করণ সংখ্যা অন্তর্ভুক্ত। যদি আপনি একটি প্রকল্পের জীবদ্দশায় প্রতি টেমপ্লেট টাইপের জন্য ৩০০টিরও বেশি টেমপ্লেট সংস্করণ প্রকাশ করেন, তাহলে প্রথম সংস্করণগুলি মুছে ফেলা হবে, সেই ধরণের সর্বাধিক ৩০০টি সংস্করণ বজায় রাখা হবে।
প্রতিবার যখন আপনি প্যারামিটার আপডেট করেন, তখন Remote Config একটি নতুন সংস্করণযুক্ত Remote Config টেমপ্লেট তৈরি করে এবং পূর্ববর্তী টেমপ্লেটটিকে এমন একটি সংস্করণ হিসাবে সংরক্ষণ করে যা আপনি প্রয়োজন অনুসারে পুনরুদ্ধার করতে বা রোল ব্যাক করতে পারেন। Remote Config দ্বারা সঞ্চিত প্রাথমিক মান থেকে সংস্করণ সংখ্যাগুলি ক্রমানুসারে বৃদ্ধি করা হয়। সমস্ত টেমপ্লেটগুলিতে দেখানো হিসাবে একটি version
ক্ষেত্র অন্তর্ভুক্ত থাকে, যেখানে সেই নির্দিষ্ট সংস্করণ সম্পর্কে মেটাডেটা থাকে।
আপনি প্রয়োজন অনুসারে Remote Config টেমপ্লেটগুলি মুছে ফেলতে পারেনইতিহাস পরিবর্তন করুনRemote Config কনসোলের পৃষ্ঠা।
Remote Config টেমপ্লেট সংস্করণ পরিচালনা করুন
এই বিভাগটি আপনার Remote Config টেমপ্লেটের সংস্করণগুলি কীভাবে পরিচালনা করবেন তা বর্ণনা করে।
Remote Config টেমপ্লেটের সমস্ত সংরক্ষিত সংস্করণ তালিকাভুক্ত করুন
আপনি Remote Config টেমপ্লেটের সমস্ত সংরক্ষিত সংস্করণের একটি তালিকা পুনরুদ্ধার করতে পারেন। এটি করার জন্য:
Firebase কনসোল
প্যারামিটার ট্যাবে, উপরের ডানদিকে প্রদর্শিত "ঘড়ি" আইকনটি নির্বাচন করুন। এটি ডানদিকে একটি তালিকা মেনুতে সমস্ত সংরক্ষিত টেমপ্লেট সংস্করণ তালিকাভুক্ত করে ইতিহাস পরিবর্তন পৃষ্ঠাটি খুলবে।
প্রতিটি সঞ্চিত সংস্করণের জন্য প্রদর্শিত বিবরণে পরিবর্তনগুলি কনসোল দিয়ে, REST API দিয়ে, রোলব্যাক থেকে এসেছে কিনা, নাকি টেমপ্লেটের জোরপূর্বক সংরক্ষণের ফলে ক্রমবর্ধমান পরিবর্তনগুলি এসেছে কিনা সে সম্পর্কে তথ্য অন্তর্ভুক্ত থাকে।
Firebase সিএলআই
firebase remoteconfig:versions:list
ফেরত দেওয়া সংস্করণের সংখ্যা সীমিত করতে --limit
বিকল্পটি ব্যবহার করুন। সমস্ত সংস্করণ আনতে '0' পাস করুন।
নোড.জেএস
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()); }
বিশ্রাম
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:listVersions
টেমপ্লেটের তালিকায় সমস্ত সঞ্চিত সংস্করণের মেটাডেটা অন্তর্ভুক্ত থাকে, যার মধ্যে আপডেটের সময়, এটি তৈরি করা ব্যবহারকারী এবং এটি কীভাবে তৈরি করা হয়েছিল তা অন্তর্ভুক্ত থাকে। এখানে একটি সংস্করণ উপাদানের একটি উদাহরণ দেওয়া হল:
```json
{
"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 সিএলআই
firebase remoteconfig:get -v VERSION_NUMBER
ঐচ্ছিকভাবে, আপনি -o, FILENAME
দিয়ে একটি নির্দিষ্ট ফাইলে আউটপুট লিখতে পারেন।
নোড.জেএস
টেমপ্লেটের সর্বশেষ সংস্করণটি পুনরুদ্ধার করতে কোনও আর্গুমেন্ট ছাড়াই 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());
বিশ্রাম
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig?version_number=6
URL প্যারামিটার ?version_number
শুধুমাত্র GET
অপারেশনের জন্য বৈধ; আপনি আপডেটের জন্য সংস্করণ নম্বর নির্দিষ্ট করতে এটি ব্যবহার করতে পারবেন না। ?version_number
প্যারামিটার ছাড়া অনুরূপ একটি get অনুরোধ বর্তমান সক্রিয় টেমপ্লেটটি পুনরুদ্ধার করবে।
Remote Config টেমপ্লেটের একটি নির্দিষ্ট সংরক্ষিত সংস্করণে ফিরে যান।
আপনি টেমপ্লেটের যেকোনো সংরক্ষিত সংস্করণে ফিরে যেতে পারেন। একটি টেমপ্লেট পুনরায় চালু করতে:
Firebase কনসোল
পূর্ববর্তী টেমপ্লেট সংস্করণগুলি রোলব্যাকের জন্য যোগ্য হলে, পরিবর্তন ইতিহাস পৃষ্ঠার উপরের ডানদিকে সেই সংস্করণে ফিরে যাওয়ার জন্য একটি বিকল্প বোতাম প্রদর্শিত হবে। আপনি যদি নিশ্চিত হন যে আপনি সেই সংস্করণে ফিরে যেতে চান এবং সমস্ত অ্যাপ এবং ব্যবহারকারীদের জন্য অবিলম্বে সেই মানগুলি ব্যবহার করতে চান তবেই এটিতে ক্লিক করুন এবং নিশ্চিত করুন।
Firebase সিএলআই
firebase remoteconfig:rollback -v VERSION_NUMBER
নোড.জেএস
// 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()); } }
বিশ্রাম
একটি সংরক্ষিত Remote Config টেমপ্লেটে ফিরে যেতে, কাস্টম পদ্ধতি :rollback
এবং অনুরোধের বডিতে, প্রয়োগ করার জন্য নির্দিষ্ট সংস্করণ সহ একটি HTTP POST ইস্যু করুন। উদাহরণস্বরূপ:
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'
প্রতিক্রিয়াটিতে বর্তমানে সক্রিয় সঞ্চিত টেমপ্লেটের বিষয়বস্তু রয়েছে, এর নতুন সংস্করণ মেটাডেটা সহ।
মনে রাখবেন যে এই রোলব্যাক অপারেশনটি কার্যকরভাবে একটি নতুন নম্বরযুক্ত সংস্করণ তৈরি করে। উদাহরণস্বরূপ, সংস্করণ ১০ থেকে সংস্করণ ৬-এ রোলব্যাক করলে কার্যকরভাবে সংস্করণ ৬-এর একটি নতুন কপি তৈরি হয়, যা মূল সংস্করণ থেকে কেবল এই কারণে আলাদা যে এর সংস্করণ নম্বর ১১। মূল সংস্করণ ৬ এখনও সংরক্ষিত আছে, ধরে নিচ্ছি এটির মেয়াদ শেষ হয়নি, এবং সংস্করণ ১১ সক্রিয় টেমপ্লেট হয়ে ওঠে।
একটি Remote Config টেমপ্লেট মুছুন
আপনি Firebase কনসোল থেকে Remote Config টেমপ্লেট মুছে ফেলতে পারেন। একটি Remote Config টেমপ্লেট মুছে ফেলার জন্য:
১. Remote Config প্যারামিটার পৃষ্ঠা থেকে, পরিবর্তন ইতিহাসে ক্লিক করুন।আপনি যে টেমপ্লেটটি মুছতে চান তাতে টগল করুন,
More এ ক্লিক করুন, তারপর Delete নির্বাচন করুন।মুছে ফেলা নিশ্চিত করার জন্য অনুরোধ করা হলে, মুছে ফেলুন এ ক্লিক করুন।
Remote Config টেমপ্লেট ডাউনলোড এবং প্রকাশ করুন
আপনার সোর্স কন্ট্রোল এবং বিল্ড সিস্টেমের সাথে একীভূত করতে, কনফিগ আপডেট স্বয়ংক্রিয় করতে এবং একাধিক প্রকল্পে প্যারামিটার এবং মানগুলিকে সিঙ্কে রাখতে Remote Config টেমপ্লেটগুলি ডাউনলোড এবং প্রকাশ করুন।
আপনি বর্তমানে সক্রিয় Remote Config টেমপ্লেটটি ডাউনলোড করতে পারেন।Firebase কনসোল থেকে।এরপর আপনি এক্সপোর্ট করা JSON ফাইলটি আপডেট করতে পারেন এবং একই প্রজেক্টে প্রকাশ করতে পারেন, অথবা এটি একটি নতুন বা বিদ্যমান প্রজেক্টে প্রকাশ করতে পারেন।
ধরুন আপনার কাছে একাধিক প্রকল্প আছে যা আপনার সফ্টওয়্যার ডেভেলপমেন্ট জীবনচক্রের বিভিন্ন পর্যায়ের প্রতিনিধিত্ব করে, যেমন ডেভেলপমেন্ট, পরীক্ষা, স্টেজিং এবং উৎপাদন পরিবেশ। এই ক্ষেত্রে, আপনি আপনার স্টেজিং পরিবেশ থেকে আপনার উৎপাদন পরিবেশে একটি সম্পূর্ণরূপে পরীক্ষিত টেমপ্লেট প্রচার করতে পারেন, আপনার স্টেজিং প্রকল্প থেকে এটি ডাউনলোড করে এবং আপনার উৎপাদন প্রকল্পে প্রকাশ করে।
আপনি এই পদ্ধতিটি ব্যবহার করে এক প্রকল্প থেকে অন্য প্রকল্পে কনফিগারেশন স্থানান্তর করতে পারেন, অথবা একটি প্রতিষ্ঠিত প্রকল্পের প্যারামিটার এবং মান সহ একটি নতুন প্রকল্প পূরণ করতে পারেন।
A/B Testing পরীক্ষায় বিশেষভাবে ভেরিয়েন্ট হিসেবে তৈরি করা প্যারামিটার এবং প্যারামিটার মানগুলি রপ্তানি করা টেমপ্লেটগুলিতে অন্তর্ভুক্ত নয়।
Remote Config টেমপ্লেট রপ্তানি এবং আমদানি করতে:
- বর্তমান Remote Config কনফিগ টেমপ্লেটটি ডাউনলোড করুন ।
- Remote Config টেমপ্লেট যাচাই করুন ।
- Remote Config টেমপ্লেটটি প্রকাশ করুন ।
বর্তমান রিমোট কনফিগ টেমপ্লেটটি ডাউনলোড করুন
JSON ফর্ম্যাটে সক্রিয় Remote Config টেমপ্লেটটি ডাউনলোড করতে নিম্নলিখিতটি ব্যবহার করুন:
Firebase কনসোল
- Remote Config প্যারামিটার বা কন্ডিশন ট্যাব থেকে, মেনু খুলুন এবং বর্তমান কনফিগ ফাইল ডাউনলোড করুন নির্বাচন করুন।
- অনুরোধ করা হলে, কনফিগ ফাইল ডাউনলোড করুন এ ক্লিক করুন, আপনি যেখানে ফাইলটি সংরক্ষণ করতে চান সেই স্থানটি নির্বাচন করুন, তারপর সংরক্ষণ করুন এ ক্লিক করুন।
Firebase সিএলআই
firebase remoteconfig:get -o filename
নোড.জেএস
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());
বিশ্রাম
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
ফাইলে আউটপুট করে।
রিমোট কনফিগ টেমপ্লেট যাচাই করুন
আপনি Firebase Admin SDK অথবা REST API ব্যবহার করে আপনার টেমপ্লেট আপডেটগুলি প্রকাশ করার আগে যাচাই করতে পারেন। Firebase CLI অথবা Firebase কনসোল থেকে প্রকাশ করার চেষ্টা করলেও টেমপ্লেটগুলি যাচাই করা হয়। টেমপ্লেট যাচাইকরণ প্রক্রিয়াটি প্যারামিটার এবং শর্তাবলীর জন্য ডুপ্লিকেট কী, অবৈধ শর্তের নাম বা অস্তিত্বহীন শর্ত, অথবা ভুল ফর্ম্যাট করা ETags এর মতো ত্রুটিগুলি পরীক্ষা করে। উদাহরণস্বরূপ, অনুমোদিত সংখ্যক কী—2000—এর বেশি থাকা একটি অনুরোধ ত্রুটি বার্তা ফেরত দেবে, Param count too large
।
নোড.জেএস
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()); } }
বিশ্রাম
আপনার প্রকাশের অনুরোধে ?validate_only=true
URL প্যারামিটার যোগ করে টেমপ্লেট আপডেট যাচাই করুন:
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 স্ট্যাটাস 200 এবং -0
প্রত্যয় সহ একটি আপডেট করা ETag পাবেন। যদি আপনার টেমপ্লেটটি যাচাই করা না হয়, তাহলে আপনি JSON প্রতিক্রিয়ায় বৈধতা ত্রুটি পাবেন এবং আপনার headers
ফাইলে একটি নন-200 প্রতিক্রিয়া থাকবে (এবং কোনও ETag থাকবে না)।
Remote Config টেমপ্লেট প্রকাশ করুন
একটি টেমপ্লেট ডাউনলোড করার পরে, JSON কন্টেন্টে প্রয়োজনীয় পরিবর্তন করার পরে এবং এটি যাচাই করার পরে, আপনি এটি একটি প্রকল্পে প্রকাশ করতে পারেন।
একটি টেমপ্লেট প্রকাশ করলে সম্পূর্ণ বিদ্যমান কনফিগারেশন টেমপ্লেটটি আপডেট করা ফাইল দিয়ে প্রতিস্থাপন করা হয় এবং টেমপ্লেট সংস্করণটি একটি করে বৃদ্ধি করা হয়। যেহেতু সম্পূর্ণ কনফিগারেশনটি প্রতিস্থাপিত হয়, আপনি যদি JSON ফাইল থেকে একটি প্যারামিটার মুছে ফেলেন এবং এটি প্রকাশ করেন, তাহলে প্যারামিটারটি সার্ভার থেকে মুছে ফেলা হবে এবং ক্লায়েন্টদের কাছে আর উপলব্ধ থাকবে না।
প্রকাশের পরে, প্যারামিটার এবং মানগুলিতে পরিবর্তনগুলি আপনার অ্যাপ এবং ব্যবহারকারীদের কাছে অবিলম্বে উপলব্ধ হবে। প্রয়োজনে, আপনি পূর্ববর্তী সংস্করণে ফিরে যেতে পারেন।
আপনার টেমপ্লেট প্রকাশ করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:
Firebase কনসোল
- Remote Config প্যারামিটার বা কন্ডিশন ট্যাব থেকে, মেনু খুলুন এবং Publish from a file নির্বাচন করুন।
- অনুরোধ করা হলে, Browse এ ক্লিক করুন, আপনি যে Remote Config ফাইলটি প্রকাশ করতে চান তাতে নেভিগেট করুন এবং নির্বাচন করুন, তারপর Select এ ক্লিক করুন।
- ফাইলটি যাচাই করা হবে এবং সফল হলে, আপনার অ্যাপ এবং ব্যবহারকারীদের জন্য কনফিগারেশনটি অবিলম্বে উপলব্ধ করতে আপনি প্রকাশ করুন- এ ক্লিক করতে পারেন।
নোড.জেএস
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()); } }
বিশ্রাম
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 টেমপ্লেটে সমস্ত প্যারামিটারের জন্য কেবল কী-মান জোড়া এবং তাদের ডিফল্ট মান ধারণকারী ফাইলগুলি ডাউনলোড করে এই প্রক্রিয়াটি স্ট্রিমলাইন করতে পারেন। তারপরে আপনি আপনার প্রকল্পে এই ফাইলটি অন্তর্ভুক্ত করতে পারেন এবং এই মানগুলি আমদানি করার জন্য আপনার অ্যাপটি কনফিগার করতে পারেন।
আপনি এই ফাইলগুলি অ্যান্ড্রয়েড অ্যাপের জন্য XML ফর্ম্যাটে, iOS অ্যাপের জন্য সম্পত্তি তালিকা (প্লিস্ট) ফর্ম্যাটে এবং ওয়েব অ্যাপের জন্য JSON ফর্ম্যাটে ডাউনলোড করতে পারেন।
আপনার অ্যাপ এবং Remote Config ব্যাকএন্ড যাতে সিঙ্কে থাকে তা নিশ্চিত করার জন্য আমরা যেকোনো নতুন অ্যাপ রিলিজের আগে পর্যায়ক্রমে Remote Config ডিফল্ট ডাউনলোড করার পরামর্শ দিই।
টেমপ্লেট ডিফল্ট আছে এমন একটি ফাইল ডাউনলোড করতে:
বিশ্রাম
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 কনসোল
- প্যারামিটার ট্যাবে, মেনু খুলুন এবং ডিফল্ট মান ডাউনলোড করুন নির্বাচন করুন।
- অনুরোধ করা হলে, আপনি যে ফাইল ফর্ম্যাটটি ডাউনলোড করতে চান তার সাথে সঙ্গতিপূর্ণ রেডিও বোতামটি ক্লিক করুন এবং তারপরে ফাইল ডাউনলোড করুন এ ক্লিক করুন।
আপনার অ্যাপে Remote Config ডিফল্ট মান আমদানি করার বিষয়ে আরও তথ্যের জন্য, দেখুন: