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

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

शर्तें बनाने के लिए इस्तेमाल किए जाने वाले एलिमेंट

Remote Config REST API उन ही एलिमेंट के साथ काम करता है जिनका इस्तेमाल, Firebase कंसोल का इस्तेमाल करके Remote Config को कॉन्फ़िगर करते समय शर्तें तय करने के लिए किया जा सकता है:

तत्व ब्यौरा
&&

किसी शर्त के लिए एक से ज़्यादा एलिमेंट का इस्तेमाल करने पर, एलिमेंट के लॉजिकल "और" बनाने के लिए इस्तेमाल किया जाता है. अगर किसी एलिमेंट का इस्तेमाल REST सिंटैक्स में बिना && , उस एलिमेंट को स्थिति माना जाता है.

ध्यान दें: ऐंपरसैंड से पहले और बाद में स्पेस होना ज़रूरी है. उदाहरण के लिए: element1 && element2.

app.build

ऐप्लिकेशन के बिल्ड नंबर की वैल्यू के आधार पर, TRUE या FALSE का आकलन करता है.

ध्यान दें: यह सुविधा सिर्फ़ Apple और Android डिवाइसों पर उपलब्ध है. Apple के लिए, CFBundleVersion की वैल्यू का इस्तेमाल करें. वहीं, Android के लिए, versionCode की वैल्यू का इस्तेमाल करें.

app.version

ऐप्लिकेशन के वर्शन नंबर की वैल्यू के आधार पर, TRUE या FALSE का आकलन करता है.

ध्यान दें: Android डिवाइसों के लिए, versionName की वैल्यू इस्तेमाल करें, और Apple डिवाइसों के लिए, CFBundleShortVersionString वैल्यू का इस्तेमाल किया जाता है.

app.id ऐप्लिकेशन के Firebase ऐप्लिकेशन आईडी पर आधारित एलिमेंट
app.audiences ऐसा एलिमेंट जो TRUE या FALSE के आधार पर आकलन करता है उपयोगकर्ता के होने या न होने पर Firebase Analytics की ऑडियंस.
app.firstOpenTimestamp उपयोगकर्ता के पहली बार किसी ऐप्लिकेशन को लॉन्च करने पर आधारित एलिमेंट. इन एलिमेंट से जानकारी ली जाती है Google Analytics first_open इवेंट. तारीख के लिए ISO फ़ॉर्मैट का इस्तेमाल करता है. साथ ही, इसमें किसी तय टाइम ज़ोन को बताने का विकल्प भी होता है. उदाहरण के लिए, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles'). अगर कोई टाइम ज़ोन तय नहीं किया गया है, तो जीएमटी का इस्तेमाल किया जाता है.
app.userProperty यह एक ऐसा एलिमेंट है जो Firebase Analytics उपयोगकर्ता प्रॉपर्टी की संख्या या स्ट्रिंग वैल्यू के आधार पर, TRUE या FALSE का आकलन करता है.
app.operatingSystemAndVersion

यह एलिमेंट, उस ऑपरेटिंग सिस्टम पर आधारित होता है जिस पर ऐप्लिकेशन चल रहा है. जब ओएस और ओएस वर्शन, तय किए गए टारगेट से मैच करता है, तो इसका आकलन TRUE के तौर पर किया जाता है.

ध्यान दें: सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है.

app.browserAndVersion

वह एलिमेंट जो उस ब्राउज़र पर आधारित होता है जिस पर ऐप्लिकेशन चल रहा है. ब्राउज़र और ब्राउज़र वर्शन के मेल खाने पर TRUE की वैल्यू असाइन होती है तय टारगेट.

ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है.

app.firebaseInstallationId यह एलिमेंट, किसी खास डिवाइस के इंस्टॉलेशन के आईडी पर आधारित होता है. जब इंस्टॉलेशन आईडी , दिए गए इंस्टॉलेशन आईडी से मेल खाता है, तो यह वैल्यू TRUE पर सेट हो जाती है.
device.country उस देश/इलाके के आधार पर एलिमेंट जहां डिवाइस मौजूद है. इसका इस्तेमाल करके ISO 3166-1 alpha-2 स्टैंडर्ड (उदाहरण के लिए, US या UK). इसका आकलन करता है: जब कोई देश अनुमानित देश कोड से मेल खाता है, तो TRUE.
device.dateTime यह एलिमेंट, डिवाइस के आखिरी फ़ेच के समय पर आधारित होता है. ISO के साथ तारीख फ़ॉर्मैट का इस्तेमाल करता है कोई तय टाइम ज़ोन बताने का विकल्प; उदाहरण के लिए, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles').
device.language डिवाइस पर चुनी गई भाषा के हिसाब से एलिमेंट. भाषा को आईईटीएफ़ भाषा टैग का इस्तेमाल करके दिखाया जाता है, जैसे कि es-ES, pt-BR या en-US. जब कोई भाषा, अनुमानित भाषा से मेल खाती है, तो नतीजे TRUE में मिलता है कोड.
device.os किसी डिवाइस (Apple या Android) पर इस्तेमाल किए गए ऑपरेटिंग सिस्टम के हिसाब से एक एलिमेंट. डिवाइस का ओएस सही होने पर, इसकी वैल्यू TRUE होती है.
percent उपयोगकर्ता को बिना किसी क्रम के शामिल किए जाने के आधार पर TRUE का आकलन करता है असाइन किया गया फ़्रैक्शनल प्रतिशत (सैंपल साइज़ 0.000001% तक)

सिंगल-एलिमेंट कंडीशन में तीन फ़ील्ड होते हैं:

  1. अपनी पसंद के मुताबिक तय किया गया name (ज़्यादा से ज़्यादा 100 वर्ण)
  2. एक कंडिशनल एक्सप्रेशन जिसका आकलन TRUE या FALSE करता है, इसमें ऊपर दी गई चीज़ें शामिल होती हैं.
  3. (ज़रूरी नहीं) tagColor, जो "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" या "TEAL" हो सकता है. रंग के लिए केस-सेंसिटिविटी लागू नहीं होती. इसका असर सिर्फ़ Firebase कंसोल में शर्तों के दिखने के तरीके पर पड़ता है.

इस्तेमाल किए जा सकने वाले ऑपरेटर

उदाहरण के लिए, अगर app.build.notContains([123, 456]), TRUE दिखाता है, तो वास्तविक ऐप्लिकेशन बिल्ड 123 या 492 है, लेकिन यह FALSE दिखाता है, असल ऐप्लिकेशन बिल्ड 999 है. उदाहरण के लिए, अगर ऐप्लिकेशन का असल वर्शन 123 या 492 है, तो app.version.notContains([123, 456]) TRUE दिखाता है. हालांकि, अगर ऐप्लिकेशन का असल वर्शन 999 है, तो FALSE दिखाता है.
तत्व ये ऑपरेटर इस्तेमाल किए जा सकते हैं ब्यौरा
app.audiences .inAtLeastOne([...]) अगर असल ऑडियंस, सूची में मौजूद कम से कम एक ऑडियंस के नाम से मैच करती है, तो TRUE दिखाता है.
उदाहरण के लिए:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) अगर असल ऑडियंस कम से कम मेल नहीं खाती है, तो TRUE लौटाता है एक ऑडियंस नाम डालें.
app.audiences .inAll([...]) अगर असल ऑडियंस, सूची में मौजूद हर ऑडियंस के नाम का सदस्य है, तो TRUE दिखाता है.
app.audiences .notInAll([...]) अगर वास्तविक दर्शक किसी भी सदस्य का सदस्य नहीं है, तो TRUE लौटाता है सूची में मौजूद ऑडियंस.
app.firstOpenTimestamp <=, > यह बताए गए समय के साथ first_open इवेंट के समय की तुलना करता है स्थिति में समय और TRUE या FALSE दिखाता है ऑपरेटर के आधार पर.
इस्तेमाल के उदाहरण:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
कोई रेंज तय करने के लिए:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') अगर कोई टाइम ज़ोन नहीं दिया गया है, तो जीएमटी का इस्तेमाल किया जाता है.
app.userProperty <, <=, ==, !=, >=, > अगर असल उपयोगकर्ता प्रॉपर्टी अंकों के हिसाब से तुलना करती है, तो यह वैल्यू TRUE दिखाता है वैल्यू को ऑपरेटर से मैच करने वाले तरीके से बदलना चाहिए.
app.userProperty .contains([...]) अगर टारगेट की कोई वैल्यू, असल उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग है, तो TRUE दिखाता है.
app.userProperty .notContains([...]) अगर कोई भी टारगेट वैल्यू, असल उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग नहीं है, तो TRUE दिखाता है.
app.userProperty .exactlyMatches([...]) अगर असल उपयोगकर्ता प्रॉपर्टी, सूची में मौजूद टारगेट वैल्यू में से किसी से पूरी तरह मैच करती है, तो TRUE दिखाता है. यह केस-सेंसिटिव होता है.
app.userProperty .matches([...]) अगर सूची में मौजूद कोई टारगेट रेगुलर एक्सप्रेशन, असल वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच करता है, तो TRUE दिखाता है. पूरी स्ट्रिंग को ज़बरदस्ती मैच करने के लिए, रेगुलर एक्सप्रेशन की शुरुआत "^" से करें और उसे "$" लगाकर जोड़ दें. इस्तेमाल RE2 सिंटैक्स.
app.id == अगर दी गई वैल्यू, ऐप्लिकेशन के ऐप्लिकेशन आईडी से मेल खाती है, तो TRUE दिखाता है.
app.build <, <=, ==, !=, >=, > अगर असल ऐप्लिकेशन बिल्ड की संख्या, ऑपरेटर से मैच करने वाली वैल्यू से मेल खाती है, तो TRUE दिखाता है.
app.build .contains([...]) अगर टारगेट की कोई वैल्यू, ऐप्लिकेशन के असल बिल्ड की सबस्ट्रिंग है, तो TRUE दिखाता है. उदाहरण के लिए, "a" और "bc", "abc" की सबस्ट्रिंग हैं.
app.build .notContains([...]) अगर कोई भी टारगेट वैल्यू, ऐप्लिकेशन के असल बिल्ड की सबस्ट्रिंग नहीं है, तो TRUE दिखाता है.
app.build .exactlyMatches([...]) अगर असल ऐप्लिकेशन बिल्ड, सूची में मौजूद टारगेट वैल्यू में से किसी से पूरी तरह मैच होता है, तो TRUE दिखाता है.
app.build .matches([...]) अगर सूची में मौजूद कोई टारगेट रेगुलर एक्सप्रेशन, असली वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच करता है, तो TRUE दिखाता है. पूरी स्ट्रिंग के साथ मैच करने के लिए, रेगुलर एक्सप्रेशन के शुरू में "^" और आखिर में "$" लगाएं. इसमें RE2 सिंटैक्स का इस्तेमाल किया जाता है.
app.version <, <=, ==, !=, >=, > अगर ऐप्लिकेशन के असल वर्शन की संख्या के हिसाब से तुलना की जाती है, तो TRUE फ़ंक्शन दिखाता है वैल्यू को ऑपरेटर से मैच करने वाले तरीके से बदलना चाहिए.
app.version .contains([...]) अगर कोई टारगेट मान इसकी सबस्ट्रिंग है, तो TRUE लौटाता है ऐप्लिकेशन का असल वर्शन—उदाहरण के लिए, "a" और "bc" इसकी सबस्ट्रिंग हैं "abc".
app.version .notContains([...]) अगर कोई भी टारगेट मान इसकी सबस्ट्रिंग नहीं है, तो TRUE लौटाता है ऐप्लिकेशन का असल वर्शन है.
app.version .exactlyMatches([...]) अगर ऐप्लिकेशन का असल वर्शन पूरी तरह मेल खाता है, तो TRUE फ़ंक्शन दिखाता है कोई सूची में मौजूद टारगेट वैल्यू.
app.version .matches([...]) अगर कोई रेगुलर एक्सप्रेशन को टारगेट करता है, तो यह वैल्यू TRUE दिखाता है सूची, वास्तविक मान की किसी सबस्ट्रिंग या पूरी से मेल खाती है. पूरी स्ट्रिंग के साथ मैच करने के लिए, रेगुलर एक्सप्रेशन के शुरू में "^" और आखिर में "$" लगाएं. इसमें RE2 सिंटैक्स का इस्तेमाल किया जाता है.
app.operatingSystemAndVersion .inOne([...]) अगर ओएस और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी से मैच होता है, तो TRUE दिखाता है.
उदाहरण के लिए:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) अगर ब्राउज़र और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी से मैच होता है, तो TRUE दिखाता है.
उदाहरण के लिए:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] इंस्टॉलेशन आईडी होने पर TRUE लौटाता है सूची में मौजूद किसी से मैच करता है. इस्तेमाल के उदाहरण: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] डिवाइस का देश होने पर TRUE लौटाता है सूची में मौजूद किसी से मैच करता है. इस्तेमाल का उदाहरण: device.country in ['gb', 'us']. डिवाइस के देश का कोड, अनुरोध में डिवाइस के आईपी पते का इस्तेमाल करके तय किया जाता है. इसके अलावा, अगर Analytics का डेटा Firebase के साथ शेयर किया जाता है, तो Firebase Analytics से तय किए गए देश के कोड का इस्तेमाल करके भी डिवाइस के देश का कोड तय किया जा सकता है.
device.dateTime <=, > यह मौजूदा समय की तुलना, शर्त के टारगेट समय से करता है. साथ ही, ऑपरेटर के आधार पर TRUE या FALSE का आकलन करता है. इस्तेमाल के उदाहरण: dateTime < dateTime('2017-03-22T13:39:44').
device.language in [...] अगर ऐप्लिकेशन की किसी भी भाषा का मिलान किसी भाषा से होता है, तो TRUE लौटाता है सूची में शामिल करें. इस्तेमाल का उदाहरण: device.language in ['en-UK', 'en-US'].
device.os ==, != अगर डिवाइस का ऑपरेटिंग सिस्टम, ऑपरेटर से मैच करने वाले फ़ील्ड की वैल्यू से तुलना करता है, तो TRUE दिखाता है.
percent <=, >, between अगर percent फ़ील्ड में मौजूद वैल्यू, ऑपरेटर से मैच करने वाली वैल्यू से तुलना होती है, तो TRUE दिखाता है.

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

ऐसा करने के लिए, ऑपरेटर से पहले सीड का नाम डालें, जैसा कि इस उदाहरण में दिखाया गया है:

percent('keyName') <= 10

किसी खास रेंज को कॉन्फ़िगर करने के लिए, between ऑपरेटर का इस्तेमाल किया जा सकता है. डिफ़ॉल्ट सीड का इस्तेमाल करके, 20 से 60 के बीच उपयोगकर्ताओं की रेंज कॉन्फ़िगर करने के लिए:

percent between 20 and 60

कस्टम सीड का इस्तेमाल करके, 60 से 80 के बीच के उपयोगकर्ताओं की रेंज को कॉन्फ़िगर करने के लिए:

percent('seedName') between 60 and 80