Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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 yayınlanabilir.

Firebase konsolunu veya Remote Config REST API'yi kullanarak, parametreleriniz için yeni varsayılan değerlerin yanı sıra uygulama örneği gruplarını hedeflemek için kullanılan koşullu 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 REST API üzerinden de ulaşabilirsiniz.

Bu kılavuz parametreleri, koşulları, kuralları, koşullu değerleri ve Remote Config Server'da 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 grup uygulama örneğini 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 tümünün true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımsızsa (örneğin, kullanılabilir değer olmadığında), 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örüntüleyebilir:

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 parametrenin farklı koşulları kullanan birden çok koşullu değeri 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 ölçüm, son 24 saat içinde her değeri alan isteklerin yüzdesini gösterir.

Parametre değeri önceliği

Bir parametrenin kendisiyle ilişkilendirilmiş birkaç koşullu değeri olabilir. Aşağıdaki kurallar, Remote Config Server'dan hangi değerin alınacağını 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şullar varsa 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 üstte) olan öncelik alır ve bir uygulama arka uçtan değerler getirdiğinde 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ğerler getirdiğinde 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, alınan değeri kullanır. Etkinleştirilen parametre değerleri kalıcıdır.
  2. Arka uçtan herhangi bir değer getirilmediyse veya Remote Config arka ucundan alınan 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ı indirin .

  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 özetler:

Yukarıdaki sıralı listelerde 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ü saklanır ve bir getRemoteConfig isteğinde döndürülür.

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

  • String
  • Boolean
  • Number
  • JSON

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

Parametre grupları

Remote Config, daha organize bir kullanıcı arayüzü ve zihinsel model için parametreleri birlikte gruplandırmanıza olanak tanır.

Örneğin, yeni bir oturum açma özelliğini kullanıma 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 eklemeye gerek kalmadan "Yeni oturum açma" adlı bir grupta düzenleyebilirsiniz.

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

  • Parametreler herhangi bir zamanda yalnızca bir gruba dahil edilebilir ve bir parametre anahtarı tüm parametrelerde hala 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 gruplayabilirsiniz. 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şı öğesini 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 yetkilendirmek üzere ayarlandığınızı varsayarsak, grupları programlı olarak yönetmek için şu adımları uygulayabilirsiniz:

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

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

Örneğin, burada "new menu" parametre grubunu tek bir parametreyle ( pumpkin_spice_season ) 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 referansında ayrıntılı olarak açıklandığı gibi, Remote Config REST API'de 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 aşağıdaki gibi kullanın:
  • Apple platformları için: Uygulamanın CFBundleIdentifier'ını kullanın. Paket Tanımlayıcı'yı , uygulamanızın Xcode'daki birincil hedefi için Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId'sini 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şkili bir Android/Apple uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmanız gerekir.

Apple platformları için: Uygulamanın CFBundleShortVersionString'ini 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 üstünü kullandığından emin olun ( sürüm notlarına bakın).

Android için: Uygulamanın versionName öğesini kullanın.

Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam olarak eşleşmeler , 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 formatında normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamı 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:
=, ≠, >, ≥, <, ≤

Uygulamanızın hedeflenecek yapılarını belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir Apple veya Android uygulaması seçmek için bir Uygulama Kimliği kuralı kullanmanız gerekir.

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şmeler , 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 formatında normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamı 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şkili bir Web uygulamasını seçmek için bir Uygulama Kimliği kuralı kullanmanız gerekir.

İş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ıyı/tarayıcıları belirtin.

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

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.
Tarih/Saat <=, > Aygıt saat diliminde veya "(GMT+11) Sidney saati" gibi belirli bir saat diliminde belirtilen tarih ve saat. Geçerli saati cihaz getirme süresiyle karşılaştırır.
Rastgele yüzdelik dilimdeki kullanıcı <=, > 0-100

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

Her uygulama örneği, o projede tanımlanan bir anahtara göre kalıcı olarak rastgele bir tam veya kesirli sayıya 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. Belirli yüzde aralıklarında aynı uygulama örneklerini tutarlı bir şekilde ele almak için kurallar arasında 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 uygulama kullanıcılarının örtüşmeyen %5'i için geçerli olan iki ilgili koşul oluşturmak için, <= %5 kuralı içeren bir koşula ve hem > %5 kuralı hem de <= içeren başka bir koşula sahip olabilirsiniz. %10 kuralı. Bazı kullanıcıların her iki grupta da rastgele görünmesini sağlamak için her koşuldaki kurallar için farklı anahtarlar kullanın.

Kitledeki kullanıcı == Projeniz için oluşturduğunuz Google Analytics kitleleri listesinden bir veya daha fazlasını seçin.

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

Not: Birçok Analytics kitlesi, uygulama kullanıcılarının eylemlerine dayalı olabilen olaylar veya kullanıcı özellikleri tarafından tanımlandığından, belirli bir uygulama örneği için bir Kitledeki Kullanıcı kuralının yürürlüğe girmesi biraz zaman alabilir.

Bölgede/ülkede cihaz == 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, istekteki cihazın IP adresi veya Firebase Analytics tarafından belirlenen ülke kodu (Analytics verileri Firebase ile paylaşılıyorsa) kullanılarak belirlenir.
Cihaz dili == Bir veya daha fazla dil seçin. Söz konusu uygulama örneği, listelenen dillerden birini kullanan bir cihaza yüklenmişse, bu kural, belirli bir uygulama örneği için true olarak değerlendirilir.
Kullanıcı mülkü 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çleri kullanan koşullar için Remote Config, karşılık gelen kullanıcı özelliğinin değerini bir tamsayıya/kayan değere dönüştürür.
Kullanılabilir Google Analytics kullanıcı mülkleri listesinden seçim yapın. Uygulamanızı kullanıcı tabanınızın çok özel segmentleri için özelleştirmek üzere kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için Remote Config ve kullanıcı özellikleri bölümüne bakın.

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

Tam olarak eşleşmeler , 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 formatında normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamı 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.
İçe aktarılan segment == Bir veya daha fazla içe aktarılan segment seçin. Bu kural, özel içe aktarılan segmentlerin ayarlanmasını gerektirir.
Kurulum Kimliği == Hedeflenecek bir veya daha fazla Kurulum Kimliği (50'ye kadar) belirtin. Bu kural, belirli bir kurulum için, o kurulumun kimliği virgülle ayrılmış değerler listesindeyse true olarak değerlendirilir.

Kurulum kimliklerini nasıl alabileceğinizi öğrenmek için, bkz . İstemci tanımlayıcılarını alma .

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, bir alt çizgi veya İngilizce harf karakteri (AZ, az) ile başlamalıdır ve sayıları da içerebilir. Bir projedeki parametre değeri dizelerinin toplam uzunluğu 1.000.000 karakteri aşamaz.

Sonraki adımlar

Firebase projenizi yapılandırmaya başlamak için, bkz. Firebase Remote Config Project Kurma .