रिमोट कॉन्फिग सशर्त अभिव्यक्ति संदर्भ

इस पृष्ठ में रिमोट कॉन्फिग बैकएंड एपीआई या फायरबेस कंसोल का उपयोग करके सशर्त अभिव्यक्ति के निर्माण के लिए संदर्भ जानकारी शामिल है। बैकएंड एपीआई की स्थापना और उपयोग के बारे में अधिक जानकारी के लिए, रिमोट कॉन्फिग को प्रोग्रामेटिक रूप से संशोधित करें देखें।

परिस्थितियाँ बनाने के लिए प्रयुक्त तत्व

रिमोट कॉन्फिग आरईएसटी एपीआई उन्हीं तत्वों का समर्थन करता है जिनका उपयोग आप फायरबेस कंसोल का उपयोग करके रिमोट कॉन्फिग को कॉन्फ़िगर करते समय स्थितियां बनाने के लिए कर सकते हैं:

तत्व विवरण
&&

किसी शर्त के लिए एक से अधिक तत्वों का उपयोग करने पर तत्वों का तार्किक "और" बनाने के लिए उपयोग किया जाता है। यदि किसी तत्व का उपयोग REST सिंटैक्स में && के बिना किया जाता है, तो उस तत्व को एक शर्त के रूप में माना जाता है।

नोट: एम्परसेंड के पहले और बाद में एक स्थान आवश्यक है। उदाहरण के लिए: element1 && element2

app.build

किसी ऐप के बिल्ड नंबर के मूल्य के आधार पर TRUE या FALSE का मूल्यांकन करता है।

नोट: केवल Apple और Android डिवाइस पर उपलब्ध है। Apple के लिए, CFBundleVersion के मान का उपयोग करें और Android के लिए, VersionCode के मान का उपयोग करें।

app.version

किसी ऐप के संस्करण संख्या के मान के आधार पर TRUE या FALSE का मूल्यांकन करता है।

नोट: एंड्रॉइड डिवाइस के लिए VersionName के मान का उपयोग करें, और Apple डिवाइस के लिए CFBundleShortVersionString के मान का उपयोग करें।

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

ऑपरेटिंग सिस्टम पर आधारित एक तत्व जिस पर कोई ऐप चल रहा है। जब OS और OS संस्करण निर्दिष्ट लक्ष्य से मेल खाते हैं तो इसका मूल्यांकन TRUE

नोट: केवल वेब ऐप्स के लिए उपलब्ध है।

app.browserAndVersion

ब्राउज़र पर आधारित एक तत्व जिस पर कोई ऐप चल रहा है। जब ब्राउज़र और ब्राउज़र संस्करण निर्दिष्ट लक्ष्य से मेल खाते हैं तो इसका मूल्यांकन TRUE

नोट: केवल वेब ऐप्स के लिए उपलब्ध है।

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

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

  1. मनमाने ढंग से परिभाषित name (100 अक्षरों तक)
  2. एक सशर्त अभिव्यक्ति जो TRUE या FALSE का मूल्यांकन करती है, जो ऊपर दिखाए गए तत्वों से बनी है।
  3. (वैकल्पिक) tagColor , जो " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", या हो सकता है " TEAL ". रंग केस-असंवेदनशील है, और केवल यह प्रभावित करता है कि फायरबेस कंसोल में स्थितियाँ कैसे प्रदर्शित होती हैं।

समर्थित ऑपरेटर

उदाहरण के लिए, यदि वास्तविक ऐप बिल्ड 123 या 492 है तो app.build.notContains([123, 456])TRUE लौटाता है, लेकिन यदि वास्तविक ऐप बिल्ड 999 है तो FALSE लौटाता है। उदाहरण के लिए, यदि ऐप का वास्तविक संस्करण 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 लौटाता है - उदाहरण के लिए, "ए" और "बीसी" "एबीसी" के सबस्ट्रिंग हैं।
app.build .notContains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप बिल्ड का सबस्ट्रिंग नहीं है, तो TRUE लौटाता है।
app.build .exactlyMatches([...]) यदि वास्तविक ऐप बिल्ड सूची में किसी भी लक्ष्य मान से बिल्कुल मेल खाता है, तो TRUE लौटाता है।
app.build .matches([...]) यदि सूची में कोई लक्ष्य नियमित अभिव्यक्ति किसी सबस्ट्रिंग, या संपूर्ण, वास्तविक मान से मेल खाती है, तो TRUE लौटाता है। संपूर्ण स्ट्रिंग के मिलान को बाध्य करने के लिए, रेगुलर एक्सप्रेशन की प्रस्तावना "^" से करें और उसके पीछे "$" लगाएं। RE2 सिंटैक्स का उपयोग करता है.
app.version < , <= , == , != , >= , > यदि वास्तविक ऐप संस्करण संख्यात्मक रूप से ऑपरेटर से मेल खाने वाले तरीके से निर्दिष्ट मान से तुलना करता है तो TRUE लौटाता है।
app.version .contains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप संस्करण का एक सबस्ट्रिंग है, तो TRUE लौटाता है - उदाहरण के लिए, "ए" और "बीसी" "एबीसी" के सबस्ट्रिंग हैं।
app.version .notContains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप संस्करण का सबस्ट्रिंग नहीं है, तो TRUE लौटाता है।
app.version .exactlyMatches([...]) यदि वास्तविक ऐप संस्करण सूची में किसी भी लक्ष्य मान से बिल्कुल मेल खाता है तो TRUE लौटाता है।
app.version .matches([...]) यदि सूची में कोई लक्ष्य नियमित अभिव्यक्ति किसी सबस्ट्रिंग, या संपूर्ण, वास्तविक मान से मेल खाती है, तो TRUE लौटाता है। संपूर्ण स्ट्रिंग के मिलान को बाध्य करने के लिए, रेगुलर एक्सप्रेशन की प्रस्तावना "^" से करें और उसके पीछे "$" लगाएं। RE2 सिंटैक्स का उपयोग करता है.
app.operatingSystemAndVersion .inOne([...]) यदि OS और संस्करण सूची में किसी भी लक्ष्य मान से मेल खाता है, तो 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'] । डिवाइस देश कोड अनुरोध में डिवाइस के आईपी पते या फायरबेस एनालिटिक्स द्वारा निर्धारित देश कोड का उपयोग करके निर्धारित किया जाता है (यदि एनालिटिक्स डेटा फायरबेस के साथ साझा किया जाता है)।
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