Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

रिमोट कॉन्फिग टेम्प्लेट और वर्जनिंग

रिमोट कॉन्फिग टेम्प्लेट JSON-स्वरूपित पैरामीटर और शर्तों का सर्वर-साइड सेट है जिसे आपने अपने Firebase प्रोजेक्ट के लिए बनाया है। आप फायरबेस कंसोल का उपयोग करके टेम्पलेट को संशोधित और प्रबंधित कर सकते हैं, जो पैरामीटर और शर्तों टैब में ग्राफिकल प्रारूप में टेम्पलेट की सामग्री को प्रदर्शित करता है। आप अपने कॉन्फिग को संशोधित और प्रबंधित करने के लिए रिमोट कॉन्फिग बैकएंड एपीआई या फायरबेस सीएलआई का भी उपयोग कर सकते हैं।

यहाँ एक टेम्पलेट फ़ाइल का एक उदाहरण है:

  {
    "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 दिनों से अधिक समय से सक्रिय है और इसे एक अद्यतन द्वारा प्रतिस्थापित किया गया है, तो इसे फिर से प्राप्त नहीं किया जा सकता है (समाप्ति के कारण)।

दूरस्थ कॉन्फ़िग टेम्पलेट संस्करण प्रबंधित करें

यह खंड बताता है कि अपने रिमोट कॉन्फिग टेम्पलेट के संस्करणों को कैसे प्रबंधित करें। प्रोग्राम को कैसे बनाएं, संशोधित करें और कैसे सहेजें, इस पर अधिक विवरण के लिए, दूरस्थ रूप से प्रोग्रामेटिक रूप से संशोधित करें देखें।

रिमोट कॉन्फिग टेम्पलेट के सभी संग्रहीत संस्करणों की सूची बनाएं

आप दूरस्थ कॉन्फ़िगरेशन टेम्पलेट के सभी संग्रहीत संस्करणों की एक सूची प्राप्त कर सकते हैं। उदाहरण के लिए:

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' पास करें।

टेम्प्लेट की सूची में सभी संग्रहीत संस्करणों के लिए मेटाडेटा शामिल है, जिसमें अपडेट का समय, इसे बनाने वाले उपयोगकर्ता और चाहे वह कंसोल या आरईएसटी एपीआई के माध्यम से बनाया गया हो। यहाँ एक संस्करण तत्व का एक उदाहरण है:

{
  "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 पैरामीटर के बिना एक समान प्राप्त अनुरोध वर्तमान सक्रिय टेम्पलेट को पुनः प्राप्त करेगा।

फायरबेस कंसोल

डिफ़ॉल्ट रूप से, इतिहास बदलें टैब में विवरण फलक वर्तमान सक्रिय टेम्पलेट प्रदर्शित करता है। सूची में एक और संस्करण के लिए विवरण देखने के लिए, इसे सही मेनू से चुनें।

आप किसी भी गैर-चयनित संस्करण के लिए संदर्भ मेनू पर होवर करके और चयनित संस्करण के साथ तुलना करें का चयन करके वर्तमान में चयनित संस्करण और किसी अन्य संग्रहीत संस्करण का विस्तृत अंतर देख सकते हैं

फायरबेस सीएलआई

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>

प्रतिक्रिया में अब सक्रिय संग्रहीत टेम्पलेट की सामग्री है, इसके नए संस्करण मेटाडेटा के साथ।

फायरबेस कंसोल

रोलबैक के लिए पात्र पिछले टेम्प्लेट संस्करणों के लिए, उस संस्करण में वापस रोल करने के लिए एक विकल्प बटन परिवर्तन इतिहास पृष्ठ के शीर्ष दाईं ओर प्रदर्शित होता है। इस पर केवल तभी क्लिक करें और पुष्टि करें जब आप सुनिश्चित हों कि आप उस संस्करण में वापस आना चाहते हैं और सभी ऐप और उपयोगकर्ताओं के लिए तुरंत उन मानों का उपयोग करें।

फायरबेस सीएलआई

firebase remoteconfig:rollback -v VERSION_NUMBER

ध्यान दें कि यह रोलबैक ऑपरेशन प्रभावी रूप से एक नया क्रमांकित संस्करण बनाता है। उदाहरण के लिए, संस्करण 10 से संस्करण 6 तक वापस प्रभावी रूप से संस्करण 6 की एक नई प्रतिलिपि बनाता है, केवल मूल से अलग है कि इसका संस्करण संख्या 11. मूल संस्करण 6 अभी भी संग्रहीत है, यह मानते हुए कि इसकी समय सीमा समाप्त नहीं हुई है, और संस्करण 11 सक्रिय टेम्पलेट बन जाता है।