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ğerleri 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 gibi dönüştürülebilir.

Firebase konsolunu, Admin SDK'yı 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 depolanır ve gerektiğinde geri almanıza veya geri almanıza olanak tanır. Bu işlemlere Firebase konsolu, Firebase Yönetici SDK'sı ve REST API aracılığıyla ulaşabilirsiniz ve Uzaktan Yapılandırma Şablonu Sürümlerini Yönetme bölümünde daha kapsamlı bir şekilde açıklanmaktadır.

Bu kılavuzda parametreler, koşullar, kurallar, koşullu değerler ve Remote Config Server'da ve uygulamanızda çeşitli parametre değerlerine nasıl öncelik verildiği açıklanmaktadır. Ayrıca koşulları oluşturmak için kullanılan kural türlerine ilişkin ayrıntılar da 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, hiçbir değer mevcut 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ı görseller 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 öğelerini ne zaman görüntüleyeceğini kontrol etmek için bir zaman koşulu kullanılabilir.

Bir parametre, farklı koşulları kullanan birden fazla 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ğerlerine ilişkin getirme yüzdesini görüntüleyebilirsiniz. Bu ölçüm, son 24 saat içinde her bir değeri alan isteklerin yüzdesini gösterir.

Parametre değeri önceliği

Bir parametrenin kendisiyle ilişkili birkaç koşullu değeri olabilir. Aşağıdaki kurallar, Remote Config Sunucusundan 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 fazla koşulun true olarak değerlendirilmesi durumunda, Firebase konsolu kullanıcı arayüzünde gösterilen ilk (en üstteki) öncelikli olur 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 hiçbir koşullu değer 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 Uygulama içi varsayılanı kullan 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 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ştirilmediyse 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 . Uzaktan Yapılandırma şablonu varsayılanlarını indirme .

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

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

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 ş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 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 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ı aklınızda bulundurun:

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

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

Firebase konsolunun Parametreler sekmesinde parametreleri gruplandırabilirsiniz. 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ı işaretleyin ve Gruba Taşı öğesini seçin.
  3. Mevcut bir grubu seçin veya bir ad ve açıklama girip Yeni grup oluştur 'u seçerek yeni bir grup oluşturun. Bir grubu kaydettikten sonra, Değişiklikleri yayınla düğmesi kullanılarak yayınlanmaya hazır hale gelir.

Grupları programlı olarak oluşturma

Remote Config REST API, parametre gruplarını oluşturmak ve yayınlamak için otomatik bir yol sağlar. REST konusunda bilgi sahibi olduğunuzu ve API'ye gelen istekleri yetkilendirmeye hazır olduğunuzu varsayarsak, grupları programlı bir şekilde yönetmek için şu adımları uygulayabilirsiniz:

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

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

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

{
  "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 özelliğ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. Paket Tanımlayıcısını, uygulamanızın Xcode'daki birincil hedefinin 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ş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 üzerini kullandığından emin olun ( sürüm notlarına bakın).

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

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

Düzenli ifade operatörünü kullanırken RE2 formatında normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. 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:
=, ≠, >, ≥, <, ≤

Hedeflenecek uygulamanızın yapılarını belirtin.

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

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

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

Düzenli ifade operatörünü kullanırken RE2 formatında normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. 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 Uygulama Kimliği kuralı kullanmanız gerekir.

Bu kural, işletim sistemi ve sürümünün belirtilen listedeki bir hedef değerle eşleşmesi durumunda 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 Uygulama Kimliği kuralı kullanmanız gerekir.

Bu kural, tarayıcının ve sürümünün belirtilen listedeki bir hedef değerle eşleşmesi durumunda belirli bir Web uygulaması örneği için true olarak değerlendirilir.
Cihaz kategorisi öyle değil mobil 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ında kullanılabilir.
Diller içinde Bir veya daha fazla dil seçin. Bu kural, belirli bir uygulama örneğinin listelenen dillerden birini kullanan bir cihaza yüklenmesi durumunda true olarak değerlendirilir.
Ülke/Bölge içinde Bir veya daha fazla bölge veya ülke seçin. Bu kural, örneğin listelenen bölgelerden veya ülkelerden birinde olması durumunda belirli bir uygulama örneği için true olarak değerlendirilir. 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.
Kullanıcı kitlesi/kitleleri En az birini içerir 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ı olabilecek etkinlikler veya kullanıcı özellikleri tarafından tanımlandığından, belirli bir uygulama örneği için Kitledeki Kullanıcı kuralının geçerli olması 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ğerlerini ayarlayabilirsiniz. Sayısal işleçlerin kullanıldığı koşullar için Remote Config, karşılık gelen kullanıcı özelliğinin değerini bir tam sayıya/değişken sayıya 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 amacıyla kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için bkz . Uzaktan Yapılandırma 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şir , içerir , içermez veya normal ifade operatörünü kullanırken birden fazla değer seçebilirsiniz.

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

Not: Uzaktan Yapılandırma koşulları oluşturulurken otomatik olarak toplanan kullanıcı özellikleri şu anda kullanılamamaktadır.
Rastgele yüzdede kullanıcı Kaydırıcı (Firebase konsolunda. REST API , <= , > ve operatörler between kullanır). 0-100

Rastgele karıştırılan kullanıcıları (uygulama örnekleri) gruplara ayırmak için kaydırma widget'ını kullanarak uygulama örneklerinin rastgele bir örneğine (%0,0001 kadar küçük örnek boyutlarıyla) bir değişiklik uygulamak için bu alanı kullanın.

Her uygulama örneği, söz konusu projede tanımlanan bir tohuma göre sürekli olarak rastgele bir tam veya kesirli sayıyla eşlenir.

Çekirdek değerini değiştirmediğiniz sürece kural, varsayılan anahtarı (Firebase konsolunda Tohumu düzenle olarak gösterilir) kullanır. Tohum 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 koşullar genelinde aynı temel değeri kullanın. Veya yeni bir başlangıç ​​noktası belirterek belirli bir yüzde aralığı için rastgele atanmış yeni bir uygulama örnekleri grubu seçin.

Örneğin, her biri bir uygulamanın kullanıcılarının örtüşmeyen %5'lik kısmına uygulanan iki ilgili koşul oluşturmak için, bir koşulu %0 ile %5 arasında bir yüzdeyle eşleşecek şekilde ve başka bir koşulu %5 ile %5 arasında bir aralıkla eşleşecek şekilde yapılandırabilirsiniz. %10. Bazı kullanıcıların her iki grupta da rastgele görünmesine izin vermek için her koşuldaki kurallar için farklı çekirdek değerleri 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 belirtilen tarih ve saat. Geçerli saati cihazın getirme süresiyle karşılaştırır.
İlk açılış Önce sonra Belirtilen saat diliminde belirtilen tarih ve saat.

Hedeflenen uygulamayı belirtilen zaman aralığında ilk kez 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, belirli bir kurulumun kimliğinin virgülle ayrılmış değerler listesinde olması durumunda true olarak değerlendirilir.

Kurulum kimliklerini nasıl alabileceğinizi öğrenmek için bkz . İstemci tanımlayıcılarını alma .
Kullanıcı mevcut (operatör yok) Geçerli projedeki tüm uygulamaların tüm kullanıcılarını hedefler.

Uygulama veya platformdan bağımsız olarak projedeki tüm kullanıcıları eşleştirmek için bu koşul kuralını kullanı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şullarla ilgili sınırlamalar

Bir Firebase projesinde en fazla 2000 parametreye ve en fazla 500 koşula sahip olabilirsiniz. Parametre anahtarları en fazla 256 karakter uzunluğunda olabilir, bir alt çizgi veya İngilizce harf karakteriyle (AZ, az) başlamalıdır ve ayrıca rakam da içerebilir. Bir proje içindeki parametre değeri dizelerinin 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 bir 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ştiyse, değişikliğin etkin Remote Config şablonuna 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 şablonuna yayınlandığı tarihi görüntüleyin.

Parametre güncellemeleri

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

  • Gruplandırılmış parametrelere ilişkin 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 etiketine tıklayın.

Durum güncellemeleri

Uzaktan Yapılandırma Koşulları sayfasında, her koşulun altındaki Son değiştirilme seçeneğinin yanında, koşulu değiştiren son kullanıcıyı ve değiştirdiği tarihi görebilirsiniz.

Sonraki adımlar

Firebase projenizi yapılandırmaya başlamak için Firebase Uzaktan Yapılandırma Projesi Kurma konusuna bakın.