Remote Config koşullu ifade referansı

Bu sayfada, Remote Config arka uç API'lerini veya Firebase konsolunu kullanarak koşullu ifadeler oluşturmayla ilgili referans bilgiler yer alır. Arka uç API'lerini ayarlama ve kullanma hakkında daha fazla bilgi için Remote Config'i programatik olarak değiştirme başlıklı makaleyi inceleyin.

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

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

Öğe Açıklama
&&

Bir koşul için birden fazla öğe kullanılıyorsa öğelerin mantıksal "ve" operatörünü oluşturmak için kullanılır. REST söz diziminde bir öğe && olmadan kullanılırsa bu öğe koşul olarak değerlendirilir.

Not: "Ve" işaretinden önce ve sonra boşluk bırakılmalıdır. Ö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, Android için ise 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, Apple cihazlar için ise 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 bulunmamasına bağlı olarak TRUE veya FALSE değerini döndüren bir öğe.
app.firstOpenTimestamp Kullanıcının bir uygulamayı ilk kez başlatmasına dayalı bir öğedir. Google Analytics first_open etkinliğinden elde edilir. Sabit bir saat dilimi belirtme seçeneğiyle ISO tarih biçimini kullanır (ör. app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')). Saat dilimi belirtilmezse GMT kullanılır.
app.userProperty Firebase Analytics Kullanıcı Özelliği'nin sayısal veya dize değerine göre TRUE veya FALSE değerini döndüren bir öğe.
app.operatingSystemAndVersion

Bir uygulamanın çalıştığı işletim sistemine dayalı bir öğe. İşletim sistemi ve işletim sistemi sürümü belirtilen hedefle eşleştiğinde TRUE değerini döndürür.

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

app.browserAndVersion

Bir uygulamanın çalıştığı tarayıcıya dayalı bir öğe. Tarayıcı ve tarayıcı sürümü belirtilen hedefle eşleştiğinde TRUE değerini döndürür.

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 değerini döndürür.
device.country ISO 3166-1 alfa-2 standardını (ör. ABD veya Birleşik Krallık) kullanarak bir cihazın bulunduğu bölgeye/ülkeye dayalı bir öğe. Bir ülke beklenen ülke koduyla eşleştiğinde TRUE değerini döndürür.
device.dateTime Cihazın gerçekleştirdiği son getirme işleminin zamanına dayalı bir öğe. Sabit bir saat dilimi belirtmek için ISO tarih biçimini dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') seçeneğiyle kullanır.
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 dil koduyla eşleştiğinde TRUE değerini döndürür.
device.os Bir cihazda kullanılan işletim sistemine (Apple veya Android) dayalı bir öğe. Cihazın işletim sistemi beklenen türde olduğunda TRUE değerini döndürür.
percent Kullanıcının rastgele atanan kesirli yüzdeye dahil edilmesine göre TRUE değerini alır (örnek boyutları %0,000001 kadar küçüktür).

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

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

Desteklenen operatörler

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

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

app.audiences .notInAtLeastOne([...]) Gerçek kitle listedeki en az bir kitle adıyla eşleşmiyorsa TRUE döndürülür.
app.audiences .inAll([...]) Gerçek kitle listedeki her kitle adının üyesiyse TRUE değerini döndürür.
app.audiences .notInAll([...]) Gerçek kitle listedeki hiçbir kitlenin üyesi değilse TRUE değerini döndürür.
app.firstOpenTimestamp <=, > first_open etkinliğinin 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').
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şen bir şekilde belirtilen değerle sayısal olarak karşılaştırılırsa TRUE döndürülür.
app.userProperty .contains([...]) Hedef değerlerden herhangi biri gerçek kullanıcı özelliğinin alt dizesiyse TRUE değerini döndürür.
app.userProperty .notContains([...]) Hedef değerlerden hiçbiri gerçek kullanıcı özelliğinin alt dizesi değilse TRUE döndürülür.
app.userProperty .exactlyMatches([...]) Gerçek kullanıcı özelliği listedeki hedef değerlerden herhangi biriyle tam olarak (büyük/küçük harf duyarlı) eşleşirse TRUE döndürülür.
app.userProperty .matches([...]) Listede bulunan herhangi bir hedef normal ifade, gerçek değerin bir alt dizesi veya tamamıyla eşleşirse TRUE döndürülür. Dizinin tamamının eşleşmesini zorunlu kılmak için normal ifadenin başına "^", sonuna ise "$" ekleyin. RE2 söz dizimi kullanılır.
app.id == Belirtilen değer uygulamanın uygulama kimliğiyle eşleşirse TRUE döndürür.
app.build <, <=, ==, !=, >=, > Gerçek uygulama derlemesi, operatörle eşleşen bir şekilde belirtilen değerle sayısal olarak karşılaştırılırsa TRUE döndürülür.
app.build .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama derlemesinin alt dizesiyse TRUE döndürülür. Örneğin, "a" ve "bc", "abc"nin alt dizeleridir.
app.build .notContains([...]) Hedef değerlerden hiçbiri gerçek uygulama derlemesinin alt dizesi değilse TRUE döndürülür.
app.build .exactlyMatches([...]) Gerçek uygulama derlemesi listedeki hedef değerlerden herhangi biriyle tam olarak eşleşirse TRUE döndürülür.
app.build .matches([...]) Listede bulunan herhangi bir hedef normal ifade, gerçek değerin bir alt dizesini veya tamamını eşleştirirse TRUE döndürür. Dizinin tamamının eşleşmesini zorunlu kılmak için normal ifadenin başına "^", sonuna ise "$" ekleyin. RE2 söz dizimi kullanılır.
app.version <, <=, ==, !=, >=, > Gerçek uygulama sürümü, operatörle eşleşen bir şekilde belirtilen değerle sayısal olarak karşılaştırılırsa TRUE döndürülür.
app.version .contains([...]) Hedef değerlerden herhangi biri gerçek uygulama sürümünün alt dizesiyse TRUE döndürülü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ülür.
app.version .exactlyMatches([...]) Gerçek uygulama sürümü listedeki hedef değerlerden herhangi biri ile tam olarak eşleşirse TRUE döndürülür.
app.version .matches([...]) Listede bulunan herhangi bir hedef normal ifade, gerçek değerin bir alt dizesi veya tamamıyla eşleşirse TRUE döndürülür. Dizinin tamamının eşleşmesini zorunlu kılmak için normal ifadenin başına "^", sonuna ise "$" ekleyin. RE2 söz dizimi kullanılır.
app.operatingSystemAndVersion .inOne([...]) OS ve sürüm, listedeki hedef değerlerden herhangi biriyle eşleşirse TRUE döndürülü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ülür.
Örneğin:

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

app.firebaseInstallationId in [...] Yükleme kimliği listedeki bir kimlikle eşleşirse TRUE döndürülür. Örnek kullanım: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Cihazın ülkesi listedeki bir ülkeyle 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 zamanı koşulun hedef zamanıyla karşılaştırır ve operatöre bağlı olarak TRUE veya FALSE olarak değerlendirilir. Ö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, operatörle eşleşen alandaki değerle karşılaştırı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 döndürülü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 tohum belirtebilirsiniz.

Bunu yapmak için aşağıdaki örnekte olduğu gibi operatörden önce tohumun adını sağlayın:

percent('keyName') <= 10

Belirli bir aralığı yapılandırmak için between operatörünü kullanabilirsiniz. Varsayılan tohum kullanarak 20 ila 60 arasında bir kullanıcı aralığını yapılandırmak için:

percent between 20 and 60

Özel bir başlangıç değeri kullanarak 60 ila 80 arasında bir kullanıcı aralığını yapılandırmak için:

percent('seedName') between 60 and 80