Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

রিমোট কনফিগার টেম্পলেট এবং সংস্করণ

রিমোট কনফিগ টেমপ্লেট হল JSON- ফরম্যাটেড প্যারামিটার এবং আপনার ফায়ারবেস প্রকল্পের জন্য তৈরি শর্তাবলীর সার্ভার-সাইড সেট। আপনি পরিবর্তন করুন এবং Firebase কনসোল ব্যবহার টেমপ্লেট পরিচালনা করতে পারেন যা গ্রাফিকাল বিন্যাসে প্রদর্শন টেমপ্লেটের বিষয়বস্তু পরামিতি এবং শর্তাবলী ট্যাব। এছাড়াও আপনি ব্যবহার করতে পারেন রিমোট কনফিগ ব্যাকএন্ড API গুলি বা 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"
    }
  }

প্রতিবার যখন আপনি প্যারামিটার আপডেট করেন, রিমোট কনফিগার একটি নতুন সংস্করণযুক্ত রিমোট কনফিগ টেমপ্লেট তৈরি করে এবং পূর্ববর্তী টেমপ্লেটটি একটি সংস্করণ হিসাবে সঞ্চয় করে যা আপনি পুনরুদ্ধার করতে পারেন বা প্রয়োজন অনুযায়ী ফিরে যেতে পারেন। রিমোট কনফিগ দ্বারা সংরক্ষিত প্রাথমিক মান থেকে সংস্করণ সংখ্যাগুলি ক্রমানুসারে বৃদ্ধি করা হয়। সকল টেমপ্লেট একটি অন্তর্ভুক্ত version নির্দিষ্ট সংস্করণ সম্পর্কে মেটাডেটা সম্বলিত দেখানো হয়েছে ক্ষেত্র।

ফায়ারবেস কনসোল, ফায়ারবেস সিএলআই, বা রিমোট কনফিগ ব্যাকএন্ড এপিআই দিয়ে, আপনি এই সংস্করণ পরিচালনার কাজগুলি করতে পারেন:

  • সমস্ত সংরক্ষিত টেমপ্লেট সংস্করণ তালিকাভুক্ত করুন
  • একটি নির্দিষ্ট সংস্করণ পুনরুদ্ধার করুন
  • একটি নির্দিষ্ট সংস্করণে ফিরে যান

রিমোট কনফিগ টেমপ্লেটগুলি পরিচালনা করার সময়, মেয়াদ শেষ হওয়ার সীমাটি মনে রাখবেন: সৃষ্টির সময় থেকে 90 দিন, বা 300 টি সংরক্ষিত সংস্করণের মোট সীমা। আপনি যদি সেই সীমার বাইরে কোনো টেমপ্লেটে সংরক্ষণ বা রোল করতে চান, তাহলে নিজে সংরক্ষণ করুন এবং সংরক্ষণ করুন। বর্তমান সক্রিয় রিমোট কনফিগ ব্যবহারে আপনার অ্যাপ দ্বারা টেমপ্লেট মেয়াদ শেষ না; যাইহোক, যদি এটি সৃষ্টির পর 90 দিনের বেশি সক্রিয় থাকে এবং একটি আপডেট দ্বারা প্রতিস্থাপিত হয়, তবে এটি পুনরায় পুনরুদ্ধার করা যাবে না (মেয়াদ শেষ হওয়ার কারণে)।

রিমোট কনফিগ টেমপ্লেট সংস্করণগুলি পরিচালনা করুন

এই বিভাগটি বর্ণনা করে কিভাবে আপনার রিমোট কনফিগ টেমপ্লেটের সংস্করণগুলি পরিচালনা করা যায়। কীভাবে তৈরি পরিবর্তন করুন এবং টেমপ্লেট programatically সংরক্ষণ করতে আরো বিবরণ জন্য, দেখুন পরিবর্তন রিমোট কনফিগ প্রোগ্রামেটিক্যালি

রিমোট কনফিগ টেমপ্লেটের সমস্ত সংরক্ষিত সংস্করণ তালিকাভুক্ত করুন

আপনি রিমোট কনফিগ টেমপ্লেটের সমস্ত সংরক্ষিত সংস্করণের একটি তালিকা পুনরুদ্ধার করতে পারেন। উদাহরণ স্বরূপ:

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

বিশ্রাম

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>:listVersions

ফায়ারবেস কনসোল

ইন পরামিতি ট্যাব, "ঘড়ি" আইকনের উপরে ডান দিকে প্রদর্শিত নির্বাচন করুন। এই প্রর্দশিত পরিবর্তনের ইতিহাস ডান দিকে একটি তালিকা মেনুতে সকল সঞ্চিত টেমপ্লেট সংস্করণ তালিকা পাতা।

প্রতিটি সংরক্ষিত সংস্করণের জন্য প্রদর্শিত বিবরণগুলির মধ্যে তথ্য অন্তর্ভুক্ত করা হয়েছে যে কনসোলের সাথে, REST API- এর সাথে, রোলব্যাক থেকে পরিবর্তনগুলি এসেছে, অথবা সেগুলি টেমপ্লেটের জোরপূর্বক সংরক্ষণের মাধ্যমে ক্রমবর্ধমান পরিবর্তন ছিল কিনা।

ফায়ারবেস সিএলআই

firebase remoteconfig:versions:list

ব্যবহার করুন --limit সংস্করণ সংখ্যা উপস্থাপিত হচ্ছে সীমিত করতে বিকল্প। সমস্ত সংস্করণ আনতে '0' পাস করুন।

টেমপ্লেটগুলির তালিকায় আপডেটের সময়, ব্যবহারকারী যিনি এটি তৈরি করেছেন এবং এটি কনসোল বা REST API এর মাধ্যমে তৈরি করা হয়েছে কিনা তা সহ সমস্ত সঞ্চিত সংস্করণের মেটাডেটা অন্তর্ভুক্ত করে। এখানে একটি সংস্করণ উপাদান একটি উদাহরণ:

{
  "versions": [{
    "version_number": "6",
    "update_time": "2018-05-12T02:38:54Z",
    "update_user": {
      "email": "jane@developer.org",
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

রিমোট কনফিগ টেমপ্লেটের একটি নির্দিষ্ট সংস্করণ পুনরুদ্ধার করুন

আপনি রিমোট কনফিগ টেমপ্লেটের কোন নির্দিষ্ট সঞ্চিত সংস্করণ পুনরুদ্ধার করতে পারেন। উদাহরণ স্বরূপ:

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());

বিশ্রাম

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</pre>

URL মাপদণ্ড ?version_number শুধুমাত্র জন্য বৈধ GET অপারেশন; আপডেটের জন্য সংস্করণ নম্বর নির্দিষ্ট করতে আপনি এটি ব্যবহার করতে পারবেন না। ছাড়া একটি অনুরূপ পেতে অনুরোধ ?version_number প্যারামিটার বর্তমান সক্রিয় টেমপ্লেট উদ্ধার করবে।

ফায়ারবেস কনসোল

ডিফল্টরূপে, বিস্তারিত ফলক ইতিহাস পরিবর্তন বর্তমান সক্রিয় টেমপ্লেট ট্যাবটি প্রদর্শিত হয়। তালিকার অন্য সংস্করণের বিশদ দেখতে, ডান মেনু থেকে এটি নির্বাচন করুন।

আপনি যে কোনো অ নির্বাচিত সংস্করণের জন্য প্রসঙ্গ মেনু উপর কার্সার রেখে এবং নির্বাচিত সংস্করণটি সাথে তুলনা করুন নির্বাচন করে বর্তমানে নির্বাচিত সংস্করণ এবং অন্য কোন সংরক্ষিত সংস্করণ একটি বিস্তারিত পরিবর্তন দেখতে পারেন।

ফায়ারবেস CLI

firebase remoteconfig:get -v VERSION_NUMBER

বৈকল্পিকভাবে, আপনার সাথে একটি নির্দিষ্ট ফাইল আউটপুট লিখতে পারেন -o, FILENAME

রিমোট কনফিগ টেমপ্লেটের একটি নির্দিষ্ট সঞ্চিত সংস্করণে ফিরে যান

আপনি টেমপ্লেটের যেকোনো সংরক্ষিত সংস্করণে ফিরে যেতে পারেন। উদাহরণ স্বরূপ:

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

বিশ্রাম

রোল ফিরে সঞ্চিত রিমোট কনফিগ টেমপ্লেটে করার জন্য কাস্টম পদ্ধতি সঙ্গে একটি HTTP POST এর ইস্যু :rollback এবং, অনুরোধ শরীরে, নির্দিষ্ট সংস্করণটিতে প্রযোজ্য হবে। উদাহরণ স্বরূপ:

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'</pre>

প্রতিক্রিয়াটিতে এখন সক্রিয় সঞ্চিত টেমপ্লেটের বিষয়বস্তু রয়েছে, তার নতুন সংস্করণ মেটাডেটা সহ।

ফায়ারবেস কনসোল

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

ফায়ারবেস CLI

firebase remoteconfig:rollback -v VERSION_NUMBER

লক্ষ্য করুন যে এই রোলব্যাক অপারেশন কার্যকরভাবে একটি নতুন সংখ্যাযুক্ত সংস্করণ তৈরি করে। উদাহরণস্বরূপ, সংস্করণ 10 থেকে 6 সংস্করণে ফিরে যাওয়া কার্যকরীভাবে সংস্করণ 6 এর একটি নতুন অনুলিপি তৈরি করে, যা মূল সংস্করণ থেকে কেবলমাত্র তার সংস্করণ নম্বর 11 এর থেকে আলাদা। সংস্করণ 11 সক্রিয় টেমপ্লেট হয়ে ওঠে।