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


रिमोट कॉन्फ़िगरेशन टेंप्लेट, JSON फ़ॉर्मैट में बनाए गए हैं पैरामीटर और शर्तों को पूरा करता है, जिन्हें आपने अपने Firebase प्रोजेक्ट के लिए बनाया है. आपने लोगों तक पहुंचाया मुफ़्त में क्लाइंट टेंप्लेट बना सकता है जिनसे आपका ऐप्लिकेशन वैल्यू फ़ेच करता है और सर्वर टेंप्लेट इस्तेमाल कर सकते हैं, जिनसे सर्वर क्लाइंट वैल्यू फ़ेच कर सकते हैं.

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस सेक्शन में क्लाइंट टेंप्लेट के बारे में बताया गया है. खास तौर पर सर्वर के लिए बने टूल के बारे में जानने के लिए टेंप्लेट, क्लिक करें सर्वर टेंप्लेट.

Firebase कंसोल का इस्तेमाल करके, टेंप्लेट में बदलाव किया जा सकता है और उसे मैनेज किया जा सकता है. टेम्प्लेट की सामग्री को ग्राफ़िकल फ़ॉर्मैट में अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है पैरामीटर और शर्तें टैब.

Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए रिमोट कॉन्फ़िगरेशन REST API और एडमिन SDK टूल या 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"
        }
      }

Firebase कंसोल की मदद से, वर्शन मैनेज करने से जुड़े ये काम किए जा सकते हैं:

  • सेव किए गए टेंप्लेट के सभी वर्शन की सूची बनाएं
  • किसी खास वर्शन को वापस पाना
  • किसी क्लाइंट वर्शन पर रोल बैक करें
  • बदलें इतिहास पेज

इनका इस्तेमाल करके टेंप्लेट को लिस्ट किया जा सकता है, टेंप्लेट फिर से पाया जा सकता है, और टेंप्लेट को रोल बैक किया जा सकता है Firebase सीएलआई और रिमोट कॉन्फ़िगरेशन बैकएंड एपीआई पर भी काम कर सकते हैं.

हर टेंप्लेट टाइप के लिए, लाइफ़टाइम सेव किए गए वर्शन की कुल सीमा 300 है (300 क्लाइंट टेंप्लेट और 300 सर्वर टेंप्लेट), जिनमें सेव किए गए टेंप्लेट भी शामिल हैं मिटाए गए टेंप्लेट का वर्शन नंबर. अगर आप 300 से ज़्यादा किसी प्रोजेक्ट के चालू रहने के दौरान, हर टेंप्लेट टाइप के हिसाब से टेंप्लेट वर्शन सबसे पुराने वर्शन मिटा दिए जाते हैं. इनमें, ज़्यादा से ज़्यादा 300 वर्शन बनाए जा सकते हैं आपकी सहायता कर सकता है.

जब भी आप पैरामीटर अपडेट करते हैं, रिमोट कॉन्फ़िगरेशन एक रिमोट कॉन्फ़िगरेशन के नए वर्शन वाले टेंप्लेट को चुनकर, पिछले टेंप्लेट को इस तरह सेव करता है: ऐसा वर्शन है जिसे अपनी ज़रूरत के हिसाब से वापस पाया जा सकता है या उस पर रोल बैक किया जा सकता है. वर्शन नंबर रिमोट कॉन्फ़िगरेशन से सेव की गई शुरुआती वैल्यू से, एक क्रम में बढ़ाया जाता है. सभी टेंप्लेट में, जैसा दिखाया गया है उसके मेटाडेटा के साथ version फ़ील्ड शामिल होता है खास वर्शन के लिए बनाई गई हैं.

अगर ज़रूरत हो, तो रिमोट कॉन्फ़िगरेशन टेंप्लेट को बदलाव का इतिहास पर पेज रिमोट कॉन्फ़िगरेशन कंसोल पर

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

इस सेक्शन में आपके रिमोट कॉन्फ़िगरेशन के वर्शन को मैनेज करने का तरीका बताया गया है टेम्प्लेट.

बनाने के तरीके के बारे में ज़्यादा जानकारी के लिए, प्रोग्रैम्ड तरीके से टेंप्लेट में बदलाव करें और सेव करें, रिमोट कॉन्फ़िगरेशन में प्रोग्राम के हिसाब से बदलाव करें.

रिमोट कॉन्फ़िगरेशन टेंप्लेट के सेव किए गए सभी वर्शन की सूची बनाएं

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

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

Java

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

रिमोट कॉन्फ़िगरेशन टेंप्लेट का खास वर्शन वापस पाना

किसी भी खास तरह के स्टोर पेज को वापस पाया जा सकता है रिमोट कॉन्फ़िगरेशन टेंप्लेट का एक वर्शन है. सेव किए गए टेंप्लेट को वापस पाने के लिए वर्शन:

Firebase कंसोल

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

आप वर्तमान में चयनित वर्शन और अन्य किसी भी वर्शन का विस्तृत अंतर देख सकते हैं सेव किए गए वर्शन के लिए, संदर्भ मेन्यू पर कर्सर घुमाएं. ऐसा करने पर, वह वर्शन दिखता है जिसे आपने नहीं चुना है और चुने गए वर्शन से तुलना करें को चुनें.

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

Java

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 <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig?version_number=6

यूआरएल पैरामीटर ?version_number सिर्फ़ GET से जुड़ी कार्रवाइयों के लिए मान्य है; तो आप इसका इस्तेमाल अपडेट के लिए वर्शन नंबर तय करने में नहीं कर सकते. मिलती-जुलती सुविधाएं ?version_number के बिना अनुरोध करें पैरामीटर की मदद से मौजूदा चालू टेंप्लेट को फिर से हासिल किया जा सकेगा.

रिमोट कॉन्फ़िगरेशन टेंप्लेट के सेव किए गए किसी वर्शन पर रोल बैक करें

किसी भी स्टोर किए गए आइटम पर रोल बैक किया जा सकता है टेंप्लेट का वर्शन होना चाहिए. टेंप्लेट को रोल बैक करने के लिए:

Firebase कंसोल

रोल बैक की ज़रूरी शर्तें पूरी करने वाले टेंप्लेट के पिछले वर्शन के लिए, उस वर्शन पर रोल बैक करने का विकल्प बटन, बदलाव का इतिहास करें. इस पर क्लिक करके पुष्टि सिर्फ़ तब करें, जब आपको वाकई ऐसा करना हो वर्शन अपडेट करने और सभी ऐप्लिकेशन और उपयोगकर्ताओं के लिए उन वैल्यू का तुरंत इस्तेमाल करें.

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

Java

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

सेव किए गए किसी रिमोट कॉन्फ़िगरेशन टेंप्लेट पर रोल बैक करने के लिए, कस्टम तरीके :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}'

जवाब में, अभी-अभी सेव किए गए टेंप्लेट का कॉन्टेंट शामिल होता है, जिसमें नए वर्शन का मेटाडेटा.

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

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

रिमोट कॉन्फ़िगरेशन टेंप्लेट को Firebase कंसोल से मिटाया जा सकता है. यहां की यात्रा पर हूं रिमोट कॉन्फ़िगरेशन टेंप्लेट मिटाएं:

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है 1. रिमोट कॉन्फ़िगरेशन की मदद से पैरामीटर पेज, बदलाव का इतिहास.
  1. जिस टेंप्लेट को मिटाना है उस पर टॉगल करें. इसके बाद, क्लिक करें ज़्यादा, फिर चुनें मिटाएं.

  2. मिटाने की पुष्टि करने के लिए कहा जाने पर, मिटाएं पर क्लिक करें.

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

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

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

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

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

इसमें खास तौर पर वैरिएंट के तौर पर बनाए गए पैरामीटर और वैल्यू एक्सपोर्ट किए गए टेंप्लेट में, A/B टेस्टिंग एक्सपेरिमेंट शामिल नहीं है.

रिमोट कॉन्फ़िगरेशन टेंप्लेट को एक्सपोर्ट और इंपोर्ट करने के लिए:

  1. मौजूदा रिमोट कॉन्फ़िगरेशन कॉन्फ़िगरेशन टेंप्लेट डाउनलोड करें.
  2. रिमोट कॉन्फ़िगरेशन टेंप्लेट की पुष्टि करें.
  3. रिमोट कॉन्फ़िगरेशन टेंप्लेट पब्लिश करना.

मौजूदा रिमोट कॉन्फ़िगरेशन टेंप्लेट डाउनलोड करें

इनमें ऐक्टिव रिमोट कॉन्फ़िगरेशन टेंप्लेट को डाउनलोड करने के लिए, इनका इस्तेमाल करें: JSON फ़ॉर्मैट:

Firebase कंसोल

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

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

Java

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 पेलोड को एक फ़ाइल और हेडर में दिखाता है (ईटैग के साथ) को किसी अलग headers फ़ाइल में जोड़ें.

रिमोट कॉन्फ़िगरेशन टेंप्लेट की पुष्टि करना

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है आप टेंप्लेट अपडेट को पब्लिश करने से पहले, Firebase एडमिन SDK टूल या REST API. कोशिश करने पर, टेंप्लेट की भी पुष्टि की जाती है Firebase सीएलआई या Firebase कंसोल से पब्लिश करने के लिए.

टेंप्लेट की पुष्टि करने की प्रोसेस में, डुप्लीकेट कुंजियों जैसी गड़बड़ियों की जांच की जाती है पैरामीटर और शर्तें, शर्तों के अमान्य नाम या ऐसी शर्तें जो मौजूद नहीं हैं या गलत फ़ॉर्मैट किए गए ईटैग. उदाहरण के लिए, एक अनुरोध में, मंज़ूर किए गए बिल से ज़्यादा कुंजियों की संख्या—2000—से गड़बड़ी का मैसेज, 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);
      });
}

Java

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

यूआरएल पैरामीटर ?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 स्थिति 200 और -0 सफ़िक्स वाला अपडेट किया गया ETag. अगर आपके टेंप्लेट की पुष्टि नहीं की गई थी, तो आपको JSON रिस्पॉन्स और आपकी headers फ़ाइल में ऐसा जवाब होगा जो 200 से ज़्यादा न हो (और कोई ETag नहीं).

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

टेंप्लेट डाउनलोड करने के बाद, JSON के कॉन्टेंट में ज़रूरी बदलाव करें और पुष्टि करने के बाद, इसे किसी प्रोजेक्ट में पब्लिश किया जा सकता है.

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

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

अपना टेंप्लेट पब्लिश करने के लिए, यहां दिए गए निर्देशों का पालन करें:

Firebase कंसोल

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

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

Java

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 निर्देश के लिए, "@" का इस्तेमाल करके कॉन्टेंट की जानकारी दी जा सकती है वर्ण और उसके बाद फ़ाइल नाम.

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

  • मनमुताबिक बनाने की सुविधा, प्रोजेक्ट से प्रोजेक्ट में इंपोर्ट नहीं की जा सकती.

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

  • शर्तों को प्रोजेक्ट से प्रोजेक्ट में इंपोर्ट किया जा सकता है. हालांकि, ध्यान रखें कि खास कंडीशनल वैल्यू (जैसे कि ऐप्लिकेशन आईडी या ऑडियंस) इनमें मौजूद होनी चाहिए को पब्लिश करने से पहले, टारगेट प्रोजेक्ट को मैन्युअल तरीके से सेट अप कर सकते हैं.

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

  • अगर आपको जिस टेंप्लेट को पब्लिश करना है उसमें ऐसी शर्तें शामिल हैं जो Google Analytics, टारगेट में Analytics चालू होना चाहिए प्रोजेक्ट. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

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

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

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

Android ऐप्लिकेशन के लिए, इन फ़ाइलों को एक्सएमएल फ़ॉर्मैट में डाउनलोड किया जा सकता है, प्रॉपर्टी की सूची (plist) फ़ॉर्मैट और iOS ऐप्लिकेशन के लिए JSON फ़ॉर्मैट में होनी चाहिए.

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

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

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 कंसोल

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

इसमें रिमोट कॉन्फ़िगरेशन की डिफ़ॉल्ट वैल्यू इंपोर्ट करने के बारे में ज़्यादा जानकारी मिलेगी ऐप्लिकेशन, देखें: