了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

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 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 etmek 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ü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ırıcı widget'ını kullanarak rastgele bir uygulama örnekleri ö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 çekirdeğe göre ısrarla rastgele bir tam veya kesirli sayıyla eşlenir.

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

Örneğin, her biri bir uygulamanın kullanıcılarının örtüşmeyen %5'lik kısmına uygulanan ilgili iki 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ı başlangıç ​​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 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.
kullanıcı var (operatör yok) Mevcut 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ş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ğer 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.