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


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

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

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

Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए Remote Config REST API और एडमिन SDK टूल या Firebase सीएलआई का इस्तेमाल करके, क्लाइंट टेंप्लेट का इस्तेमाल किया जा सकता है.

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

{
  "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 कंसोल की मदद से, वर्शन मैनेजमेंट से जुड़े ये काम किए जा सकते हैं:

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

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

Remote Config कंसोल पर, बदलाव का इतिहास पेज से, ज़रूरत के हिसाब से Remote Config टेंप्लेट मिटाए जा सकते हैं.

Remote Config टेंप्लेट के वर्शन मैनेज करना

इस सेक्शन में, अपने Remote Config टेंप्लेट के वर्शन मैनेज करने का तरीका बताया गया है.

Remote Config टेंप्लेट के सेव किए गए सभी वर्शन की सूची बनाएं

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

Firebase कंसोल

पैरामीटर टैब में, "घड़ी" चुनें आइकॉन पर क्लिक करें. इससे, बदलाव का इतिहास पेज खुलता है. इस पेज पर, दाईं ओर मौजूद सूची मेन्यू में टेंप्लेट के सभी सेव किए गए वर्शन दिखते हैं.

सेव किए गए हर वर्शन के लिए दिखाई गई जानकारी में यह जानकारी शामिल होती है कि बदलाव, Console में हुए हैं या REST API में, या रोलबैक की वजह से हुए हैं या टेंप्लेट को जबरन सेव करने की वजह से हुए हैं.

Firebase सीएलआई

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

Remote Config टेंप्लेट का कोई खास वर्शन वापस लाना

Remote Config टेंप्लेट का सेव किया गया कोई भी वर्शन वापस पाया जा सकता है. सेव किए गए टेंप्लेट को वापस पाने के लिए वर्शन:

Firebase कंसोल

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

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

Firebase सीएलआई

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 के बिना अनुरोध करें पैरामीटर की मदद से मौजूदा चालू टेंप्लेट को फिर से हासिल किया जा सकेगा.

Remote Config टेंप्लेट के सेव किए गए किसी खास वर्शन पर वापस जाना

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

Firebase कंसोल

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

Firebase सीएलआई

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

सेव किए गए किसी Remote Config टेंप्लेट पर रोल बैक करने के लिए, इनके साथ एक एचटीटीपी पीओएसटी जारी करें कस्टम तरीके :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 होता है. ओरिजनल वर्शन 6 अब भी सेव रहेगा, बशर्ते उसकी समयसीमा खत्म न हुई हो. साथ ही, वर्शन 11 चालू टेम्प्लेट बन जाएगा.

Remote Config टेंप्लेट मिटाना

Firebase कंसोल से Remote Config टेंप्लेट मिटाए जा सकते हैं. Remote Config टेंप्लेट मिटाने के लिए:

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

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

Remote Config टेंप्लेट डाउनलोड और पब्लिश करें

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

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

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

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

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

Remote Config टेंप्लेट को एक्सपोर्ट और इंपोर्ट करने के लिए:

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

मौजूदा Remote Config टेंप्लेट डाउनलोड करना

JSON फ़ॉर्मैट में चालू Remote Config टेंप्लेट डाउनलोड करने के लिए, नीचे दिए गए निर्देशों का पालन करें:

Firebase कंसोल

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

Firebase सीएलआई

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 Admin 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 नहीं).

Remote Config का टेंप्लेट पब्लिश करें

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

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

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

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

Firebase कंसोल

  1. Remote Config पैरामीटर या शर्तें टैब में, मेन्यू खोलें और फ़ाइल से पब्लिश करें को चुनें.
  2. जब कहा जाए, तब ब्राउज़ करें पर क्लिक करें. इसके बाद, उस Remote Config फ़ाइल पर जाएं और उसे चुनें जिसे पब्लिश करना है. इसके बाद, चुनें पर क्लिक करें.
  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 कमांड के लिए, "@" वर्ण के बाद फ़ाइल का नाम इस्तेमाल करके कॉन्टेंट की जानकारी दी जा सकती है.

Remote Config डाउनलोड किए गए टेंप्लेट में, उपयोगकर्ताओं के हिसाब से कॉन्टेंट बनाने की सुविधा और शर्तें शामिल होती हैं. इसलिए, किसी दूसरे प्रोजेक्ट में पब्लिश करने के दौरान, इन सीमाओं का ध्यान रखना ज़रूरी है:

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

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

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

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

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

Remote Config के टेंप्लेट की डिफ़ॉल्ट सेटिंग डाउनलोड करें

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

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

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

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

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

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. जब कहा जाए, तब उस रेडियो बटन पर क्लिक करें जो फ़ाइल से जुड़ा है उस फ़ॉर्मैट को चुनें जिसे आपको डाउनलोड करना है. इसके बाद, फ़ाइल डाउनलोड करें पर क्लिक करें.

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