इस पेज पर, शर्तों वाले एक्सप्रेशन बनाने के बारे में जानकारी दी गई है. इसके लिए, Remote Config बैकएंड एपीआई या Firebase कंसोल का इस्तेमाल किया जा सकता है. बैकएंड एपीआई सेट अप करने और उनका इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, प्रोग्राम के ज़रिए रिमोट कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.
शर्तें बनाने के लिए इस्तेमाल किए जाने वाले एलिमेंट
Remote Config REST API, उन सभी एलिमेंट के साथ काम करता है जिनका इस्तेमाल, Remote Config को कॉन्फ़िगर करते समय, शर्तें बनाने के लिए किया जा सकता है:
| एलिमेंट | ब्यौरा |
|---|---|
&& |
अगर किसी शर्त के लिए एक से ज़्यादा एलिमेंट
का इस्तेमाल किया जा रहा है, तो एलिमेंट का लॉजिकल "और" बनाने के लिए इसका इस्तेमाल किया जाता है. अगर किसी एलिमेंट का इस्तेमाल REST सिंटैक्स में
ध्यान दें: ऐंपरसैंड से पहले और बाद में एक स्पेस होना ज़रूरी है. उदाहरण के लिए:
|
app.build |
किसी ऐप्लिकेशन के बिल्ड नंबर की वैल्यू के आधार पर, ध्यान दें: यह सुविधा सिर्फ़ Apple और Android डिवाइसों पर उपलब्ध है. Apple के लिए, CFBundleVersion की वैल्यू का इस्तेमाल करें. वहीं, Android के लिए, versionCode की वैल्यू का इस्तेमाल करें. |
app.version |
किसी ऐप्लिकेशन के वर्शन नंबर की वैल्यू के आधार पर, ध्यान दें: 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 |
एक ऐसा एलिमेंट जो TRUE या FALSE के तौर पर नतीजा दिखाता है, जो Google Analytics उपयोगकर्ता प्रॉपर्टी की संख्या या स्ट्रिंग वैल्यू पर आधारित होता है. |
app.operatingSystemAndVersion |
एक ऐसा एलिमेंट जो उस ऑपरेटिंग सिस्टम के आधार पर होता है जिस पर कोई ऐप्लिकेशन चल रहा है.
ओएस और ओएस वर्शन, बताए गए
टारगेट से मैच होने पर, ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.browserAndVersion |
एक ऐसा एलिमेंट जो उस ब्राउज़र के आधार पर होता है जिस पर कोई ऐप्लिकेशन चल रहा है.
ब्राउज़र और ब्राउज़र वर्शन, बताए गए टारगेट से मैच होने पर, ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.firebaseInstallationId |
एक ऐसा एलिमेंट जो खास डिवाइस इंस्टॉलेशन के आईडी के आधार पर होता है.
इंस्टॉलेशन आईडी, बताए गए किसी एक इंस्टॉलेशन आईडी से मैच होने पर, TRUE के तौर पर नतीजा दिखाता है. |
app.customSignal |
एक ऐसा एलिमेंट जो कस्टम सिग्नल की शर्तों की संख्या, सिमैंटिक या स्ट्रिंग वैल्यू के आधार पर, TRUE या FALSE के तौर पर नतीजा दिखाता है. |
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% जितना छोटा हो सकता है. |
एक एलिमेंट वाली शर्त में तीन फ़ील्ड होते हैं:
- अपनी मर्ज़ी से तय किया गया
name(ज़्यादा से ज़्यादा 100 वर्ण) - एक शर्त वाला एक्सप्रेशन जो
TRUEयाFALSEके तौर पर नतीजा दिखाता है. यह ऊपर दिखाए गए एलिमेंट से बना होता है. - (ज़रूरी नहीं)
tagColor. यह "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" या "TEAL" हो सकता है. रंग केस-इनसेंसिटिव होता है. साथ ही, इससे सिर्फ़ यह तय होता है कि Firebase कंसोल में शर्तें कैसे दिखेंगी.
ये ऑपरेटर इस्तेमाल किए जा सकते हैं
उदाहरण के लिए,app.build.notContains([123, 456]) का नतीजा TRUE होता है, अगर
ऐप्लिकेशन का मौजूदा बिल्ड 123 या 492 है. हालांकि, अगर ऐप्लिकेशन का
मौजूदा बिल्ड 999 है, तो इसका नतीजा FALSE होता है.
उदाहरण के लिए,
app.version.notContains([123, 456]) का नतीजा TRUE होता है, अगर
ऐप्लिकेशन का मौजूदा वर्शन 123 या 492 है. हालांकि, अगर ऐप्लिकेशन का मौजूदा वर्शन 999 है, तो इसका नतीजा FALSE होता है.
| एलिमेंट | ये ऑपरेटर इस्तेमाल किए जा सकते हैं | ब्यौरा |
|---|---|---|
app.audiences |
.inAtLeastOne([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद कम से कम एक
ऑडियंस के नाम से मैच होती है, तो app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद कम से कम एक ऑडियंस के नाम से मैच नहीं होती है, तो |
app.audiences |
.inAll([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद हर
ऑडियंस के नाम की सदस्य है, तो |
app.audiences |
.notInAll([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद किसी भी ऑडियंस की सदस्य नहीं है, तो |
app.firstOpenTimestamp |
<=, > |
यह |
app.userProperty |
<, <=, ==, !=,
>=, > |
अगर मौजूदा उपयोगकर्ता प्रॉपर्टी की तुलना, संख्या के आधार पर शर्त में बताई गई वैल्यू से की जाती है और वह ऑपरेटर से मैच होती है, तो |
app.userProperty |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग है, तो |
app.userProperty |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग नहीं है, तो |
app.userProperty |
.exactlyMatches([...]) |
अगर मौजूदा उपयोगकर्ता प्रॉपर्टी, सूची में मौजूद टारगेट वैल्यू में से किसी एक से पूरी तरह
(केस-सेंसिटिव) मैच होती है, तो |
app.userProperty |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.id |
== |
अगर बताई गई वैल्यू, ऐप्लिकेशन के ऐप्लिकेशन आईडी से मैच होती है, तो |
app.build |
<, <=, ==, !=,
>=, > |
अगर ऐप्लिकेशन के मौजूदा बिल्ड की तुलना, संख्या के आधार पर शर्त में बताई गई वैल्यू से की जाती है और वह ऑपरेटर से मैच होती है, तो |
app.build |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा बिल्ड की सबस्ट्रिंग है, तो |
app.build |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा बिल्ड की सबस्ट्रिंग नहीं है, तो |
app.build |
.exactlyMatches([...]) |
अगर ऐप्लिकेशन का मौजूदा बिल्ड, सूची में मौजूद टारगेट वैल्यू में से
किसी एक से पूरी तरह मैच होता है, तो |
app.build |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.version |
<, <=, ==, !=,
>=, > |
अगर ऐप्लिकेशन के मौजूदा वर्शन की तुलना, संख्या के आधार पर शर्त में बताई गई वैल्यू से की जाती है और वह ऑपरेटर से मैच होती है, तो |
app.version |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा वर्शन की सबस्ट्रिंग है, तो |
app.version |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा वर्शन की सबस्ट्रिंग नहीं है, तो |
app.version |
.exactlyMatches([...]) |
अगर ऐप्लिकेशन का मौजूदा वर्शन, सूची में मौजूद टारगेट वैल्यू में से
किसी एक से पूरी तरह मैच होता है, तो |
app.version |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.operatingSystemAndVersion |
.inOne([...]) |
अगर ओएस और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी एक से मैच होता है, तो
app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
.version.==('10.15')])
|
app.browserAndVersion |
.inOne([...]) |
अगर ब्राउज़र और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी एक से मैच होता है, तो
app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
|
app.firebaseInstallationId |
in [...] |
अगर इंस्टॉलेशन आईडी, सूची में बताए गए किसी भी आईडी से मैच होता है, तो |
app.customSignal |
<, <=, ==, !=,
>=, > |
अगर कस्टम सिग्नल की शर्त की तुलना, संख्या के आधार पर शर्त में बताई गई वैल्यू से की जाती है और वह ऑपरेटर से मैच होती है, तो |
app.customSignal |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, कस्टम सिग्नल की मौजूदा शर्त की सबस्ट्रिंग है, तो |
app.customSignal |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, कस्टम सिग्नल की मौजूदा शर्त की सबस्ट्रिंग है, तो |
app.customSignal |
.exactlyMatches([...]) |
अगर कस्टम सिग्नल की मौजूदा शर्त, सूची में मौजूद टारगेट वैल्यू में से किसी एक से पूरी तरह (केस-सेंसिटिव) मैच होती है, तो |
app.customSignal |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, कस्टम सिग्नल की मौजूदा शर्त की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
version(app.customSignal) |
<, <=, ==, !=,
>=, > |
अगर कस्टम सिग्नल की शर्त की तुलना, सिमैंटिक के आधार पर शर्त में बताई गई वैल्यू से की जाती है और वह ऑपरेटर से मैच होती है, तो |
device.country |
in [...] |
अगर डिवाइस का देश, सूची में बताए गए किसी भी देश से मैच होता है, तो |
device.dateTime |
<=, > |
यह मौजूदा समय
की तुलना, शर्त के टारगेट समय से करता है. साथ ही, ऑपरेटर के आधार पर, |
device.language |
in [...] |
अगर ऐप्लिकेशन की कोई भी भाषा, सूची में मौजूद किसी भाषा से मैच होती है, तो |
device.os |
==, != |
अगर डिवाइस का ऑपरेटिंग सिस्टम, उस फ़ील्ड में मौजूद वैल्यू से ऑपरेटर के हिसाब से तुलना करता है, तो TRUE के तौर पर नतीजा दिखाता है. |
percent |
<=, >, between |
अगर किसी तय प्रतिशत की रेंज के लिए, ऐप्लिकेशन इंस्टेंस का नया रैंडम तरीके से असाइन किया गया ग्रुप चुनने के लिए, सीड तय किया जा सकता है. इसके बारे में, शर्त के नियम के टाइप लेख में बताया गया है. इसके लिए, ऑपरेटर से पहले सीड का नाम डालें. जैसे, यहां दिए गए उदाहरण में: percent('keyName') <= 10कोई खास रेंज कॉन्फ़िगर करने के लिए, percent between 20 and 60 कस्टम सीड का इस्तेमाल करके, 60 से 80 के बीच के उपयोगकर्ताओं की रेंज कॉन्फ़िगर करने के लिए: percent('seedName') between 60 and 80 |