Remote Config koşullu ifade referansı

Bu sayfa, Remote Config arka uç API'lerini veya Firebase konsolunu kullanarak koşullu ifadeler oluşturmak için referans bilgileri içerir. Arka uç API'lerini kurma ve kullanma hakkında daha fazla bilgi için bkz . Remote Config'i programlı olarak değiştirin .

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 Tanım
&&

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

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

app.build

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

Not: Yalnızca Apple ve Android cihazlarda kullanılabilir. Apple 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 olarak değerlendirilir.

Not: Android cihazlar için versionName değerini kullanın ve Apple 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 bağlı olarak TRUE veya FALSE olarak değerlendirilen bir öğe.
app.firstOpenTimestamp Google Analytics first_open etkinliğinden elde edilen, kullanıcının bir uygulamayı ilk kez başlatmasına dayalı bir öğe. Sabit bir saat dilimi belirtme seçeneğiyle birlikte ISO tarih biçimini kullanır; örneğin, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Saat dilimi belirtilmezse GMT kullanılır.
app.userProperty Bir Firebase Analytics Kullanıcı Mülkünün sayısal veya dize değerine göre TRUE veya FALSE olarak 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 olarak değerlendirilir.

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

app.browserAndVersion

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

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

app.firebaseInstallationId Belirli cihaz kurulumlarının kimliklerine dayalı bir öğe. Kurulum kimliği belirtilen kurulum kimliklerinden biriyle eşleştiğinde TRUE olarak değerlendirilir.
device.country ISO 3166-1 alfa-2 standardını (örneğin, ABD veya İngiltere) kullanan, aygıtın bulunduğu bölgeye/ülkeye dayalı bir öğe. Bir ülke beklenen bir ülke koduyla eşleştiğinde TRUE olarak değerlendirilir.
device.dateTime Cihazın gerçekleştirdiği son getirme zamanına dayalı bir öğe. Sabit bir saat dilimi belirtme 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 olarak değerlendirilir.
device.os Bir cihazda (Apple veya Android) kullanılan işletim sistemine dayalı bir öğe. Cihaz işletim sistemi beklenen tip olduğunda TRUE olarak değerlendirilir.
percent Bir kullanıcının rastgele atanmış bir kesirli yüzdeye dahil olmasına dayalı olarak TRUE olarak değerlendirilir (%0,000001 kadar küçük örneklem boyutlarıyla).

Tek öğe koşulu üç 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 olarak değerlendirilen bir koşullu ifade.
  3. (İsteğe bağlı) " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE " olabilen tagColor , veya " 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 , 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 , gerçek uygulama sürümü 999 ise FALSE döndürür.
eleman desteklenen operatörler Tanım
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 bir üyesiyse TRUE döndürür.
app.audiences .notInAll([...]) Gerçek hedef kitle listedeki herhangi bir kitlenin üyesi değilse TRUE döndürür.
app.firstOpenTimestamp <=, > first_open olayının zamanını koşulda belirtilen zamanla karşılaştırır ve operatöre göre TRUE veya FALSE döndürür.
Örnek kullanım:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Bir aralık belirtmek için:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Saat dilimi belirtilmezse GMT kullanılır.
app.userProperty < , <= , == , != , >= , > Gerçek kullanıcı özelliği, operatörle eşleşecek şekilde belirtilen değerle sayısal olarak karşılaştırı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 dizisi değilse TRUE döndürür.
app.userProperty .exactlyMatches([...]) Gerçek kullanıcı özelliği listedeki herhangi bir hedef değerle tam olarak eşleşirse (büyük/küçük harfe duyarlıysa) TRUE döndürür.
app.userProperty .matches([...]) Listedeki herhangi bir hedef düzenli ifadesi gerçek değerin bir alt dizisiyle veya gerçek değerin tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için normal ifadenin başına "^" koyun ve sonuna "$" ekleyin. RE2 söz dizimini 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ırsa 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 dizisi değilse TRUE döndürür.
app.build .exactlyMatches([...]) Gerçek uygulama derlemesi listedeki herhangi bir hedef değerle tam olarak eşleşirse TRUE döndürür.
app.build .matches([...]) Listedeki herhangi bir hedef düzenli ifadesi gerçek değerin bir alt dizisiyle veya gerçek değerin tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için normal ifadenin başına "^" koyun ve sonuna "$" ekleyin. RE2 söz dizimini 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ırsa TRUE döndürür.
app.version .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama sürümünün bir alt dizisiyse, 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 alt dizisi değilse TRUE döndürür.
app.version .exactlyMatches([...]) Gerçek uygulama sürümü listedeki herhangi bir hedef değerle tam olarak eşleşirse TRUE döndürür.
app.version .matches([...]) Listedeki herhangi bir hedef düzenli ifadesi gerçek değerin bir alt dizisiyle veya gerçek değerin tamamıyla eşleşirse TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için normal ifadenin başına "^" koyun ve sonuna "$" ekleyin. RE2 söz dizimini 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 herhangi bir hedef değerle eşleşirse TRUE döndürür.
Örneğin:

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

app.firebaseInstallationId in [...] Yükleme kimliği listede belirtilen herhangi biriyle eşleşirse TRUE döndürür. Örnek kullanım: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Cihazın ülkesi listede belirtilenlerden biriyle eşleşirse TRUE döndürür. Örnek kullanım: device.country in ['gb', 'us'] . Cihaz ülke kodu, cihazın istekteki IP adresi veya Firebase Analytics tarafından belirlenen ülke kodu (Analytics verileri Firebase ile paylaşılıyorsa) kullanılarak belirlenir.
device.dateTime <= , > Mevcut zamanı koşulun hedef zamanı ile karşılaştırır ve operatöre göre TRUE veya FALSE olarak değerlendirir. Örnek kullanım: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Uygulama 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 işleçle eşleşen değerle karşılaştırırsa TRUE döndürür.
percent <= , > , between 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.

Koşul kuralı türleri bölümünde açıklandığı gibi, belirli bir yüzde aralığı için rastgele atanan yeni bir uygulama örneği grubu seçmek üzere bir çekirdek belirtebilirsiniz.

Bunu yapmak için, aşağıdaki örnekte olduğu gibi, operatörün önüne çekirdeğin adını girin:

percent('keyName') <= 10

Belirli bir aralığı yapılandırmak için, between işleci kullanabilirsiniz. Varsayılan çekirdeği kullanarak 20 ila 60 kullanıcı aralığını yapılandırmak için:

percent between 20 and 60

Özel bir tohum kullanarak 60 ile 80 arasında bir kullanıcı aralığını yapılandırmak için:

percent('seedName') between 60 and 80