रिमोट कॉन्फ़िगरेशन पैरामीटर और शर्तें


क्लाइंट और सर्वर, दोनों के इस्तेमाल के उदाहरणों के लिए टेंप्लेट कॉन्फ़िगर किए जा सकते हैं. क्लाइंट टेंप्लेट, उन सभी ऐप्लिकेशन इंस्टेंस को दिखाए जाते हैं जिनमें Remote Config के लिए Firebase क्लाइंट SDK टूल लागू किए गए हैं. इनमें Android, Apple, वेब, Unity, Flutter, और C++ ऐप्लिकेशन शामिल हैं. सर्वर के हिसाब से बनाए गए टेंप्लेट से Remote Config पैरामीटर और वैल्यू, Remote Config के उन लागू करने के तरीकों को दिखाई जाती हैं जो सर्वर के इन एनवायरमेंट का इस्तेमाल करते हैं:

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0 या इसके बाद का वर्शन

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

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

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

शर्तें, नियम, और शर्त के साथ वैल्यू

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

उदाहरण के लिए, किसी ऐप्लिकेशन के स्प्लैश पेज को तय करने वाला पैरामीटर, ओएस के टाइप के आधार पर अलग-अलग इमेज दिखा सकता है. इसके लिए, if device_os = Android नियम का इस्तेमाल किया जाता है:

Firebase कंसोल में 'splash_page' पैरामीटर का स्क्रीन कैप्चर. इसमें iOS के लिए इसकी डिफ़ॉल्ट वैल्यू और Android के लिए शर्त के साथ वैल्यू दिखाई गई है

इसके अलावा, समय की शर्त का इस्तेमाल करके यह कंट्रोल किया जा सकता है कि आपका ऐप्लिकेशन खास प्रमोशनल आइटम कब दिखाए.

किसी पैरामीटर में, अलग-अलग शर्तों का इस्तेमाल करने वाली कई कंडिशनल वैल्यू हो सकती हैं. साथ ही, पैरामीटर किसी प्रोजेक्ट में शर्तों को शेयर कर सकते हैं. Firebase कंसोल के पैरामीटर टैब में जाकर, हर पैरामीटर की शर्त के हिसाब से तय की गई वैल्यू के लिए फ़ेच किए गए डेटा का प्रतिशत देखा जा सकता है. इस मेट्रिक से पता चलता है कि पिछले 24 घंटों में, हर वैल्यू को कितने प्रतिशत अनुरोध मिले.

पैरामीटर वैल्यू की प्राथमिकता

किसी पैरामीटर से कई शर्तें जुड़ी हो सकती हैं. इन नियमों से यह तय होता है कि Remote Config टेंप्लेट से कौनसी वैल्यू फ़ेच की जाएगी और किसी ऐप्लिकेशन इंस्टेंस में किसी खास समय पर कौनसी वैल्यू इस्तेमाल की जाएगी:

  1. सबसे पहले, किसी क्लाइंट के अनुरोध के लिए true के तौर पर आकलन की गई किसी भी शर्त के लिए, शर्त के हिसाब से वैल्यू लागू की जाती हैं. अगर कई शर्तों का आकलन true के तौर पर किया जाता है, तो true कंसोल यूज़र इंटरफ़ेस (यूआई) में सबसे ऊपर दिखने वाली शर्त को प्राथमिकता दी जाती है. साथ ही, जब कोई ऐप्लिकेशन बैकएंड से वैल्यू फ़ेच करता है, तो उस शर्त से जुड़ी कंडीशनल वैल्यू दी जाती हैं.Firebase शर्तें टैब में शर्तों को खींचकर और छोड़कर, उनकी प्राथमिकता बदली जा सकती है.

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

आपके ऐप्लिकेशन में, पैरामीटर वैल्यू को get तरीकों से वापस लाया जाता है. ऐसा प्राथमिकता की इस सूची के हिसाब से किया जाता है

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

    डिफ़ॉल्ट वैल्यू पाने और सेट करने के बारे में ज़्यादा जानने के लिए, Remote Config टेंप्लेट की डिफ़ॉल्ट वैल्यू डाउनलोड करें लेख पढ़ें.

  3. अगर ऐप्लिकेशन में डिफ़ॉल्ट वैल्यू सेट नहीं की गई है, तो ऐप्लिकेशन स्टैटिक टाइप वाली वैल्यू का इस्तेमाल करता है. जैसे, int के लिए 0 और boolean के लिए false.

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

ऊपर दी गई क्रम से लगाई गई सूचियों में बताए गए फ़्लो को दिखाने वाला डायग्राम

पैरामीटर वैल्यू के डेटा टाइप

Remote Config की मदद से, हर पैरामीटर के लिए डेटा टाइप चुना जा सकता है. साथ ही, टेंप्लेट अपडेट करने से पहले, Remote Config की सभी वैल्यू की पुष्टि की जा सकती है. डेटा टाइप को सेव किया जाता है और getRemoteConfig अनुरोध पर वापस भेजा जाता है.

इस तरह के डेटा का इस्तेमाल किया जा सकता है:

  • String
  • Boolean
  • Number
  • JSON

Firebase कंसोल के यूज़र इंटरफ़ेस (यूआई) में, पैरामीटर की के बगल में मौजूद ड्रॉप-डाउन से डेटा टाइप चुना जा सकता है. REST API में, पैरामीटर ऑब्जेक्ट में मौजूद value_type फ़ील्ड का इस्तेमाल करके टाइप सेट किए जा सकते हैं.

पैरामीटर ग्रुप

Remote Config की मदद से, पैरामीटर को एक साथ ग्रुप किया जा सकता है. इससे यूज़र इंटरफ़ेस (यूआई) ज़्यादा व्यवस्थित दिखता है और इस्तेमाल करना आसान हो जाता है.

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

Firebase कंसोल या Firebase REST API का इस्तेमाल करके, पैरामीटर ग्रुप बनाए जा सकते हैं.Remote Config आपके बनाए गए हर पैरामीटर ग्रुप का नाम, आपके Remote Config टेंप्लेट में अलग होना चाहिए. पैरामीटर ग्रुप बनाते समय, इन बातों का ध्यान रखें:

  • पैरामीटर को एक समय पर सिर्फ़ एक ग्रुप में शामिल किया जा सकता है. साथ ही, पैरामीटर की कुंजी सभी पैरामीटर में अलग-अलग होनी चाहिए.
  • पैरामीटर ग्रुप के नाम में ज़्यादा से ज़्यादा 256 वर्ण हो सकते हैं.
  • अगर REST API और Firebase कंसोल, दोनों का इस्तेमाल किया जाता है, तो पक्का करें कि पब्लिश करने पर पैरामीटर ग्रुप को मैनेज करने के लिए, REST API के लॉजिक को अपडेट किया गया हो.

Firebase console का इस्तेमाल करके, पैरामीटर ग्रुप बनाना या उनमें बदलाव करना

Firebase कंसोल के पैरामीटर टैब में जाकर, पैरामीटर को ग्रुप किया जा सकता है. ग्रुप बनाने या उसमें बदलाव करने के लिए:

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

प्रोग्राम के हिसाब से ग्रुप बनाना

Remote Config REST API, पैरामीटर ग्रुप बनाने और उन्हें पब्लिश करने का एक ऑटोमेटेड तरीका उपलब्ध कराता है. मान लें कि आपको REST के बारे में जानकारी है और आपने एपीआई को अनुरोधों की अनुमति देने के लिए सेटअप किया है. ऐसे में, प्रोग्राम के हिसाब से ग्रुप मैनेज करने के लिए, यह तरीका अपनाएं:

  1. मौजूदा टेंप्लेट वापस पाना
  2. अपने पैरामीटर ग्रुप दिखाने के लिए, JSON ऑब्जेक्ट जोड़ना
  3. एचटीटीपी PUT अनुरोध का इस्तेमाल करके, पैरामीटर ग्रुप पब्लिश करें.

parameterGroups ऑब्जेक्ट में ग्रुप किए गए पैरामीटर की सूची और नेस्ट किया गया ब्यौरा होता है. ध्यान दें कि हर ग्रुप की कुंजी, दुनिया भर में यूनीक होनी चाहिए.

उदाहरण के लिए, यहां टेंप्लेट में किए गए बदलाव का एक स्निपेट दिया गया है. इसमें एक पैरामीटर pumpkin_spice_season के साथ पैरामीटर ग्रुप "new menu" जोड़ा गया है:

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …

  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's pumpkin spice season."
        }
      }
    }
  }
}

कस्टम सिग्नल की शर्तें

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

कस्टम सिग्नल की शर्तें, इन क्लाइंट एनवायरमेंट के लिए उपलब्ध हैं:

  • iOS: v11.8.0 या इसके बाद का वर्शन
  • Android: v22.1.0 या इसके बाद का वर्शन (Firebase BoM v33.8.0 या इसके बाद का वर्शन)
  • वेब: v11.2.0 या इसके बाद का वर्शन
  • Flutter: Flutter BoM का 3.6.0 या इसके बाद का वर्शन

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

  1. अपने Remote Config क्लाइंट टेंप्लेट में banner_image_url और banner_link जोड़ें. इनसे बैनर की इमेज और इस इमेज से जुड़ा इवेंट पेज दिखता है.
  2. अपने ऐप्लिकेशन से कस्टम सिग्नल सेट करें. इसके लिए, city और preferred_event_category वैल्यू का इस्तेमाल करें.
  3. अपने क्लाइंट के हिसाब से बनाए गए Remote Config टेंप्लेट में डिफ़ॉल्ट वैल्यू जोड़ें. साथ ही, पिछले चरण में सेट किए गए कस्टम सिग्नल के आधार पर, शर्त के हिसाब से वैल्यू बनाएं.
  4. अपने क्लाइंट के हिसाब से बनाए गए Remote Config टेंप्लेट में डिफ़ॉल्ट वैल्यू जोड़ें. साथ ही, आपने जो भी शर्तें तय की हैं उनके लिए, शर्तों के हिसाब से वैल्यू जोड़ें.
  5. कस्टम सिग्नल की शर्तों को सेट करने और उनका इस्तेमाल करने के लिए, अपने ऐप्लिकेशन कोड को अपडेट करें.

अब आपका ऐप्लिकेशन, Remote Config सर्वर से इन पैरामीटर को फ़ेच करते समय सही banner_image_url और banner_link डाउनलोड कर सकता है.

सीमाएं

कस्टम सिग्नल की शर्तें बनाते समय, आपको इन सीमाओं का पालन करना होगा:

  • कस्टम सिग्नल की संख्या: कस्टम सिग्नल की ज़्यादा से ज़्यादा 100 शर्तें बनाई जा सकती हैं.
  • कस्टम सिग्नल का नाम: हर कस्टम सिग्नल के नाम में ज़्यादा से ज़्यादा 250 वर्ण हो सकते हैं.
  • कस्टम सिग्नल वैल्यू: हर कस्टम सिग्नल वैल्यू में ज़्यादा से ज़्यादा 500 वर्ण हो सकते हैं. रेगुलर एक्सप्रेशन का इस्तेमाल करते समय, ज़्यादा से ज़्यादा 250 वर्ण इस्तेमाल किए जा सकते हैं.

शर्त के नियम के टाइप

Firebase कंसोल में, यहां दिए गए नियम लागू किए जा सकते हैं. Remote Config REST API में, मिलती-जुलती सुविधाएं उपलब्ध हैं. इनके बारे में शर्त के साथ एक्सप्रेशन के रेफ़रंस में बताया गया है.

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

इस एट्रिब्यूट का इस्तेमाल इस तरह करें:
  • Apple प्लैटफ़ॉर्म के लिए: ऐप्लिकेशन के CFBundleIdentifier का इस्तेमाल करें. बंडल आइडेंटिफ़ायर, Xcode में ऐप्लिकेशन के प्राइमरी टारगेट के सामान्य टैब में देखा जा सकता है.
  • Android के लिए: ऐप्लिकेशन के applicationId का इस्तेमाल करें. आपको applicationId, ऐप्लिकेशन-लेवल की build.gradle(.kts) फ़ाइल में मिल सकता है.
ऐप्लिकेशन वर्शन स्ट्रिंग वैल्यू के लिए:
पूरी तरह से मेल खाता है,
शामिल है,
शामिल नहीं है,
रेगुलर एक्सप्रेशन शामिल है

संख्यात्मक वैल्यू के लिए:
<, <=, =, !=, >, >=

अपने ऐप्लिकेशन के उन वर्शन के बारे में बताएं जिन्हें आपको टारगेट करना है.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़ा कोई Android/Apple ऐप्लिकेशन चुनना होगा.

Apple प्लैटफ़ॉर्म के लिए: ऐप्लिकेशन के CFBundleShortVersionString का इस्तेमाल करें.

ध्यान दें: पक्का करें कि आपका Apple ऐप्लिकेशन, Firebase Apple प्लैटफ़ॉर्म SDK टूल के 6.24.0 या इसके बाद के वर्शन का इस्तेमाल कर रहा हो. ऐसा इसलिए, क्योंकि CFBundleShortVersionString को पुराने वर्शन में नहीं भेजा जा रहा है. ज़्यादा जानकारी के लिए, रिलीज़ नोट देखें.

Android के लिए: ऐप्लिकेशन के versionName का इस्तेमाल करें.

इस नियम के लिए स्ट्रिंग की तुलना करना, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. पूरी तरह मेल खाने वाले, इसमें शामिल है, इसमें शामिल नहीं है या रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, एक से ज़्यादा वैल्यू चुनी जा सकती हैं.

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन की स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. ^ और $ ऐंकर का इस्तेमाल करके, टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से का मिलान भी किया जा सकता है.

बिल्ड नंबर स्ट्रिंग वैल्यू के लिए:
पूरी तरह से मेल खाता है,
शामिल है,
शामिल नहीं है,
रेगुलर एक्सप्रेशन

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

अपने ऐप्लिकेशन के उन बिल्ड के बारे में बताएं जिन्हें टारगेट करना है.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़े Apple या Android ऐप्लिकेशन को चुनना होगा.

यह ऑपरेटर सिर्फ़ Apple और Android ऐप्लिकेशन के लिए उपलब्ध है. यह Apple के लिए ऐप्लिकेशन के CFBundleVersion और Android के लिए versionCode से मेल खाता है. इस नियम के लिए स्ट्रिंग की तुलना करना, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है.

पूरी तरह मेल खाने वाले, इसमें शामिल है, इसमें शामिल नहीं है या रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, एक से ज़्यादा वैल्यू चुनी जा सकती हैं.

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से से मेल खाने के लिए, ^ और $ ऐंकर का इस्तेमाल भी किया जा सकता है.

प्लेटफ़ॉर्म == iOS
Android
वेब
 
ऑपरेटिंग सिस्टम ==

टारगेट किए जाने वाले ऑपरेटिंग सिस्टम चुनें.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़े वेब ऐप्लिकेशन को चुनना होगा.

अगर ऑपरेटिंग सिस्टम और उसका वर्शन, दी गई सूची में मौजूद टारगेट वैल्यू से मेल खाता है, तो यह नियम किसी वेब ऐप्लिकेशन इंस्टेंस के लिए true के तौर पर काम करता है.
ब्राउज़र ==

टारगेट किए जाने वाले ब्राउज़र चुनें.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़े वेब ऐप्लिकेशन को चुनना होगा.

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

इस नियम के लिए, ऐप्लिकेशन आईडी का नियम ज़रूरी है. इससे आपके Firebase प्रोजेक्ट से जुड़े ऐप्लिकेशन को चुना जा सकता है.

ध्यान दें: कई Analytics ऑडियंस को इवेंट या उपयोगकर्ता प्रॉपर्टी के हिसाब से तय किया जाता है. ये प्रॉपर्टी, ऐप्लिकेशन के उपयोगकर्ताओं की कार्रवाइयों पर आधारित हो सकती हैं. इसलिए, किसी ऐप्लिकेशन इंस्टेंस के लिए, ऑडियंस में शामिल उपयोगकर्ता नियम लागू होने में कुछ समय लग सकता है.

उपयोगकर्ता प्रॉपर्टी स्ट्रिंग वैल्यू के लिए:
contains,
does not contain,
exactly matches,
contains regex

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

ध्यान दें: क्लाइंट पर, उपयोगकर्ता की प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. संख्या वाले ऑपरेटर का इस्तेमाल करने वाली शर्तों के लिए, Remote Config, उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदलता है.
उपलब्ध Google Analytics उपयोगकर्ता प्रॉपर्टी की सूची में से चुनें. उपयोगकर्ता प्रॉपर्टी का इस्तेमाल करके, अपने ऐप्लिकेशन को उपयोगकर्ताओं के खास सेगमेंट के हिसाब से पसंद के मुताबिक बनाने का तरीका जानने के लिए, Remote Config और उपयोगकर्ता प्रॉपर्टी लेख पढ़ें.

उपयोगकर्ता प्रॉपर्टी के बारे में ज़्यादा जानने के लिए, यहां दी गई गाइड देखें:

पूरी तरह मेल खाने वाले, इसमें शामिल है, इसमें शामिल नहीं है या रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, एक से ज़्यादा वैल्यू चुनी जा सकती हैं.

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से से मेल खाने के लिए, ^ और $ ऐंकर का इस्तेमाल भी किया जा सकता है.

ध्यान दें: Remote Config की शर्तें बनाते समय, अपने-आप इकट्ठा होने वाली उपयोगकर्ता प्रॉपर्टी उपलब्ध नहीं होती हैं.
उपयोगकर्ताओं का प्रतिशत स्लाइडर (Firebase कंसोल में). REST API, <=, >, और between ऑपरेटरों का इस्तेमाल करता है. 0-100

इस फ़ील्ड का इस्तेमाल करके, ऐप्लिकेशन इंस्टेंस के रैंडम सैंपल में बदलाव किया जा सकता है. सैंपल का साइज़ 0.0001% जितना छोटा हो सकता है. इसके लिए, स्लाइडर विजेट का इस्तेमाल करके, उपयोगकर्ताओं (ऐप्लिकेशन इंस्टेंस) को रैंडम तरीके से ग्रुप में बांटा जा सकता है.

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

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

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

उदाहरण के लिए, अगर आपको दो ऐसी शर्तें बनानी हैं जो ऐप्लिकेशन के 5% उपयोगकर्ताओं पर लागू हों और एक-दूसरे से जुड़ी हों, तो एक शर्त को 0% से 5% के बीच के प्रतिशत से मैच करने के लिए कॉन्फ़िगर करें. इसके बाद, दूसरी शर्त को 5% से 10% के बीच की रेंज से मैच करने के लिए कॉन्फ़िगर करें. अगर आपको कुछ उपयोगकर्ताओं को दोनों ग्रुप में रैंडम तरीके से शामिल करना है, तो हर शर्त में मौजूद नियमों के लिए अलग-अलग सीड वैल्यू का इस्तेमाल करें.

इंपोर्ट किया गया सेगमेंट में है इंपोर्ट किए गए एक या उससे ज़्यादा सेगमेंट चुनें. इस नियम के लिए, कस्टम इंपोर्ट किए गए सेगमेंट सेट अप करना ज़रूरी है.
तिथि/समय पहले, बाद में तय की गई तारीख और समय. यह डिवाइस के टाइमज़ोन या तय किए गए टाइमज़ोन के हिसाब से होता है. जैसे, "(GMT+11) सिडनी का समय." यह कुकी, मौजूदा समय की तुलना डिवाइस के फ़ेच टाइम से करती है.
फ़र्स्ट ओपन रिपोर्ट पहले, बाद में तय की गई तारीख और समय, तय किए गए टाइमज़ोन में.

यह उन उपयोगकर्ताओं से मेल खाता है जिन्होंने तय की गई समयावधि में, टारगेट किए गए ऐप्लिकेशन को पहली बार खोला है.

इन SDK टूल की ज़रूरत होती है:

  • Firebase SDK for Google Analytics
  • Apple प्लैटफ़ॉर्म SDK v9.0.0+ या Android SDK v21.1.1+ (Firebase BoM v30.3.0+)
इंस्टॉलेशन आईडी में है टारगेट करने के लिए, एक या उससे ज़्यादा इंस्टॉलेशन आईडी (ज़्यादा से ज़्यादा 50) डालें. अगर किसी इंस्टॉल का आईडी, कॉमा लगाकर अलग की गई वैल्यू की सूची में शामिल है, तो यह नियम उस इंस्टॉल के लिए true के तौर पर काम करता है.

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

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

कस्टम सिग्नल स्ट्रिंग वैल्यू के लिए:
contains,
does not contain,
exactly matches,
contains regex

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

वर्शन वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

इस नियम के लिए स्ट्रिंग की तुलना करना, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. 'पूरी तरह से मेल खाता है', 'इसमें शामिल है', 'इसमें शामिल नहीं है' या 'इसमें रेगुलर एक्सप्रेशन शामिल है' ऑपरेटर का इस्तेमाल करते समय, एक से ज़्यादा वैल्यू चुनी जा सकती हैं. contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. ^ और $ ऐंकर का इस्तेमाल करके, टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से को मैच किया जा सकता है.

क्लाइंट एनवायरमेंट के लिए, इन डेटा टाइप का इस्तेमाल किया जा सकता है:
  • iOS: int, double
  • Android: int, long, double
  • वेब: नंबर

यह एक संख्या है, जो मैच करने के लिए वर्शन नंबर दिखाती है. उदाहरण के लिए, 2.1.0.

इस्तेमाल की जाने वाली कस्टम सिग्नल की शर्तों और शर्त के साथ एक्सप्रेशन के बारे में ज़्यादा जानने के लिए, कस्टम सिग्नल की शर्तें और शर्तें बनाने के लिए इस्तेमाल किए जाने वाले एलिमेंट लेख पढ़ें.

खोज के पैरामीटर और शर्तें

Firebase कंसोल में, अपने प्रोजेक्ट के पैरामीटर की, पैरामीटर वैल्यू की, और शर्तों की कुंजियां खोजी जा सकती हैं. इसके लिए, Remote Config पैरामीटर टैब में सबसे ऊपर मौजूद खोज बॉक्स का इस्तेमाल करें.

पैरामीटर और शर्तों की सीमाएं

किसी Firebase प्रोजेक्ट में, ज़्यादा से ज़्यादा 3,000 पैरामीटर और 2,000 शर्तें हो सकती हैं. पैरामीटर की कुंजियां 256 वर्णों तक हो सकती हैं. इनकी शुरुआत अंडरस्कोर या अंग्रेज़ी के अक्षर (A-Z, a-z) से होनी चाहिए. इनमें संख्याएं भी शामिल हो सकती हैं. किसी प्रोजेक्ट में पैरामीटर वैल्यू स्ट्रिंग की कुल लंबाई 10,00,000 वर्णों से ज़्यादा नहीं हो सकती.

पैरामीटर और शर्तों में हुए बदलाव देखना

Firebase कंसोल में जाकर, अपने Remote Config टेंप्लेट में हुए हाल के बदलाव देखे जा सकते हैं. हर पैरामीटर और शर्त के लिए, ये काम किए जा सकते हैं:

  • उस उपयोगकर्ता का नाम देखें जिसने पैरामीटर या शर्त में आखिरी बार बदलाव किया था.

  • अगर बदलाव उसी दिन हुआ है, तो देखें कि बदलाव को ऐक्टिव Remote Config टेंप्लेट में पब्लिश किए हुए कितने मिनट या घंटे हो गए हैं.

  • अगर बदलाव एक या उससे ज़्यादा दिन पहले हुआ था, तो वह तारीख देखें जब बदलाव को चालू Remote Config टेंप्लेट में पब्लिश किया गया था.

पैरामीटर के बदलाव का इतिहास

Remote Config पैरामीटर पेज पर, आखिरी बार पब्लिश किया गया कॉलम में, हर पैरामीटर में बदलाव करने वाले आखिरी उपयोगकर्ता और बदलाव को आखिरी बार पब्लिश करने की तारीख दिखती है:

  • ग्रुप किए गए पैरामीटर के लिए बदलाव का मेटाडेटा देखने के लिए, पैरामीटर ग्रुप को बड़ा करें.

  • पब्लिश करने की तारीख के हिसाब से बढ़ते या घटते क्रम में लगाने के लिए, पिछली बार पब्लिश किया गया कॉलम के लेबल पर क्लिक करें.

शर्तों के बदलाव का इतिहास

Remote Config शर्तें पेज पर, आपको हर शर्त के नीचे पिछली बार बदलाव किया गया के बगल में, उस उपयोगकर्ता का नाम और बदलाव करने की तारीख दिखती है जिसने शर्त में पिछली बार बदलाव किया था.

अगले चरण