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


क्लाइंट और सर्वर, दोनों के इस्तेमाल के उदाहरणों के लिए टेंप्लेट कॉन्फ़िगर किए जा सकते हैं. क्लाइंट टेंप्लेट, उन सभी ऐप्लिकेशन इंस्टेंस को दिखाए जाते हैं जो 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 कंसोल या 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 के तौर पर किया जाएगा.

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

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

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

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

इन नियमों से यह तय होता है कि किसी खास समय पर, टेंप्लेट के आकलन के दौरान कौनसी वैल्यू असाइन की जाती है:

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

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

सर्वर ऐप्लिकेशन में Remote Config टेंप्लेट को लोड करने और उसका आकलन करने के बारे में ज़्यादा जानकारी के लिए, सर्वर एनवायरमेंट में 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 कंसोल का इस्तेमाल करके, पैरामीटर ग्रुप बनाना या उनमें बदलाव करना

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

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

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

सर्वर ऐप्लिकेशन के लिए Remote Config टेंप्लेट, इन शर्तों के साथ काम करते हैं:

रैंडम प्रतिशत में उपयोगकर्ता

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

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

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

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

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

अपने ऐप्लिकेशन में, रैंडम प्रतिशत की शर्तें जोड़ने का तरीका जानने के लिए, अपना सर्वर ऐप्लिकेशन कॉन्फ़िगर करना लेख पढ़ें.

कस्टम सिग्नल

Firebase एडमिन Node.js SDK टूल 12.5.0 और इसके बाद के वर्शन के साथ, कस्टम सिग्नल की शर्त का इस्तेमाल करके, ऐप्लिकेशन में तय की गई अपनी पसंद की शर्तों को पूरा किया जा सकता है. इससे, हर क्लाइंट के अनुरोध के लिए सर्वर का जवाब ज़रूरत के हिसाब से तैयार किया जा सकता है.

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

  1. अपने Remote Config सर्वर टेंप्लेट में prompt और model_name पैरामीटर जोड़ें.
  2. आपको जिस प्लैटफ़ॉर्म को टारगेट करना है उसके लिए, platform वैल्यू वाले कस्टम सिग्नल जोड़ें.
  3. सर्वर के हिसाब से बनाए गए अपने Remote Config टेंप्लेट में डिफ़ॉल्ट वैल्यू जोड़ें. साथ ही, आपने जो प्लैटफ़ॉर्म कंडीशन तय की है उसके लिए शर्त के हिसाब से वैल्यू जोड़ें.
  4. platform कस्टम सिग्नल को सेट और इस्तेमाल करने के लिए, अपने ऐप्लिकेशन कोड को अपडेट करें.

अब आपका ऐप्लिकेशन, टेंप्लेट के आकलन के दौरान सही प्रॉम्प्ट और मॉडल निकाल सकता है. साथ ही, इनका इस्तेमाल करके हर क्लाइंट को पसंद के मुताबिक जवाब दे सकता है.

Firebase कंसोल में कस्टम सिग्नल बनाने के लिए, इन नियमों का इस्तेमाल किया जा सकता है.

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

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

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

संख्याएं <, <=, =, !=, >, >= ऐसी संख्या जिसमें दशमलव बिंदु के हर तरफ़ दस से ज़्यादा अंक न हों.
वर्शन <, <=, =, !=, >, >= वर्शन नंबर दिखाने वाला अंक, जैसे कि 2.1.0.

अपने ऐप्लिकेशन में कस्टम सिग्नल जोड़ने का तरीका जानने के लिए, अपना सर्वर ऐप्लिकेशन कॉन्फ़िगर करना लेख पढ़ें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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