Remote Config koşullu ifade referansı

Bu sayfa, Remote Config arka uç API'lerini veya Firebase konsolunu kullanarak koşullu ifadeler oluşturmaya yönelik referans bilgileri içerir. Arka uç API'lerini ayarlama ve kullanma hakkında daha fazla bilgi için bkz . Remote Config'i program aracılığıyla 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 öğelerin aynılarını destekler:

Öğe Tanım
&&

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

Not: Ve işaretinden önce ve sonra bir boşluk bırakılmalıdır. Örneğin: element1 && element2 .

app.build

Uygulamanın yapı 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, Android için versionCode değerini kullanın.

app.version

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

Not: Android aygıtları için versionName değerini, Apple aygıtları için ise CFBundleShortVersionString değerini kullanın.

app.id Uygulamanın Firebase Uygulama Kimliğini temel alan bir öğe
app.audiences Kullanıcının bir veya daha fazla Firebase Analytics kitlesindeki varlığına veya yokluğuna göre TRUE veya FALSE olarak değerlendirilen bir öğe.
app.firstOpenTimestamp Kullanıcının bir uygulamayı ilk kez başlatmasını temel alan, Google Analytics first_open etkinliğinden elde edilen 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 Firebase Analytics Kullanıcı Özelliğinin sayısal veya dize değerine göre TRUE veya FALSE olarak değerlendirilen bir öğe .
app.operatingSystemAndVersion

Bir uygulamanın ç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 ç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 kimliklerini temel alan bir öğe. Kurulum kimliği belirtilen kurulum kimliklerinden biriyle eşleştiğinde TRUE olarak değerlendirilir.
device.country ISO 3166-1 alpha-2 standardını (örneğin, ABD veya İngiltere) kullanan, bir cihazı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 Cihazda seçilen dili temel alan 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 sistemini temel alan bir öğe. Cihaz işletim sistemi beklenen türde olduğunda TRUE olarak değerlendirilir.
percent Kullanıcının rastgele atanmış kesirli bir yüzdeye dahil edilmesine dayalı olarak TRUE olarak değerlendirilir (%0,000001 kadar küçük örnek boyutlarıyla).

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

  1. İsteğe göre tanımlanmış bir name (en fazla 100 karakter)
  2. Yukarıda gösterilen öğelerden oluşan, TRUE veya FALSE olarak değerlendirilen koşullu ifade.
  3. (İsteğe bağlı) " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE " veya olabilen tagColor " TEAL ". Renk büyük/küçük harfe duyarlı değildir ve yalnızca koşulların Firebase konsolunda nasıl görüntüleneceğ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 değerini döndürür.
Öğe Desteklenen operatörler Tanım
app.audiences .inAtLeastOne([...]) Gerçek hedef kitle listedeki en az bir hedef kitle adıyla eşleşiyorsa TRUE değerini döndürür.
Örneğin:

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

app.audiences .notInAtLeastOne([...]) Gerçek hedef kitle listedeki en az bir hedef kitle adıyla eşleşmiyorsa TRUE döndürür.
app.audiences .inAll([...]) Gerçek hedef kitle listedeki her hedef kitle adının üyesiyse TRUE değerini döndürür.
app.audiences .notInAll([...]) Gerçek hedef kitle listedeki herhangi bir hedef kitlenin üyesi değilse TRUE değerini 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 bağlı olarak TRUE veya FALSE değerini 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 belirtilmemişse 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ılırsa TRUE değerini 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şiyorsa (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şiyorsa TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin önüne "^" ekleyin ve sonuna "$" ekleyin. RE2 sözdizimini kullanır.
app.id == Belirtilen değer uygulamanın Uygulama Kimliğiyle eşleşiyorsa TRUE değerini 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ırsa TRUE değerini döndürür.
app.build .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama yapısının 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 yapısının bir alt dizesi değilse TRUE döndürür.
app.build .exactlyMatches([...]) Gerçek uygulama yapısı listedeki hedef değerlerden herhangi biriyle tam olarak eşleşiyorsa 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şiyorsa TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin önüne "^" ekleyin ve sonuna "$" 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 değerini 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 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şiyorsa 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şiyorsa TRUE döndürür. Tüm dizenin eşleşmesini zorlamak için, normal ifadenin önüne "^" ekleyin ve sonuna "$" ekleyin. RE2 sözdizimini kullanır.
app.operatingSystemAndVersion .inOne([...]) İşletim sistemi ve sürüm listedeki hedef değerlerden herhangi biriyle eşleşiyorsa 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şiyorsa TRUE döndürür.
Örneğin:

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

app.firebaseInstallationId in [...] Kurulum kimliği listede belirtilen herhangi biriyle eşleşiyorsa TRUE değerini döndürür. Örnek kullanım: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Cihazın ülkesi listede belirtilen herhangi bir ülkeyle eşleşiyorsa TRUE değerini döndürür. Örnek kullanım: device.country in ['gb', 'us'] . Cihazın ü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 zamanı koşulun hedef zamanı ile karşılaştırır ve operatöre bağlı olarak TRUE veya FALSE olarak değerlendirir. Örnek kullanım: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Uygulamanın dillerinden herhangi biri listedeki 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 değerini döndürür.
percent <= , > , between percent alanındaki değer, operatörle eşleşen rastgele atanan değerle karşılaştırılırsa TRUE değerini döndürür.

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

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

percent('keyName') <= 10

Belirli bir aralığı yapılandırmak için between operatörünü kullanabilirsiniz. Varsayılan tohumu kullanarak 20 ile 60 arasında bir 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