Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Uzaktan Yapılandırma Parametreleri ve Koşulları

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Firebase konsolunu veya Remote Config arka uç API'lerini kullanırken, bir veya daha fazla parametre (anahtar/değer çiftleri) tanımlar ve bu parametreler için uygulama içi varsayılan değerler sağlarsınız. Sunucu tarafı parametre değerlerini tanımlayarak uygulama içi varsayılan değerleri geçersiz kılabilirsiniz. Parametre anahtarları ve parametre değerleri dizelerdir, ancak bu değerleri uygulamanızda kullandığınızda parametre değerleri diğer veri türleri olarak kullanılabilir.

Firebase konsolunu, Yönetici SDK'sını veya Remote Config REST API'yi kullanarak, uygulama örneği gruplarını hedeflemek için kullanılan koşullu değerlerin yanı sıra parametreleriniz için yeni varsayılan değerler oluşturabilirsiniz. Firebase konsolunda yapılandırmanızı her güncellediğinizde Firebase, Remote Config şablonunuzun yeni bir sürümünü oluşturur ve yayınlar. Önceki sürüm saklanır ve gerektiğinde geri almanıza veya geri almanıza olanak tanır. Bu işlemlere Firebase konsolu, Firebase Admin SDK ve REST API aracılığıyla ulaşabilirsiniz ve Manage Remote Config şablon sürümlerinde daha kapsamlı bir şekilde açıklanmaktadır.

Bu kılavuz, parametreleri, koşulları, kuralları, koşullu değerleri ve Remote Config Sunucusunda ve uygulamanızda çeşitli parametre değerlerine nasıl öncelik verildiğini açıklar. Ayrıca, koşulları oluşturmak için kullanılan kural türleri hakkında ayrıntılar sağlar.

Koşullar, kurallar ve koşullu değerler

Bir uygulama örneği grubunu hedeflemek için bir koşul kullanılır. Koşullar, belirli bir uygulama örneği için koşulun true olarak değerlendirilmesi için hepsinin true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımsızsa (örneğin, hiçbir değer yoksa), bu kural false olarak değerlendirilir.

Örneğin, bir uygulamanın açılış sayfasını tanımlayan bir parametre, if device_os = Android basit kuralı kullanarak işletim sistemi türüne göre farklı resimler gösterebilir:

Firebase konsolundaki "splash_page" parametresinin iOS için varsayılan değerini ve Android için koşullu değerini gösteren ekran görüntüsü

Veya uygulamanızın özel promosyon ürünlerini ne zaman görüntülediğini kontrol etmek için bir zaman koşulu kullanılabilir.

Bir parametre, farklı koşulları kullanan birden çok koşullu değere sahip olabilir ve parametreler, bir proje içindeki koşulları paylaşabilir. Firebase konsolunun Parametreler sekmesinde , her parametrenin koşullu değerleri için getirme yüzdesini görüntüleyebilirsiniz. Bu metrik, son 24 saat içinde her bir değeri alan isteklerin yüzdesini gösterir.

Parametre değer önceliği

Bir parametre, kendisiyle ilişkilendirilmiş birkaç koşullu değere sahip olabilir. Aşağıdaki kurallar, Remote Config Server'dan hangi değerin getirileceğini ve belirli bir zamanda belirli bir uygulama örneğinde hangi değerin kullanılacağını belirler:

Sunucu tarafı parametre değerleri aşağıdaki öncelik listesine göre alınır

  1. İlk olarak, belirli bir uygulama örneği için true olarak değerlendirilen koşullara sahip koşullu değerler uygulanır. Birden çok koşul true olarak değerlendirilirse Firebase konsolu kullanıcı arayüzünde gösterilen ilk (en üstteki) koşul öncelikli olur ve bir uygulama arka uçtan değerleri aldığında bu koşulla ilişkili koşullu değerler sağlanır. Koşullar sekmesinde koşulları sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.

  2. true olarak değerlendirilen koşullara sahip koşullu değerler yoksa, bir uygulama arka uçtan değerleri aldığında sunucu tarafı varsayılan değeri sağlanır. Arka uçta bir parametre yoksa veya varsayılan değer Use in-app default olarak ayarlanmışsa, bir uygulama değerleri getirdiğinde bu parametre için hiçbir değer sağlanmaz.

Uygulamanızda, parametre değerleri aşağıdaki öncelik listesine göre get yöntemleriyle döndürülür.

  1. Arka uçtan bir değer getirildiyse ve ardından etkinleştirildiyse, uygulama getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcıdır.
  2. Arka uçtan hiçbir değer getirilmediyse veya Remote Config arka ucundan getirilen değerler etkinleştirilmemişse uygulama, uygulama içi varsayılan değeri kullanır.

    Varsayılan değerleri alma ve ayarlama hakkında daha fazla bilgi için bkz. Remote Config şablon varsayılanlarını indir .

  3. Uygulama içi varsayılan değer ayarlanmadıysa, uygulama statik bir tür değeri kullanır ( int için 0 ve boolean için false gibi).

Bu grafik, Remote Config arka ucunda ve uygulamanızda parametre değerlerine nasıl öncelik verildiğini özetlemektedir:

Yukarıdaki sıralı listeler tarafından açıklanan akışı gösteren diyagram

Parametre değeri veri türleri

Remote Config, her parametre için bir veri türü seçmenize olanak tanır ve bir şablon güncellemesinden önce tüm sunucu tarafı değerlerini bu türe göre doğrular. Veri türü, bir getRemoteConfig isteğinde saklanır ve döndürülür.

Şu anda desteklenen türler şunlardır:

  • String
  • Boolean
  • Number
  • JSON

Firebase konsolu kullanıcı arayüzünde veri türü, parametre anahtarının yanındaki açılır menüden seçilebilir. REST API'de türler, parametre nesnesi içindeki value_type alanı kullanılarak ayarlanabilir.

Parametre grupları

Remote Config, daha düzenli bir kullanıcı arabirimi ve zihinsel model için parametreleri birlikte gruplamanıza olanak tanır.

Örneğin, yeni bir oturum açma özelliği sunarken üç farklı kimlik doğrulama türünü etkinleştirmeniz veya devre dışı bırakmanız gerektiğini varsayalım. Remote Config ile türleri istediğiniz gibi etkinleştirmek için üç parametre oluşturabilir ve ardından bunları önek veya özel sıralama eklemenize gerek kalmadan "Yeni oturum açma" adlı bir grupta düzenleyebilirsiniz.

Firebase konsolunu veya Remote Config REST API'yi kullanarak parametre grupları oluşturabilirsiniz. Oluşturduğunuz her parametre grubunun, Remote Config şablonunuzda benzersiz bir adı vardır. Parametre grupları oluştururken şunları unutmayın:

  • Parametreler herhangi bir zamanda yalnızca bir gruba dahil edilebilir ve bir parametre anahtarı tüm parametrelerde yine de benzersiz olmalıdır.
  • Parametre grubu adları 256 karakterle sınırlıdır.
  • Hem REST API'sini hem de Firebase konsolunu kullanıyorsanız, yayınlama sırasında parametre gruplarını işlemek için herhangi bir REST API mantığının güncellendiğinden emin olun.

Firebase konsolunu kullanarak parametre grupları oluşturun veya değiştirin

Firebase konsolunun Parametreler sekmesinde parametreleri gruplandırabilirsiniz. Bir grup oluşturmak veya değiştirmek için:

  1. Grupları yönet'i seçin.
  2. Eklemek istediğiniz parametreler için onay kutularını seçin ve Gruba taşı'yı seçin.
  3. Mevcut bir grubu seçin veya bir ad ve açıklama girip Yeni grup oluştur öğesini seçerek yeni bir grup oluşturun . Bir grubu kaydettikten sonra, Değişiklikleri yayınla düğmesi kullanılarak yayınlanabilir.

Programlı olarak gruplar oluşturun

Remote Config REST API , parametre grupları oluşturmak ve yayınlamak için otomatik bir yol sağlar. REST'e aşina olduğunuzu ve API'ye yönelik istekleri yetkilendirecek şekilde ayarlandığınızı varsayarsak, grupları programatik olarak yönetmek için şu adımları uygulayabilirsiniz:

  1. Geçerli şablonu al
  2. Parametre gruplarınızı temsil etmesi için JSON nesneleri ekleyin
  3. Bir HTTP PUT isteği kullanarak parametre gruplarını yayınlayın.

parameterGroups nesnesi, iç içe geçmiş bir açıklama ve gruplandırılmış parametrelerin listesiyle birlikte grup anahtarları içerir. Her grup anahtarının genel olarak benzersiz olması gerektiğini unutmayın.

Örneğin, "yeni menü" parametre grubunu tek bir parametreyle, pumpkin_spice_season olarak ekleyen bir şablon revizyonundan bir alıntı:

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

Koşul kuralı türleri

Firebase konsolunda aşağıdaki kural türleri desteklenir. Koşullu ifade başvurusunda ayrıntılı olarak açıklandığı gibi, Remote Config REST API'sinde eşdeğer işlevsellik mevcuttur.

kural türü Operatör(ler) Değer(ler) Not
Uygulama == Firebase projenizle ilişkili uygulamalar için Uygulama Kimlikleri listesinden seçim yapın. Firebase'e bir uygulama eklediğinizde, Remote Config kurallarında Uygulama Kimliği olarak gösterilen bir özniteliği tanımlayan bir paket kimliği veya Android paket adı girersiniz.

Bu özelliği şu şekilde kullanın:
  • Apple platformları için: Uygulamanın CFBundleIdentifier'ını kullanın. Xcode'da uygulamanızın birincil hedefi için Paket Tanımlayıcısını Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId değerini kullanın. applicationId uygulama düzeyindeki build.gradle dosyanızda bulabilirsiniz.
Uygulama sürümü Dize değerleri için:
tam olarak eşleşir,
içerir,
içermiyor,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Uygulamanızın hedeflenecek sürümlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Android/Apple uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Apple platformları için: Uygulamanın CFBundleShortVersionString öğesini kullanın.

Not: CFBundleShortVersionString önceki sürümlerde gönderilmediğinden Apple uygulamanızın Firebase Apple platformları SDK sürüm 6.24.0 veya üzerini kullandığından emin olun ( sürüm notlarına bakın).

Android için: Uygulamanın versionName değerini kullanın.

Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam olarak eşleşenler , içerir , içermez veya normal ifade operatörünü kullanırken birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

Yapı numarası Dize değerleri için:
tam olarak eşleşir,
içerir,
içermiyor,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Hedeflemek için uygulamanızın yapılarını belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Apple veya Android uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Bu operatör yalnızca Apple ve Android uygulamaları için kullanılabilir. Uygulamanın Apple için CFBundleVersion ve Android için versionCode'una karşılık gelir. Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır.

Tam olarak eşleşenler , içerir , içermez veya normal ifade operatörünü kullanırken birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

platformu == iOS
Android
İşletim sistemi ==

Hedeflenecek işletim sistemlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Web uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

İşletim sistemi ve sürümü, belirtilen listedeki bir hedef değerle eşleşirse, bu kural belirli bir Web uygulaması örneği için true olarak değerlendirilir.
Tarayıcı ==

Hedeflenecek tarayıcıları belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Web uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Tarayıcı ve sürümü, belirtilen listedeki bir hedef değerle eşleşirse, bu kural belirli bir Web uygulaması örneği için true olarak değerlendirilir.
Cihaz kategorisi öyle değil seyyar Bu kural, web uygulamanıza erişen cihazın mobil olup olmadığını (masaüstü veya konsol) değerlendirir. Bu kural türü yalnızca web uygulamaları için kullanılabilir.
Diller içinde Bir veya daha fazla dil seçin. Söz konusu uygulama örneği, listelenen dillerden birini kullanan bir cihaza yüklendiyse, bu kural, belirli bir uygulama örneği için true olarak değerlendirilir.
Ülke/Bölge içinde Bir veya daha fazla bölge veya ülke seçin. Örnek, listelenen bölgelerden veya ülkelerden herhangi birindeyse, bu kural belirli bir uygulama örneği için true olarak değerlendirilir. 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.
Kullanıcı kitle(ler)i En az birini içerir Projeniz için oluşturduğunuz Google Analytics kitleleri listesinden bir veya daha fazla seçin.

Bu kural, Firebase projenizle ilişkilendirilmiş bir uygulamayı seçmek için bir Uygulama Kimliği kuralı gerektirir.

Not: Birçok Analytics kitlesi, uygulama kullanıcılarının eylemlerine dayanabilen olaylar veya kullanıcı özellikleri tarafından tanımlandığından, belirli bir uygulama örneği için Kitledeki Kullanıcı kuralının geçerlilik kazanması biraz zaman alabilir.

Kullanıcı özelliği Dize değerleri için:
içerir,
içermiyor,
tam olarak eşleşir,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Not: İstemcide, kullanıcı özellikleri için yalnızca dize değerleri ayarlayabilirsiniz. Sayısal işleçler kullanan koşullar için Remote Config, karşılık gelen kullanıcı özelliğinin değerini bir tamsayı/kayan değere dönüştürür.
Kullanılabilir Google Analytics kullanıcı özellikleri listesinden seçim yapın. Uygulamanızı kullanıcı tabanınızın çok özel bölümlerine göre özelleştirmek için kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için bkz. Remote Config ve kullanıcı özellikleri .

Kullanıcı özellikleri hakkında daha fazla bilgi edinmek için aşağıdaki kılavuzlara bakın:

Tam olarak eşleşenler , içerir , içermez veya normal ifade işlecini kullanırken, birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

Not: Otomatik olarak toplanan kullanıcı özellikleri , şu anda Remote Config koşulları oluşturulurken kullanılamaz.
Rastgele yüzdelik dilimdeki kullanıcı <=, > 0-100

Kullanıcıları (uygulama örnekleri) gruplara ayırmak için <= ve > işleçlerini kullanarak rastgele bir uygulama örneği örneğine (örnek boyutları %.0001 kadar küçük olan) bir değişiklik uygulamak için bu alanı kullanın.

Her uygulama örneği, söz konusu projede tanımlanan bir anahtara göre kalıcı olarak rastgele bir tam veya kesirli sayıyla eşlenir. Başka bir anahtar seçmediğiniz veya oluşturmadığınız sürece bir kural varsayılan anahtarı (Firebase konsolunda DEF olarak gösterilir) kullanır. Kullanıcıları bu anahtarı kullanarak rastgele seç alanını temizleyerek bir kuralı varsayılan anahtarı kullanmaya döndürebilirsiniz. Verilen yüzde aralıklarında aynı uygulama örneklerini tutarlı bir şekilde ele almak için kurallar genelinde tek bir anahtar kullanabilirsiniz. Veya yeni bir anahtar oluşturarak belirli bir yüzde aralığı için rastgele atanan yeni bir uygulama örneği grubu seçebilirsiniz.

Örneğin, her biri bir uygulamanın kullanıcılarının örtüşmeyen %5'lik kısmına uygulanan birbiriyle ilişkili iki koşul oluşturmak için, bir koşulun <= %5 kuralı içermesini ve başka bir koşulun hem > %5 kuralını hem de < = içermesini sağlayabilirsiniz. %10 kuralı. Bazı kullanıcıların her iki grupta da rastgele görünmesini sağlamak için her koşulda kurallar için farklı anahtarlar kullanın.

İçe aktarılan segment içinde Bir veya daha fazla içe aktarılan segment seçin. Bu kural, içe aktarılan özel segmentlerin ayarlanmasını gerektirir.
Tarih/Saat Önce sonra Cihazın saat diliminde veya "(GMT+11) Sidney saati" gibi belirli bir saat diliminde belirli bir tarih ve saat. Geçerli saati cihazın getirme süresiyle karşılaştırır.
İlk açık Önce sonra Belirtilen saat diliminde belirtilen tarih ve saat.

Belirtilen zaman aralığında hedeflenen uygulamayı ilk açan kullanıcılarla eşleşir.

Aşağıdaki SDK'ları gerektirir:

  • Google Analytics için Firebase SDK'sı
  • Apple platformları SDK v9.0.0+ veya Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

Kurulum Kimliği içinde Hedeflemek için bir veya daha fazla Kurulum Kimliği (en fazla 50) belirtin. Bu kural, söz konusu kurulumun kimliği virgülle ayrılmış değerler listesinde yer alıyorsa, belirli bir kurulum için true olarak değerlendirilir.

Yükleme kimliklerini nasıl alabileceğinizi öğrenmek için İstemci tanımlayıcılarını alma bölümüne bakın.

Parametreleri ve koşulları arama

Remote Config Parameters sekmesinin üst kısmındaki arama kutusunu kullanarak projenizin parametre anahtarlarını, parametre değerlerini ve koşullarını Firebase konsolundan arayabilirsiniz.

Parametreler ve koşullar üzerindeki sınırlar

Bir Firebase projesinde 2000'e kadar parametreye ve 500'e kadar koşula sahip olabilirsiniz. Parametre anahtarları en fazla 256 karakter uzunluğunda olabilir, alt çizgi veya İngilizce harf karakteriyle (AZ, az) başlamalıdır ve sayıları da içerebilir. Bir projedeki parametre değeri dizilerinin toplam uzunluğu 1.000.000 karakteri aşamaz.

Parametreler ve koşullardaki değişiklikleri görüntüleme

Remote Config şablonlarınızdaki en son değişiklikleri Firebase konsolundan görüntüleyebilirsiniz. Her bağımsız parametre ve koşul için şunları yapabilirsiniz:

  • Parametreyi veya koşulu en son değiştiren kullanıcının adını görüntüleyin.

  • Değişiklik aynı gün içinde gerçekleşmişse, değişikliğin etkin Remote Config şablonunda yayınlanmasından bu yana geçen dakika veya saat sayısını görüntüleyin.

  • Değişiklik bir veya daha fazla gün önce gerçekleşmişse, değişikliğin etkin Remote Config şablonunda yayınlandığı tarihi görüntüleyin.

Parametre güncellemeleri

Uzak Yapılandırma Parametreleri sayfasında, Son yayınlanan sütunu, her bir parametreyi değiştiren son kullanıcıyı ve değişikliğin son yayınlanma tarihini gösterir:

  • Gruplanmış parametreler için değişiklik meta verilerini görüntülemek için parametre grubunu genişletin.

  • Yayınlanma tarihine göre artan veya azalan düzende sıralamak için Son yayınlanan sütun etiketini tıklayın.

Durum güncellemeleri

Remote Config Koşulları sayfasında, koşulu değiştiren son kullanıcıyı ve koşulu değiştirdikleri tarihi, her koşulun altındaki Son değiştirilme öğesinin yanında görebilirsiniz.

Sonraki adımlar

Firebase projenizi yapılandırmaya başlamak için Firebase Remote Config Projesi Kurma bölümüne bakın.

,

Firebase konsolunu veya Remote Config arka uç API'lerini kullanırken, bir veya daha fazla parametre (anahtar/değer çiftleri) tanımlar ve bu parametreler için uygulama içi varsayılan değerler sağlarsınız. Sunucu tarafı parametre değerlerini tanımlayarak uygulama içi varsayılan değerleri geçersiz kılabilirsiniz. Parametre anahtarları ve parametre değerleri dizelerdir, ancak bu değerleri uygulamanızda kullandığınızda parametre değerleri diğer veri türleri olarak kullanılabilir.

Firebase konsolunu, Yönetici SDK'sını veya Remote Config REST API'yi kullanarak, uygulama örneği gruplarını hedeflemek için kullanılan koşullu değerlerin yanı sıra parametreleriniz için yeni varsayılan değerler oluşturabilirsiniz. Firebase konsolunda yapılandırmanızı her güncellediğinizde Firebase, Remote Config şablonunuzun yeni bir sürümünü oluşturur ve yayınlar. Önceki sürüm saklanır ve gerektiğinde geri almanıza veya geri almanıza olanak tanır. Bu işlemlere Firebase konsolu, Firebase Admin SDK ve REST API aracılığıyla ulaşabilirsiniz ve Manage Remote Config şablon sürümlerinde daha kapsamlı bir şekilde açıklanmaktadır.

Bu kılavuz, parametreleri, koşulları, kuralları, koşullu değerleri ve Remote Config Sunucusunda ve uygulamanızda çeşitli parametre değerlerine nasıl öncelik verildiğini açıklar. Ayrıca, koşulları oluşturmak için kullanılan kural türleri hakkında ayrıntılar sağlar.

Koşullar, kurallar ve koşullu değerler

Bir uygulama örneği grubunu hedeflemek için bir koşul kullanılır. Koşullar, belirli bir uygulama örneği için koşulun true olarak değerlendirilmesi için hepsinin true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımsızsa (örneğin, hiçbir değer yoksa), bu kural false olarak değerlendirilir.

Örneğin, bir uygulamanın açılış sayfasını tanımlayan bir parametre, if device_os = Android basit kuralı kullanarak işletim sistemi türüne göre farklı resimler gösterebilir:

Firebase konsolundaki "splash_page" parametresinin iOS için varsayılan değerini ve Android için koşullu değerini gösteren ekran görüntüsü

Veya uygulamanızın özel promosyon ürünlerini ne zaman görüntülediğini kontrol etmek için bir zaman koşulu kullanılabilir.

Bir parametre, farklı koşulları kullanan birden çok koşullu değere sahip olabilir ve parametreler, bir proje içindeki koşulları paylaşabilir. Firebase konsolunun Parametreler sekmesinde , her parametrenin koşullu değerleri için getirme yüzdesini görüntüleyebilirsiniz. Bu metrik, son 24 saat içinde her bir değeri alan isteklerin yüzdesini gösterir.

Parametre değer önceliği

Bir parametre, kendisiyle ilişkilendirilmiş birkaç koşullu değere sahip olabilir. Aşağıdaki kurallar, Remote Config Server'dan hangi değerin getirileceğini ve belirli bir zamanda belirli bir uygulama örneğinde hangi değerin kullanılacağını belirler:

Sunucu tarafı parametre değerleri aşağıdaki öncelik listesine göre alınır

  1. İlk olarak, belirli bir uygulama örneği için true olarak değerlendirilen koşullara sahip koşullu değerler uygulanır. Birden çok koşul true olarak değerlendirilirse Firebase konsolu kullanıcı arayüzünde gösterilen ilk (en üstteki) koşul öncelikli olur ve bir uygulama arka uçtan değerleri aldığında bu koşulla ilişkili koşullu değerler sağlanır. Koşullar sekmesinde koşulları sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.

  2. true olarak değerlendirilen koşullara sahip koşullu değerler yoksa, bir uygulama arka uçtan değerleri aldığında sunucu tarafı varsayılan değeri sağlanır. Arka uçta bir parametre yoksa veya varsayılan değer Use in-app default olarak ayarlanmışsa, bir uygulama değerleri getirdiğinde bu parametre için hiçbir değer sağlanmaz.

Uygulamanızda, parametre değerleri aşağıdaki öncelik listesine göre get yöntemleriyle döndürülür.

  1. Arka uçtan bir değer getirildiyse ve ardından etkinleştirildiyse, uygulama getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcıdır.
  2. Arka uçtan hiçbir değer getirilmediyse veya Remote Config arka ucundan getirilen değerler etkinleştirilmemişse uygulama, uygulama içi varsayılan değeri kullanır.

    Varsayılan değerleri alma ve ayarlama hakkında daha fazla bilgi için bkz. Remote Config şablon varsayılanlarını indir .

  3. Uygulama içi varsayılan değer ayarlanmadıysa, uygulama statik bir tür değeri kullanır ( int için 0 ve boolean için false gibi).

Bu grafik, Remote Config arka ucunda ve uygulamanızda parametre değerlerine nasıl öncelik verildiğini özetlemektedir:

Yukarıdaki sıralı listeler tarafından açıklanan akışı gösteren diyagram

Parametre değeri veri türleri

Remote Config, her parametre için bir veri türü seçmenize olanak tanır ve bir şablon güncellemesinden önce tüm sunucu tarafı değerlerini bu türe göre doğrular. Veri türü, bir getRemoteConfig isteğinde saklanır ve döndürülür.

Şu anda desteklenen türler şunlardır:

  • String
  • Boolean
  • Number
  • JSON

Firebase konsolu kullanıcı arayüzünde veri türü, parametre anahtarının yanındaki açılır menüden seçilebilir. REST API'de türler, parametre nesnesi içindeki value_type alanı kullanılarak ayarlanabilir.

Parametre grupları

Remote Config, daha düzenli bir kullanıcı arabirimi ve zihinsel model için parametreleri birlikte gruplamanıza olanak tanır.

Örneğin, yeni bir oturum açma özelliği sunarken üç farklı kimlik doğrulama türünü etkinleştirmeniz veya devre dışı bırakmanız gerektiğini varsayalım. Remote Config ile türleri istediğiniz gibi etkinleştirmek için üç parametre oluşturabilir ve ardından bunları önek veya özel sıralama eklemenize gerek kalmadan "Yeni oturum açma" adlı bir grupta düzenleyebilirsiniz.

Firebase konsolunu veya Remote Config REST API'yi kullanarak parametre grupları oluşturabilirsiniz. Oluşturduğunuz her parametre grubunun, Remote Config şablonunuzda benzersiz bir adı vardır. Parametre grupları oluştururken şunları unutmayın:

  • Parametreler herhangi bir zamanda yalnızca bir gruba dahil edilebilir ve bir parametre anahtarı tüm parametrelerde yine de benzersiz olmalıdır.
  • Parametre grubu adları 256 karakterle sınırlıdır.
  • Hem REST API'sini hem de Firebase konsolunu kullanıyorsanız, yayınlama sırasında parametre gruplarını işlemek için herhangi bir REST API mantığının güncellendiğinden emin olun.

Firebase konsolunu kullanarak parametre grupları oluşturun veya değiştirin

Firebase konsolunun Parametreler sekmesinde parametreleri gruplandırabilirsiniz. Bir grup oluşturmak veya değiştirmek için:

  1. Grupları yönet'i seçin.
  2. Eklemek istediğiniz parametreler için onay kutularını seçin ve Gruba taşı'yı seçin.
  3. Mevcut bir grubu seçin veya bir ad ve açıklama girip Yeni grup oluştur öğesini seçerek yeni bir grup oluşturun . Bir grubu kaydettikten sonra, Değişiklikleri yayınla düğmesi kullanılarak yayınlanabilir.

Programlı olarak gruplar oluşturun

Remote Config REST API , parametre grupları oluşturmak ve yayınlamak için otomatik bir yol sağlar. REST'e aşina olduğunuzu ve API'ye yönelik istekleri yetkilendirecek şekilde ayarlandığınızı varsayarsak, grupları programatik olarak yönetmek için şu adımları uygulayabilirsiniz:

  1. Geçerli şablonu al
  2. Parametre gruplarınızı temsil etmesi için JSON nesneleri ekleyin
  3. Bir HTTP PUT isteği kullanarak parametre gruplarını yayınlayın.

parameterGroups nesnesi, iç içe geçmiş bir açıklama ve gruplandırılmış parametrelerin listesiyle birlikte grup anahtarları içerir. Her grup anahtarının genel olarak benzersiz olması gerektiğini unutmayın.

Örneğin, "yeni menü" parametre grubunu tek bir parametreyle, pumpkin_spice_season olarak ekleyen bir şablon revizyonundan bir alıntı:

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

Koşul kuralı türleri

Firebase konsolunda aşağıdaki kural türleri desteklenir. Koşullu ifade başvurusunda ayrıntılı olarak açıklandığı gibi, Remote Config REST API'sinde eşdeğer işlevsellik mevcuttur.

kural türü Operatör(ler) Değer(ler) Not
Uygulama == Firebase projenizle ilişkili uygulamalar için Uygulama Kimlikleri listesinden seçim yapın. Firebase'e bir uygulama eklediğinizde, Remote Config kurallarında Uygulama Kimliği olarak gösterilen bir özniteliği tanımlayan bir paket kimliği veya Android paket adı girersiniz.

Bu özelliği şu şekilde kullanın:
  • Apple platformları için: Uygulamanın CFBundleIdentifier'ını kullanın. Xcode'da uygulamanızın birincil hedefi için Paket Tanımlayıcısını Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId değerini kullanın. applicationId uygulama düzeyindeki build.gradle dosyanızda bulabilirsiniz.
Uygulama sürümü Dize değerleri için:
tam olarak eşleşir,
içerir,
içermiyor,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Uygulamanızın hedeflenecek sürümlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Android/Apple uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Apple platformları için: Uygulamanın CFBundleShortVersionString öğesini kullanın.

Not: CFBundleShortVersionString önceki sürümlerde gönderilmediğinden Apple uygulamanızın Firebase Apple platformları SDK sürüm 6.24.0 veya üzerini kullandığından emin olun ( sürüm notlarına bakın).

Android için: Uygulamanın versionName değerini kullanın.

Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam olarak eşleşenler , içerir , içermez veya normal ifade operatörünü kullanırken birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

Yapı numarası Dize değerleri için:
tam olarak eşleşir,
içerir,
içermiyor,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Hedeflemek için uygulamanızın yapılarını belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Apple veya Android uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Bu operatör yalnızca Apple ve Android uygulamaları için kullanılabilir. Uygulamanın Apple için CFBundleVersion ve Android için versionCode'una karşılık gelir. Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır.

Tam olarak eşleşenler , içerir , içermez veya normal ifade operatörünü kullanırken birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

platformu == iOS
Android
İşletim sistemi ==

Hedeflenecek işletim sistemlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Web uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

İşletim sistemi ve sürümü, belirtilen listedeki bir hedef değerle eşleşirse, bu kural belirli bir Web uygulaması örneği için true olarak değerlendirilir.
Tarayıcı ==

Hedeflenecek tarayıcıları belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Web uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.

Tarayıcı ve sürümü, belirtilen listedeki bir hedef değerle eşleşirse, bu kural belirli bir Web uygulaması örneği için true olarak değerlendirilir.
Cihaz kategorisi öyle değil seyyar Bu kural, web uygulamanıza erişen cihazın mobil olup olmadığını (masaüstü veya konsol) değerlendirir. Bu kural türü yalnızca web uygulamaları için kullanılabilir.
Diller içinde Bir veya daha fazla dil seçin. Söz konusu uygulama örneği, listelenen dillerden birini kullanan bir cihaza yüklendiyse, bu kural, belirli bir uygulama örneği için true olarak değerlendirilir.
Ülke/Bölge içinde Bir veya daha fazla bölge veya ülke seçin. Örnek, listelenen bölgelerden veya ülkelerden herhangi birindeyse, bu kural belirli bir uygulama örneği için true olarak değerlendirilir. 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.
Kullanıcı kitle(ler)i En az birini içerir Projeniz için oluşturduğunuz Google Analytics kitleleri listesinden bir veya daha fazla seçin.

Bu kural, Firebase projenizle ilişkilendirilmiş bir uygulamayı seçmek için bir Uygulama Kimliği kuralı gerektirir.

Not: Birçok Analytics kitlesi, uygulama kullanıcılarının eylemlerine dayanabilen olaylar veya kullanıcı özellikleri tarafından tanımlandığından, belirli bir uygulama örneği için Kitledeki Kullanıcı kuralının geçerlilik kazanması biraz zaman alabilir.

Kullanıcı özelliği Dize değerleri için:
içerir,
içermiyor,
tam olarak eşleşir,
Düzenli ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Not: İstemcide, kullanıcı özellikleri için yalnızca dize değerleri ayarlayabilirsiniz. Sayısal işleçler kullanan koşullar için Remote Config, karşılık gelen kullanıcı özelliğinin değerini bir tamsayı/kayan değere dönüştürür.
Kullanılabilir Google Analytics kullanıcı özellikleri listesinden seçim yapın. Uygulamanızı kullanıcı tabanınızın çok özel bölümlerine göre özelleştirmek için kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için bkz. Remote Config ve kullanıcı özellikleri .

Kullanıcı özellikleri hakkında daha fazla bilgi edinmek için aşağıdaki kılavuzlara bakın:

Tam olarak eşleşenler , içerir , içermez veya normal ifade işlecini kullanırken, birden çok değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ bağlantılarını da kullanabilirsiniz.

Not: Otomatik olarak toplanan kullanıcı özellikleri , şu anda Remote Config koşulları oluşturulurken kullanılamaz.
Rastgele yüzdelik dilimdeki kullanıcı <=, > 0-100

Kullanıcıları (uygulama örnekleri) gruplara ayırmak için <= ve > işleçlerini kullanarak rastgele bir uygulama örneği örneğine (örnek boyutları %.0001 kadar küçük olan) bir değişiklik uygulamak için bu alanı kullanın.

Her uygulama örneği, söz konusu projede tanımlanan bir anahtara göre kalıcı olarak rastgele bir tam veya kesirli sayıyla eşlenir. Başka bir anahtar seçmediğiniz veya oluşturmadığınız sürece bir kural varsayılan anahtarı (Firebase konsolunda DEF olarak gösterilir) kullanır. Kullanıcıları bu anahtarı kullanarak rastgele seç alanını temizleyerek bir kuralı varsayılan anahtarı kullanmaya döndürebilirsiniz. Verilen yüzde aralıklarında aynı uygulama örneklerini tutarlı bir şekilde ele almak için kurallar genelinde tek bir anahtar kullanabilirsiniz. Veya yeni bir anahtar oluşturarak belirli bir yüzde aralığı için rastgele atanan yeni bir uygulama örneği grubu seçebilirsiniz.

For example, to create two related conditions that each apply to a non-overlapping 5% of an app's users, you could have one condition include a <= 5% rule, and another condition include both a > 5% rule and a <= 10% rule. To make it possible for some users to randomly appear in both groups, use different keys for the rules in each condition.

Imported segment is in Select one or more imported segment. This rule requires setting up custom imported segments .
Date/Time Before, After A specified date and time, either in the device timezone or a specified timezone such as "(GMT+11) Sydney time." Compares the current time to the device fetch time.
First open Before, After A specified date and time, in the specified timezone.

Matches users who first open the targeted app within the specified time range.

Requires the following SDKs:

  • Firebase SDK for Google Analytics
  • Apple platforms SDK v9.0.0+ or Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

Installation ID is in Specify one or more Installation IDs (up to 50) to target. This rule evaluates to true for a given installation if that installation's ID is in the comma-separated list of values.

To learn how you can get installation IDs, see Retrieve client identifiers .

Searching parameters and conditions

You can search your project's parameter keys, parameter values, and conditions from the Firebase console using the search box at the top of the Remote Config Parameters tab.

Limits on parameters and conditions

Within a Firebase project, you can have up to 2000 parameters, and up to 500 conditions. Parameter keys can be up to 256 characters long, must start with an underscore or English letter character (AZ, az), and may also include numbers. The total length of parameter value strings within a project cannot exceed 1,000,000 characters.

Viewing changes to parameters and conditions

You can view the latest changes to your Remote Config templates from the Firebase console . For each individual parameter and condition, you can:

  • View the name of the user who last modified the parameter or condition.

  • If the change occurred within the same day, view the number of minutes or hours that have elapsed since the change was published to the active Remote Config template.

  • If the change occurred one or more days in the past, view the date when the change was published to the active Remote Config template.

Parameter updates

On the Remote Config Parameters page, the Last published column shows the last user who modified each parameter and the last publish date for the change:

  • To view change metadata for grouped parameters, expand the parameter group.

  • To sort in ascending or descending order by publish date, click the Last published column label.

Condition updates

On the Remote Config Conditions page, you can see the last user who modified the condition and the date they modified it next to Last modified beneath each condition.

Next steps

To get started configuring your Firebase project, see Set up a Firebase Remote Config Project .