Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Remote Config koşullu ifade başvurusu

Bu sayfa, Remote Config arka uç API'lerini veya Firebase konsolunu kullanarak koşullu ifadeler oluşturmaya yönelik başvuru bilgilerini içerir. Arka uç API'lerini kurma ve kullanma hakkında daha fazla bilgi için bkz. Remote Config'i programlı olarak değiştirme .

Koşulları oluşturmak için kullanılan öğeler

Remote Config REST API, Firebase Konsolunu kullanarak Remote Config'i yapılandırırken koşullar oluşturmak için kullanabileceğiniz aynı öğeleri destekler:

eleman Açıklama
&&

Bir koşul için birden fazla öğe kullanılıyorsa, mantıksal bir "ve" öğeleri oluşturmak için kullanılır. REST sözdiziminde && olmadan bir öğe kullanılırsa, o öğe bir koşul olarak değerlendirilir.

Not: Ve işaretinden önce ve sonra bir boşluk gereklidir. Örneğin: element1 && element2 .

app.build

Bir uygulamanın yapı numarasının değerine göre TRUE veya FALSE değerlendirilir.

Not: Yalnızca iOS ve Android cihazlarda kullanılabilir. iOS için CFBundleVersion değerini kullanın ve Android için versionCode değerini kullanın.

app.version

Bir uygulamanın sürüm numarasının değerine göre TRUE veya FALSE değerlendirilir.

Not: Android cihazlar için versionName değerini kullanın ve iOS cihazları için CFBundleShortVersionString değerini kullanın.

app.id Uygulamanın Firebase Uygulama Kimliğine dayalı bir öğe
app.audiences Kullanıcının bir veya daha fazla Firebase Analytics kitlesinde bulunup bulunmadığına göre TRUE veya FALSE değerlendirilen bir öğe.
app.predictionScores.id Belirli bir Firebase Tahmin Kimliği için arayanın kullanıcı yüzdelik dilimini değerlendiren bir öğe.
app.userProperty Bir Firebase Analytics Kullanıcı Mülkünün sayısal veya dize değerine göre TRUE veya FALSE değerlendirilen bir öğe .
app.operatingSystemAndVersion

Bir uygulamanın üzerinde çalıştığı işletim sistemini temel alan bir öğe. İşletim sistemi ve işletim sistemi sürümü belirtilen hedefle eşleştiğinde TRUE değerlendirilir.

Not: Yalnızca Web uygulamaları için kullanılabilir.

app.browserAndVersion

Bir uygulamanın çalıştığı tarayıcıyı temel alan bir öğe. Tarayıcı ve tarayıcı sürümü belirtilen hedefle eşleştiğinde TRUE değerlendirilir.

Not: Yalnızca Web uygulamaları için kullanılabilir.

device.country ISO 3166-1 alpha-2 standardını (örneğin, ABD veya Birleşik Krallık) kullanan, aygıtın bulunduğu bölgeye/ülkeye dayalı bir öğe. Bir ülke beklenen bir ülke koduyla eşleştiğinde TRUE değerlendirilir.
device.dateTime Aygıtın gerçekleştirdiği son getirme zamanına dayalı bir öğe. Sabit bir saat dilimi belirleme seçeneğiyle birlikte ISO tarih biçimini kullanır; örneğin, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Bir cihazda seçilen dile dayalı bir öğe. Dil, es-ES, pt-BR veya en-US gibi bir IETF Dil etiketi kullanılarak temsil edilir. Bir dil, beklenen bir dil koduyla eşleştiğinde TRUE değerlendirilir.
device.os Bir cihazda (iOS veya Android) kullanılan işletim sistemine dayalı bir öğe. Aygıt işletim sistemi beklenen tür olduğunda TRUE değerlendirilir.
percent Kullanıcının rastgele atanan kesirli bir yüzdelik dilime dahil edilmesine dayalı olarak TRUE değerlendirilir (örnek boyutları %0,000001 kadar küçük).

Tek öğeli bir koşul üç alan içerir:

  1. İsteğe bağlı olarak tanımlanmış bir name (en fazla 100 karakter)
  2. Yukarıda gösterilen öğelerden oluşan, TRUE veya FALSE değerlendirilen koşullu bir ifade.
  3. (İsteğe bağlı) tagColor , "olabilen BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE " ya da " TEAL ". Renk büyük/küçük harfe duyarlı değildir ve yalnızca koşulların Firebase konsolunda nasıl görüntülendiğini etkiler.

Desteklenen operatörler

Örneğin, app.build.notContains([123, 456]) , gerçek uygulama derlemesi 123 veya 492 ise TRUE döndürür, ancak gerçek uygulama derlemesi 999 ise FALSE döndürür. Örneğin, app.version.notContains([123, 456]) , gerçek uygulama sürümü 123 veya 492 ise TRUE döndürür, ancak gerçek uygulama sürümü 999 ise FALSE döndürür.
eleman Desteklenen operatörler Açıklama
app.audiences .inAtLeastOne([...]) Gerçek hedef kitle, listedeki en az bir kitle adıyla eşleşirse TRUE döndürür.
Örneğin:

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

app.audiences .notInAtLeastOne([...]) Gerçek hedef kitle, listedeki en az bir kitle adıyla eşleşmiyorsa TRUE döndürür.
app.audiences .inAll([...]) Gerçek hedef kitle, listedeki her kitle adının üyesiyse TRUE döndürür.
app.audiences .notInAll([...]) Gerçek hedef kitle, listedeki herhangi bir hedef kitlenin üyesi değilse TRUE döndürür.
app.predictionScores.id .between(..., ...) Arayanın tahmin için kullanıcı yüzdelik dilim olasılığı verilen aralıktaysa TRUE döndürür.
Örneğin:

app.predictionScores.id('churn').between(0.25, 1.00)

app.userProperty < , <= , == , != , >= , > Gerçek kullanıcı özelliği, operatörle eşleşecek şekilde belirtilen değerle sayısal olarak karşılaştırılırsa TRUE döndürür.
app.userProperty .contains([...]) Hedef değerlerden herhangi biri gerçek kullanıcı özelliğinin bir alt dizesiyse TRUE döndürür.
app.userProperty .notContains([...]) Hedef değerlerden hiçbiri gerçek kullanıcı özelliğinin bir alt dizesi değilse TRUE döndürür.
app.userProperty .exactlyMatches([...]) Gerçek kullanıcı özelliği, listedeki hedef değerlerden herhangi biriyle tam olarak eşleşirse (büyük/küçük harfe duyarlı) TRUE döndürür.
app.userProperty .matches([...]) Listedeki herhangi bir hedef normal ifade, gerçek değerin bir alt dizesiyle veya tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin başına "^" ile başlayın ve "$" ile ekleyin. RE2 sözdizimini kullanır.
app.id == Belirtilen değer uygulamanın Uygulama Kimliği ile eşleşirse TRUE döndürür.
app.build < , <= , == , != , >= , > Gerçek uygulama derlemesi, operatörle eşleşecek şekilde belirtilen değerle sayısal olarak karşılaştırılıyorsa TRUE döndürür.
app.build .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama derlemesinin bir alt dizesiyse TRUE döndürür; örneğin, "a" ve "bc", "abc"nin alt dizeleridir.
app.build .notContains([...]) Hedef değerlerden hiçbiri gerçek uygulama derlemesinin bir alt dizesi değilse TRUE döndürür.
app.build .exactlyMatches([...]) Gerçek uygulama derlemesi, listedeki hedef değerlerden herhangi biriyle tam olarak eşleşirse TRUE döndürür.
app.build .matches([...]) Listedeki herhangi bir hedef normal ifade, gerçek değerin bir alt dizesiyle veya tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin başına "^" ile başlayın ve "$" ile ekleyin. RE2 sözdizimini kullanır.
app.version < , <= , == , != , >= , > Gerçek uygulama sürümü, operatörle eşleşecek şekilde belirtilen değerle sayısal olarak karşılaştırılırsa TRUE döndürür.
app.version .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama sürümünün bir alt dizesiyse TRUE döndürür; örneğin, "a" ve "bc", "abc"nin alt dizeleridir.
app.version .notContains([...]) Hedef değerlerden hiçbiri gerçek uygulama sürümünün bir alt dizesi değilse TRUE döndürür.
app.version .exactlyMatches([...]) Gerçek uygulama sürümü, listedeki hedef değerlerden herhangi biriyle tam olarak eşleşirse TRUE döndürür.
app.version .matches([...]) Listedeki herhangi bir hedef normal ifade, gerçek değerin bir alt dizesiyle veya tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin başına "^" ile başlayın ve "$" ile ekleyin. RE2 sözdizimini kullanır.
app.operatingSystemAndVersion .inOne([...]) İşletim sistemi ve sürüm, listedeki hedef değerlerden herhangi biriyle eşleşirse TRUE döndürür.
Örneğin:

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

app.browserAndVersion .inOne([...]) Tarayıcı ve sürüm, listedeki hedef değerlerden herhangi biriyle eşleşirse TRUE döndürür.
Örneğin:

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

device.country in [...] Cihazın ülkesi listede belirtilen herhangi biriyle eşleşirse TRUE döndürür. Örnek kullanım: device.country in ['gb', 'us'] . Cihaz ülke kodu, istekteki cihazın IP adresi veya Firebase Analytics tarafından belirlenen ülke kodu (Analytics verileri Firebase ile paylaşılıyorsa) kullanılarak belirlenir.
device.dateTime <= , > Geçerli saati koşulun hedef süresiyle karşılaştırır ve operatöre göre TRUE veya FALSE değerlendirir. Örnek kullanım: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Uygulamanın dillerinden herhangi biri listedeki bir dille eşleşirse TRUE döndürür. Örnek kullanım: device.language in ['en-UK', 'en-US'] .
device.os == , != Cihazın işletim sistemi, o alandaki operatörle eşleşen değerle karşılaştırılırsa TRUE döndürür.
percent <= , > percent alanındaki değer, işleçle eşleşen rasgele atanan değerle karşılaştırılırsa TRUE döndürür.

Boş dizeleri olan ve değeri olmayan parametreler

Remote Config web konsolunda parametre değerleri oluşturduğunuzda veya düzenlediğinizde, bir parametre değerini bir dize değerine (boş dize) veya Değer Yok (bunun yerine uygulama içi varsayılan değerin kullanılmasına neden olur) olarak ayarlama seçeneğiniz vardır. Remote Config şablonundaki değerin).

Projeniz için Remote Config şablonunu JSON biçiminde almak için Remote Config API'yi kullandığınızda, aşağıda gösterildiği gibi hiçbir değer temsil edilmez:

"myCondition" : {
  "useInAppDefault" : true
},

Benzer şekilde, (boş dize) aşağıda gösterildiği gibi temsil edilir:

"myCondition" : {
  "value" : ""
},