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

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

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

  {
    "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 फ़ील्ड शामिल है, जिसमें उस विशिष्ट संस्करण के बारे में मेटाडेटा शामिल है।

फायरबेस कंसोल, फायरबेस सीएलआई, या रिमोट कॉन्फिग बैकएंड एपीआई के साथ, आप ये संस्करण प्रबंधन कार्य कर सकते हैं:

  • सभी संग्रहीत टेम्पलेट संस्करणों की सूची बनाएं
  • एक विशिष्ट संस्करण पुनः प्राप्त करें
  • किसी विशिष्ट संस्करण पर वापस रोल करें

आप रिमोट कॉन्फिग कंसोल पर इतिहास बदलें पृष्ठ से आवश्यकतानुसार रिमोट कॉन्फिग टेम्पलेट्स को हटा सकते हैं। 300 आजीवन संग्रहीत संस्करणों की कुल सीमा है, जिसमें हटाए गए टेम्पलेट्स के लिए संग्रहीत संस्करण संख्याएं शामिल हैं। यदि आप किसी प्रोजेक्ट के जीवनकाल के दौरान 300 से अधिक टेम्पलेट संस्करण प्रकाशित करते हैं, तो शुरुआती संस्करण हटा दिए जाते हैं, अधिकतम 300 संस्करण बनाए रखते हैं।

रिमोट कॉन्फिग टेम्पलेट संस्करण प्रबंधित करें

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

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

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

नोड.जे.एस

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

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

पैरामीटर्स टैब में, शीर्ष दाईं ओर प्रदर्शित "घड़ी" आइकन का चयन करें। यह दाहिनी ओर एक सूची मेनू में सभी संग्रहीत टेम्पलेट संस्करणों को सूचीबद्ध करते हुए परिवर्तन इतिहास पृष्ठ खोलता है।

प्रत्येक संग्रहीत संस्करण के लिए प्रदर्शित विवरण में यह जानकारी शामिल है कि क्या परिवर्तन कंसोल के साथ, REST API के साथ, रोलबैक से उत्पन्न हुए थे, या क्या वे टेम्पलेट के जबरन सेव से वृद्धिशील परिवर्तन थे।

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

firebase remoteconfig:versions:list

लौटाए जाने वाले संस्करणों की संख्या सीमित करने के लिए --limit विकल्प का उपयोग करें। सभी संस्करण लाने के लिए '0' पास करें।

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

{
  "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"
  }]

रिमोट कॉन्फिग टेम्पलेट का एक विशिष्ट संस्करण पुनर्प्राप्त करें

आप रिमोट कॉन्फिग टेम्पलेट के किसी भी विशिष्ट संग्रहीत संस्करण को पुनः प्राप्त कर सकते हैं। उदाहरण के लिए:

नोड.जे.एस

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

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

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

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

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

firebase remoteconfig:get -v VERSION_NUMBER

वैकल्पिक रूप से, आप आउटपुट को -o, FILENAME के ​​साथ एक निर्दिष्ट फ़ाइल में लिख सकते हैं।

रिमोट कॉन्फिग टेम्पलेट के एक विशिष्ट संग्रहीत संस्करण पर वापस रोल करें

आप टेम्पलेट के किसी भी संग्रहीत संस्करण पर वापस जा सकते हैं। उदाहरण के लिए:

नोड.जे.एस

// 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>" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'

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

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

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

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

firebase remoteconfig:rollback -v VERSION_NUMBER

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

रिमोट कॉन्फ़िग टेम्पलेट हटाएँ

आप फ़ायरबेस कंसोल से रिमोट कॉन्फ़िग टेम्प्लेट हटा सकते हैं। रिमोट कॉन्फिग टेम्पलेट हटाने के लिए:

  1. रिमोट कॉन्फिग पैरामीटर्स पेज से, बदलें इतिहास पर क्लिक करें।

  2. जिस टेम्पलेट को आप हटाना चाहते हैं उस पर टॉगल करें, अधिक पर क्लिक करें, फिर हटाएं चुनें।

  3. जब विलोपन की पुष्टि करने के लिए कहा जाए, तो हटाएं पर क्लिक करें।

रिमोट कॉन्फिग टेम्प्लेट डाउनलोड करें और प्रकाशित करें

रिमोट कॉन्फिग टेम्प्लेट को अपने स्रोत नियंत्रण में एकीकृत करने और सिस्टम बनाने, कॉन्फिग अपडेट को स्वचालित करने और कई परियोजनाओं में पैरामीटर और मानों को सिंक में रखने के लिए डाउनलोड और प्रकाशित करें।

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

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

आप इस पद्धति का उपयोग कॉन्फ़िगरेशन को एक प्रोजेक्ट से दूसरे प्रोजेक्ट में स्थानांतरित करने के लिए भी कर सकते हैं, या किसी स्थापित प्रोजेक्ट से पैरामीटर और मानों के साथ एक नया प्रोजेक्ट भरने के लिए भी कर सकते हैं।

ए/बी परीक्षण प्रयोग में वेरिएंट के रूप में विशेष रूप से बनाए गए पैरामीटर और पैरामीटर मान निर्यात किए गए टेम्पलेट में शामिल नहीं हैं।

रिमोट कॉन्फिग टेम्प्लेट निर्यात और आयात करने के लिए:

  1. वर्तमान रिमोट कॉन्फिग कॉन्फिग टेम्पलेट डाउनलोड करें
  2. रिमोट कॉन्फिग टेम्पलेट को मान्य करें
  3. रिमोट कॉन्फिग टेम्पलेट प्रकाशित करें .

वर्तमान रिमोट कॉन्फ़िगरेशन टेम्पलेट डाउनलोड करें

आप वर्तमान और सक्रिय रिमोट कॉन्फिग टेम्पलेट को प्रोग्रामेटिक रूप से या फायरबेस कंसोल का उपयोग करके डाउनलोड कर सकते हैं।

सक्रिय रिमोट कॉन्फिग टेम्पलेट को JSON प्रारूप में डाउनलोड करने के लिए निम्नलिखित कमांड का उपयोग करें:

नोड.जे.एस

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 फ़ाइल में आउटपुट करता है।

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

  1. रिमोट कॉन्फिग पैरामीटर या शर्तें टैब से, मेनू खोलें, और वर्तमान कॉन्फिग फ़ाइल डाउनलोड करें का चयन करें।
  2. संकेत मिलने पर, कॉन्फिग फ़ाइल डाउनलोड करें पर क्लिक करें, वह स्थान चुनें जहां आप फ़ाइल को सहेजना चाहते हैं, फिर सहेजें पर क्लिक करें।

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

firebase remoteconfig:get -o filename

रिमोट कॉन्फिग टेम्पलेट को मान्य करें

आप फ़ायरबेस एडमिन SDK या REST API का उपयोग करके अपने टेम्प्लेट अपडेट को प्रकाशित करने से पहले सत्यापित कर सकते हैं। जब आप फ़ायरबेस सीएलआई या फ़ायरबेस कंसोल से प्रकाशित करने का प्रयास करते हैं तो टेम्प्लेट भी मान्य होते हैं।

टेम्प्लेट सत्यापन प्रक्रिया मापदंडों और शर्तों के लिए डुप्लिकेट कुंजी, अमान्य स्थिति नाम या गैर-मौजूद स्थितियों, या गलत स्वरूपित ईटैग जैसी त्रुटियों की जांच करती है। उदाहरण के लिए, कुंजियों की अनुमत संख्या - 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());
  }
}

आराम

अपने प्रकाशन अनुरोध में 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

यदि आपका टेम्प्लेट सफलतापूर्वक सत्यापित किया गया था, तो कर्ल कमांड आपके द्वारा सबमिट किए गए JSON टेम्प्लेट को लौटाता है और, सहेजे गए headers फ़ाइल में, आपको एक HTTP/2 स्थिति 200 और प्रत्यय -0 के साथ एक अद्यतन ETag मिलेगा। यदि आपका टेम्प्लेट मान्य नहीं किया गया था, तो आपको JSON प्रतिक्रिया में सत्यापन त्रुटि प्राप्त होगी और आपकी headers फ़ाइल में गैर-200 प्रतिक्रिया (और कोई ईटैग नहीं) होगी।

रिमोट कॉन्फिग टेम्पलेट प्रकाशित करें

टेम्प्लेट डाउनलोड करने, JSON सामग्री में आवश्यक परिवर्तन करने और इसे मान्य करने के बाद, आप इसे किसी प्रोजेक्ट पर प्रकाशित कर सकते हैं।

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

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

अपना टेम्पलेट प्रकाशित करने के लिए निम्नलिखित कमांड का उपयोग करें:

नोड.जे.एस

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 कमांड के लिए, आप फ़ाइल नाम के बाद "@" वर्ण का उपयोग करके सामग्री निर्दिष्ट कर सकते हैं।

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

  1. रिमोट कॉन्फिग पैरामीटर्स या कंडीशंस टैब से, मेनू खोलें, और फ़ाइल से प्रकाशित करें का चयन करें।
  2. संकेत मिलने पर, ब्राउज़ पर क्लिक करें, नेविगेट करें और उस रिमोट कॉन्फ़िगरेशन फ़ाइल का चयन करें जिसे आप प्रकाशित करना चाहते हैं, फिर चयन पर क्लिक करें।
  3. फ़ाइल सत्यापित की जाएगी और सफल होने पर, आप कॉन्फ़िगरेशन को तुरंत अपने ऐप्स और उपयोगकर्ताओं के लिए उपलब्ध कराने के लिए प्रकाशित करें पर क्लिक कर सकते हैं।

डाउनलोड किए गए टेम्प्लेट में रिमोट कॉन्फ़िगरेशन वैयक्तिकरण और शर्तें शामिल हैं, इसलिए किसी भिन्न प्रोजेक्ट पर प्रकाशित करने का प्रयास करते समय निम्नलिखित सीमाओं से अवगत होना महत्वपूर्ण है:

  • निजीकरण को एक परियोजना से दूसरे परियोजना में आयात नहीं किया जा सकता।

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

  • शर्तों को एक प्रोजेक्ट से दूसरे प्रोजेक्ट में आयात किया जा सकता है, लेकिन ध्यान दें कि कोई भी विशिष्ट सशर्त मान (जैसे ऐप आईडी या ऑडियंस), प्रकाशन से पहले लक्ष्य प्रोजेक्ट में मौजूद होना चाहिए।

    उदाहरण के लिए, यदि आपके पास रिमोट कॉन्फिग पैरामीटर है जो ऐसी स्थिति का उपयोग करता है जो iOS के प्लेटफ़ॉर्म मान को निर्दिष्ट करता है, तो टेम्पलेट को किसी अन्य प्रोजेक्ट में प्रकाशित किया जा सकता है, क्योंकि प्लेटफ़ॉर्म मान किसी भी प्रोजेक्ट के लिए समान होते हैं। हालाँकि, यदि इसमें ऐसी शर्त शामिल है जो किसी विशिष्ट ऐप आईडी या उपयोगकर्ता ऑडियंस पर निर्भर करती है जो लक्ष्य प्रोजेक्ट में मौजूद नहीं है, तो सत्यापन विफल हो जाएगा।

  • यदि आप जिस टेम्पलेट को प्रकाशित करने की योजना बना रहे हैं उसमें ऐसी स्थितियाँ हैं जो Google Analytics पर निर्भर हैं, तो लक्ष्य प्रोजेक्ट में Analytics सक्षम होना चाहिए।

रिमोट कॉन्फिग टेम्प्लेट डिफ़ॉल्ट डाउनलोड करें

क्योंकि आपका ऐप हमेशा इंटरनेट से कनेक्ट नहीं हो सकता है, इसलिए आपको सभी रिमोट कॉन्फ़िगरेशन पैरामीटर के लिए क्लाइंट-साइड ऐप डिफ़ॉल्ट मान कॉन्फ़िगर करना चाहिए। आपको समय-समय पर अपने ऐप क्लाइंट डिफ़ॉल्ट मानों और रिमोट कॉन्फिग बैकएंड डिफ़ॉल्ट पैरामीटर मानों को भी सिंक्रनाइज़ करना चाहिए, क्योंकि वे समय के साथ बदल सकते हैं।

जैसा कि इस अनुभाग के अंत में प्लेटफ़ॉर्म-विशिष्ट लिंक में वर्णित है, आप इन डिफ़ॉल्ट को अपने ऐप में मैन्युअल रूप से सेट कर सकते हैं या आप उन फ़ाइलों को डाउनलोड करके इस प्रक्रिया को सुव्यवस्थित कर सकते हैं जिनमें सभी पैरामीटर के लिए केवल कुंजी-मूल्य जोड़े और उनके डिफ़ॉल्ट मान शामिल हैं सक्रिय रिमोट कॉन्फ़िगरेशन टेम्पलेट। फिर आप इस फ़ाइल को अपने प्रोजेक्ट में शामिल कर सकते हैं और इन मानों को आयात करने के लिए अपने ऐप को कॉन्फ़िगर कर सकते हैं।

आप इन फ़ाइलों को एंड्रॉइड ऐप्स के लिए XML प्रारूप, iOS ऐप्स के लिए प्रॉपर्टी सूची (प्लिस्ट) प्रारूप और वेब ऐप्स के लिए JSON में डाउनलोड कर सकते हैं।

हम यह सुनिश्चित करने के लिए कि आपका ऐप और रिमोट कॉन्फिग बैकएंड सिंक में रहें, किसी भी नए ऐप के रिलीज होने से पहले समय-समय पर रिमोट कॉन्फिग डिफॉल्ट डाउनलोड करने की सलाह देते हैं।

टेम्पलेट डिफ़ॉल्ट वाली फ़ाइल डाउनलोड करने के लिए:

आराम

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 का उपयोग करें।

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

  1. पैरामीटर टैब में, मेनू खोलें, और डिफ़ॉल्ट मान डाउनलोड करें चुनें।
  2. संकेत मिलने पर, उस रेडियो बटन पर क्लिक करें जो उस फ़ाइल प्रारूप से मेल खाता है जिसे आप डाउनलोड करना चाहते हैं, और फिर फ़ाइल डाउनलोड करें पर क्लिक करें।

अपने ऐप में रिमोट कॉन्फिग डिफ़ॉल्ट मान आयात करने के बारे में अधिक जानकारी के लिए, देखें: