Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

Firebase konsolunu veya kullanırken Uzaktan Yapılandırma arka uç API'leri , bir veya daha fazla parametre (anahtar-değer çiftleri) tanımlamak ve bu parametreler için uygulama içi varsayılan değerler sağlamak. 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 kullanma Uzaktan Yapılandırma DİNLENME API varsa, uygulamanın örneklerinin hedef gruplarına kullanılan Parametrelerinizde yanı sıra koşullu değerler için yeni varsayılan değerler oluşturabilir. 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 herkese değerlendirmek gerekir, bir veya daha fazla kural oluşur true durum için değerlendirmek için true bir verilen uygulama örneğine ait. Kural değeri tanımsız ise (hiçbir değer kullanılabilir olduğunda örneğin), bu kural için değerlendirecektir false .

Örneğin, bir uygulamanın serim sayfası tanımlayan bir parametre basit kuralı kullanarak OS türüne göre farklı görüntüleri gösterebilen if device_os = Android :

Ya da, bir zaman koşulu zaman uygulamanızın görüntülediği özel promosyon ürün kontrol etmek için kullanılabilir olabilir.

Bir parametrenin farklı koşulları kullanan birden çok koşullu değeri olabilir ve parametreler bir proje içindeki koşulları paylaşabilir. Gelen Parametreler sekmesi Firebase konsolun, her parametrenin koşullu değerleri için getirme yüzdesini görebilirsiniz. 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. Herhangi değerlendirmek koşulları varsa Birincisi, koşullu değerler, uygulanan true belirli bir uygulama örneğine ait. Birden çok koşul olarak değerlendirilirse true birinci (üst) Firebase konsol arayüzünde gösterilen bir öncelik taşır, ve bir uygulama arka uç değerleri getirir zaman bu durum ile ilişkili koşullu değer verilir. Sürükleyip Koşullar sekmesinde koşulları bırakarak koşulların önceliğini değiştirebilirsiniz.

  2. İçin değerlendirmek koşullarla hiçbir koşullu değer varsa true , sunucu tarafı varsayılan değer bir uygulama arka uç değerleri getirir zaman sağlanır. Bir parametre arka uç yoksa veya eğer varsayılan değer bir uygulama değerlerini getirir varsayılan, o zaman hiç değeri o parametre için sağlanan uygulama içi Kullanımı için ayarlanır.

Senin uygulamasında, parametre değerleri tarafından döndürülen get aşağıdaki öncelik listesine göre yöntemlere

  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.
  3. Uygulama iç varsayılan değer kümesi olmuşsa, uygulaması (örneğin statik tip değeri kullanır 0 için int ve false için boolean ).

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

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ü depolanır ve döndürülür getRemoteConfig istek.

Ş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. Geri kalan bölümü API tipleri kullanılarak ayarlanabilir value_type parametre nesne içinde yer alan.

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

Şunları yapabilirsiniz grup parametreleri Parametreler Firebase konsolunun sekmesine. Bir grup oluşturmak veya değiştirmek için:

  1. Seç gruplarını yönetme.
  2. Parametreler için Seç onay kutularını eklemek ve gruba taşı seçmek istiyor.
  3. Varolan bir grubu seçin veya ad ve açıklama girerek yeni bir grup oluşturmak ve seçme Yeni grup oluştur. Bir grup kaydettikten sonra, Yayınla değişiklikler düğmesini kullanarak yayınlanacak mevcuttur.

Programlı olarak gruplar oluşturun

Uzaktan Yapılandırma 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 nesne yuvalanmış açıklama ve gruplandırılmış parametrelerin listesi ile, grup anahtarları içerir. Her grup anahtarının genel olarak benzersiz olması gerektiğini unutmayın.

Örneğin, burada bir parametre ile parametre grubu "yeni menü" ekleyen bir şablon revizyonu bir alıntıdır pumpkin_spice_season :

{
  "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. Ayrıntılı olarak eşdeğer fonksiyonellik, uzaktan yapılandırma REST API mevcuttur koşullu ifade referans .

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. Eğer Firebase için bir uygulama eklediğinizde, kimliği veya Android paket adına yumağı bir iOS girmenizi tanımlar Uzaktan Yapılandırma kurallarında Uygulama kimliği olarak maruz kaldığı bir nitelik.

Bu özelliği aşağıdaki gibi kullanın:
  • Kullanım uygulamanın: iOS için CFBundleIdentifier . Sen Xcode uygulamanızın ana hedef için Genel sekmesinde Bundle Identifier bulabilirsiniz.
  • Kullanım uygulamanın: Android İçin applicationID . Sen bulabilirsiniz applicationId uygulama düzeyinde de build.gradle dosyası.
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, sizin Firebase projeyle ilişkili bir Android / iOS uygulamasını seçmek için bir uygulama kimliği kuralı kullanmalıdır.

Kullanım uygulamanın: iOS için CFBundleShortVersionString .

Not: CFBundleShortVersionString önceki sürümlerinde (bkz gönderilmediğini belirledik olduğunda, emin iOS uygulama yukarıda Firebase iOS SDK sürümü 6.24.0 veya kullanıyor olun sürüm notlarını ).

Kullanım uygulamanın: Android İçin versionName .

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

Normal ifade operatörü kullanırken, normal ifadeler oluşturabilirsiniz RE2 formatında. Normal ifadeniz, hedef sürüm dizesinin tamamı veya bir kısmıyla eşleşebilir. Ayrıca hedef dizenin başında, sonunda veya bütününü maç için ^ ve $ çapa 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, sizin Firebase projeyle ilişkili bir iOS veya Android uygulamasını seçmek için bir uygulama kimliği kuralı kullanmalıdır.

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

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

Normal ifade operatörü kullanırken, normal ifadeler oluşturabilirsiniz RE2 formatında. Normal ifadeniz, hedef sürüm dizesinin tamamı veya bir kısmıyla eşleşebilir. Ayrıca hedef dizenin başında, sonunda veya bütününü maç için ^ ve $ çapa kullanabilirsiniz.

platformu == iOS
Android
İşletim sistemi ==

Hedeflenecek işletim sistemlerini belirtin.

Bu kuralı kullanmadan önce, sizin Firebase projeyle ilişkili bir Web uygulaması seçmek için bir uygulama kimliği kuralı kullanmalıdır.

Bu kural değerlendirir true belirli bir Web uygulaması örneği için işletim sistemi ve sürümü belirtilen listesinde bir hedef değeri eşleşirse.
Tarayıcı ==

Hedeflenecek tarayıcıları belirtin.

Bu kuralı kullanmadan önce, sizin Firebase projeyle ilişkili bir Web uygulaması seçmek için bir uygulama kimliği kuralı kullanmalıdır.

Bu kural değerlendirir true belirli bir Web uygulaması örneği için tarayıcı ve sürümü belirtilen listesinde bir hedef değeri eşleşirse.
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ılarak, (0,0001% olduğunca küçük örnek boyutlarında olan) uygulama örneklerinin rasgele numune için bir değişiklik uygulamak için bu alanı kullanın <= ve> gruplara ayırmanın kullanıcıları (app örnekleri) için operatörler.

Her bir uygulama örneği sürekli bu projede de tanımlanan bir anahtara göre, rasgele bir tam veya kesirli sayıya eşleştirilir. Eğer seçmek veya başka bir anahtarı oluşturmak sürece kural (Firebase konsolunda DEF olarak gösterilen) varsayılan anahtarını kullanır. Bu anahtar alanını kullanarak Rastgele kullanıcıları temizleyerek varsayılan anahtarı kullanarak bir kural dönebilirsiniz. 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, bir koşul bir dahildir olabilir, her bir uygulamanın bir kullanıcı örtüşmeyen% 5'e geçerli olduğunu iki ilgili koşulları oluşturmak <=% 5 kuralı, ve başka koşul ikisini de>% 5 kuralını ve bir <= % 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 izleyiciler uygulama kullanıcısına eylemleri temel alabilir olaylar veya kullanıcı özellikleri ile tanımlanan olduğundan, verilen bir uygulama örneği için etkili olması seyirci kuralında bir Kullanıcı için biraz zaman alabilir.

Bölgede/ülkede cihaz == Bir veya daha fazla bölge veya ülke seçin. Bu kural olarak değerlendirilen true örneği listelenen bölgelerde veya ülkelerden herhangi birinde ise belirli bir uygulama örneğine ait. 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. Bu kural değerlendirir true bu uygulama örneği listelenen dillerden birini kullanan bir cihazda yüklü ise, belirli bir uygulama örneğine ait.
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. Eğer kullanıcı tabanının çok özel segmentleri için uygulamanızı özelleştirmek için kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için bkz Uzaktan Yapılandırma ve kullanıcı özelliklerini .

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

Tam olarak eşleşir kullanırken, içermiyor içerir veya normal ifade operatörü, Birden çok değer seçebilirsiniz.

Normal ifade operatörü kullanırken, normal ifadeler oluşturabilirsiniz RE2 formatında. Normal ifadeniz, hedef sürüm dizesinin tamamı veya bir kısmıyla eşleşebilir. Ayrıca hedef dizenin başında, sonunda veya bütününü maç için ^ ve $ çapa kullanabilirsiniz.

Not: Otomatik olarak toplanan kullanıcı özellikleri Uzaktan Yapılandırma koşulları oluştururken şu anda mevcut değildir.
İçe aktarılan segment == Bir veya daha fazla içe aktarılan segment seçin. Bu kural özel kurma gerektirir ithal segmentleri .

Parametreleri ve koşulları arama

Sen adresinin projenin parametre anahtarlarını, parametre değerleri ve koşulları arama yapabilirsiniz Firebase konsoluna uzaktan Yapılandırma Parametreleri sekmesinin üst kısmındaki arama kutusunu kullanarak.

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 800.000 karakteri aşamaz.

Sonraki adımlar

Senin Firebase projeyi yapılandırmaya başlamak için bkz Uzaktan bir Firebase Yapılandırma Projesi kurun .