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


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

  • Firebase Admin Node.js SDK v12.1.0 या इसके बाद का वर्शन
  • Firebase Admin Python SDK v6.7.0 या इसके बाद का वर्शन
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.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 कंसोल में DevOps और यूज़र ऐक्टिविटी > रिमोट कॉन्फ़िगरेशन > पैरामीटर पेज पर जाएं. इस मेट्रिक से पता चलता है कि पिछले 24 घंटों में, हर वैल्यू को कितने प्रतिशत अनुरोध मिले.

आईपीवी6 के साथ आईपी पते के आधार पर ऐक्सेस कंट्रोल की सुविधा का इस्तेमाल करने से जुड़ी सीमाएं

Remote Config का इस्तेमाल, आईपी पते के आधार पर ऐक्सेस करने की नीतियां लागू करने के लिए किया जाता है. हालांकि, IPv6 के साथ इसका इस्तेमाल सीमित तौर पर किया जा सकता है. अगर आपका संगठन, कुछ सार्वजनिक आईपी पतों की रेंज को ऐक्सेस करने पर पाबंदी लगाता है, तो IPv6 नेटवर्क से कनेक्ट करने पर ये समस्याएं हो सकती हैं:

  • कंसोल ऐक्सेस: ऐसा हो सकता है कि Firebase कंसोल में, Remote Config की कुछ सुविधाओं का इस्तेमाल न किया जा सके. जैसे, डेटा लोड करना या टारगेटिंग सेट अप करना.
  • क्लाइंट ऐक्सेस: क्लाइंट ऐप्लिकेशन को PERMISSION_DENIED गड़बड़ियां मिल सकती हैं.

इन समस्याओं से बचने के लिए, हमारा सुझाव है कि आप अपने नेटवर्क को IPv4 का इस्तेमाल करने के लिए कॉन्फ़िगर करें या अपने संगठन की अनुमति वाली सूची में, Firebase की ज़रूरी आईपी रेंज जोड़ें.

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

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

  1. सबसे पहले, शर्तों के हिसाब से वैल्यू लागू की जाती हैं. ये वैल्यू, क्लाइंट के किसी अनुरोध के लिए 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 कंसोल या Remote Config REST API का इस्तेमाल करके, पैरामीटर ग्रुप बनाए जा सकते हैं. आपके बनाए गए हर पैरामीटर ग्रुप का नाम, आपके Remote Config टेंप्लेट में अलग होना चाहिए. पैरामीटर ग्रुप बनाते समय, इन बातों का ध्यान रखें:

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

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

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

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

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

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

  1. मौजूदा टेंप्लेट वापस पाना
  2. अपने पैरामीटर ग्रुप दिखाने के लिए, JSON ऑब्जेक्ट जोड़ना
  3. HTTP 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 का इस्तेमाल करें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

इन एसडीके की ज़रूरत होती है:

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

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

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

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

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

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

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

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

मिलान करने के लिए वर्शन नंबर दिखाने वाला अंक (उदाहरण के लिए, 2.1.0).

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

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

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

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

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

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

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

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

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

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

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

Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > रिमोट कॉन्फ़िगरेशन > पैरामीटर पेज पर जाएं. आखिरी बार पब्लिश किया गया कॉलम में, हर पैरामीटर में बदलाव करने वाले आखिरी उपयोगकर्ता का नाम दिखता है. साथ ही, बदलाव को आखिरी बार पब्लिश करने की तारीख भी दिखती है:

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

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

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

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

अगले चरण

Remote Config का इस्तेमाल करने के लिए, अपने Firebase प्रोजेक्ट और ऐप्लिकेशन को कॉन्फ़िगर करने का तरीका जानने के लिए, Firebase Remote Config का इस्तेमाल शुरू करना लेख पढ़ें.