Remote Config Parametreleri ve Koşulları


Hem istemci hem de sunucu kullanım alanları için şablonları yapılandırabilirsiniz. İstemci şablonları, Android, Apple, Web, Unity, Flutter ve C++ uygulamaları dahil olmak üzere Remote Config için Firebase istemci SDK'larını uygulayan tüm uygulama örneklerine sunulur. Aşağıdaki sunucu ortamlarını kullanan Remote Config uygulamalarına (Cloud Run ve Cloud Functions dahil) sunucuya özel şablonlardan Remote Config parametreleri ve değerleri sunulur:

  • Firebase Admin Node.js SDK'sı v12.1.0 veya sonraki sürümler
  • Firebase Admin Python SDK v6.7.0 veya üzeri

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. 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, Admin SDK veya Remote Config REST API'yi kullanarak parametreleriniz için yeni varsayılan değerler ve uygulama örnekleri 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şturup yayınlar. Önceki sürüm depolanır. Böylece, gerektiğinde önceki sürümü alabilir veya geri yükleyebilirsiniz. Bu işlemler Firebase konsolunda, Firebase Admin SDK ve REST API'de kullanılabilir. Bu işlemler Remote Config şablon sürümlerini yönetme başlıklı makalede daha ayrıntılı olarak açıklanmıştır.

Bu kılavuzda parametreler, koşullar, kurallar, koşullu değerler ve çeşitli parametre değerlerinin Remote Config arka ucunda ve uygulamanızda nasıl önceliklendirildiği açıklanmaktadır. Ayrıca, koşullar oluşturmak için kullanılan kural türleri hakkında ayrıntılı bilgi verilmektedir.

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

Bir koşul, uygulama örneklerinden oluşan bir grubu hedeflemek için kullanılır. Koşullar, belirli bir uygulama örneği için koşulun true olarak değerlendirilmesi amacıyla tümünün true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımlanmamışsa (örneğin, değer yoksa) bu kural false olarak değerlendirilir.

Örneğin, büyük dil modeli (LLM) model adını ve sürüm dizesini tanımlayan bir parametre oluşturabilir ve özel sinyal kurallarına göre farklı modellerden yanıtlar sunabilirsiniz. Bu kullanım alanında, çoğu isteğe hizmet vermek için varsayılan değer olarak kararlı bir model sürümü kullanabilir ve test istemcisi isteklerine yanıt vermek için deneysel bir model kullanmak üzere özel sinyali kullanabilirsiniz.

Bir parametre, farklı koşullar kullanan birden fazla koşullu değere sahip olabilir ve parametreler, bir proje içinde 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ğeri önceliği

Remote Config öğesini Firebase Admin SDK kullanan sunucu uygulamalarında kullandığınızda, her istemci isteği için uygun parametre değerlerini isteğe bağlı olarak ayıklamak üzere şablonun tamamını getirip yüklersiniz. Bir parametreyle ilişkili birkaç koşullu değer olabilir.

Aşağıdaki kurallar, şablon değerlendirmesi sırasında belirli bir zamanda hangi değerin atanacağını belirler:

  1. Öncelikle, belirli bir istemci isteği için true olarak değerlendirilen koşullar için koşullu değerler uygulanır. Birden fazla koşul true olarak değerlendirilirse Firebase konsol kullanıcı arayüzünde gösterilen ilk (en üstteki) koşul öncelikli olur ve şablon değerlendirilirken bu koşulla ilişkili koşullu değerler sağlanır. Koşulları Koşullar sekmesine sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.

  2. true olarak değerlendirilen koşullara sahip koşullu değer yoksa şablon değerlendirmesi sırasında Remote Config'nin varsayılan değeri sağlanır. Bir parametre şablonda yoksa veya varsayılan değer Uygulama içi varsayılanı kullan olarak ayarlanmışsa şablon değerlendirilirken bu parametre için değer sağlanmaz.

Sunucu uygulamalarında Remote Config şablonlarını yükleme ve değerlendirme hakkında daha fazla bilgi için Sunucu ortamlarında Remote Config kullanma başlıklı makaleyi inceleyin.

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 Remote Config değerlerini bu türe göre doğrular. Veri türü depolanır ve getRemoteConfig isteğinde döndürülür.

Desteklenen veri türleri ş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 listeden seçilebilir. REST API'de türler, parametre nesnesindeki value_type alanı kullanılarak ayarlanabilir.

Parametre grupları

Remote Config, daha düzenli bir kullanıcı arayüzü için parametreleri birlikte gruplandırmanıza ve kullanılabilirliği artırmanıza olanak tanır.

Örneğin, yeni bir giriş ö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 istediğiniz türleri etkinleştirmek için üç parametre oluşturabilir, ardından bunları "Yeni giriş" adlı bir grupta düzenleyebilirsiniz. Bu işlem için önek eklemeniz veya özel sıralama yapmanız gerekmez.

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ı göz önünde bulundurun:

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

Firebase konsolunu kullanarak parametre grupları oluşturma veya değiştirme

Parametreleri Firebase konsolunun Parametreler sekmesinde gruplandırabilirsiniz. Grup oluşturmak veya değiştirmek için:

  1. Grupları yönet'i seçin.
  2. Eklemek istediğiniz parametrelerin onay kutularını işaretleyin ve Gruba taşı'yı seçin.
  3. Mevcut bir grubu seçin veya ad ve açıklama girip Yeni grup oluştur'u seçerek yeni bir grup oluşturun. Kaydettiğiniz bir grubu Değişiklikleri yayınla düğmesini kullanarak yayınlayabilirsiniz.

Koşul kuralı türleri

Sunucu uygulamaları için Remote Config şablonları aşağıdaki koşul türlerini destekler:

Rastgele yüzdelik dilimde kullanıcı

Kaydırma çubuğu widget'ını kullanarak rastgele karıştırılmış kullanıcıları (uygulama örnekleri) gruplara ayırın ve bu alanı kullanarak uygulama örneklerinin rastgele bir örneğine (örnek boyutları %0,0001 kadar küçük olabilir) değişiklik uygulayın.

Her uygulama örneği, ilgili projede tanımlanan bir başlangıç değerine göre rastgele bir tam sayıya veya kesirli sayıya kalıcı olarak eşlenir.

Bir kural, başlangıç değerini değiştirmediğiniz sürece varsayılan anahtarı (Firebase konsolunda Başlangıcı düzenle olarak gösterilir) kullanır. Başlangıç değeri alanını temizleyerek bir kuralı varsayılan anahtarı kullanmaya döndürebilirsiniz.

Belirli yüzde aralıklarındaki aynı uygulama örneklerine tutarlı bir şekilde hitap etmek için koşullarda aynı başlangıç değerini kullanın. Alternatif olarak, yeni bir başlangıç değeri belirterek belirli bir yüzde aralığı için rastgele atanmış yeni bir uygulama örneği grubu seçin.

Örneğin, bir uygulamanın kullanıcılarının% 5'lik bir bölümüne uygulanan iki ilgili koşul oluşturmak için bir koşulu% 0 ile% 5 arasındaki bir yüzdeyle eşleşecek şekilde, diğer koşulu ise% 5 ile %10 arasındaki bir aralıkla eşleşecek şekilde yapılandırabilirsiniz. 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.

Uygulamanıza rastgele yüzde koşulları eklemeyi öğrenmek için Sunucu uygulamanızı yapılandırma başlıklı makaleyi inceleyin.

Özel sinyal koşulları

Firebase Admin Node.js SDK 12.5.0 ve sonraki sürümlerde, uygulamanızda tanımladığınız rastgele koşulları eşleştirmek için Customsignal koşullu değerlerini kullanabilirsiniz. Bu sayede, her istemci isteği için sunucu yanıtını özelleştirebilirsiniz.

Örneğin, belirli platformlar için ayarlanmış farklı modellerle yanıt oluşturmaya yardımcı olmak üzere üretken yapay zekayı kullanan bir sunucu uygulamasında çalışıyorsanız şunları yapabilirsiniz:

  1. prompt ve model_name parametrelerini Remote Config sunucu şablonunuza ekleyin.
  2. Hedeflemek istediğiniz her platform için platform değerine sahip özel sinyal koşulları ekleyin.
  3. Sunucuya özel Remote Config şablonunuza varsayılan değerler ve tanımladığınız her platform koşulu için koşullu değerler ekleyin.
  4. platform özel sinyalini ayarlamak ve kullanmak için uygulama kodunuzu güncelleyin.

Artık uygulamanız, şablon değerlendirmesi sırasında uygun istemi ve modeli çıkarıp bunları her müşteriye özelleştirilmiş yanıtlar döndürmek için kullanabilir.

Firebase konsolunda özel sinyal koşulları oluşturmak için aşağıdaki kural türlerini kullanabilirsiniz.

Operatör kategorisi Operatörler Değer Not
Metin tam olarak eşleşir, içerir, içermez, normal ifade içerir

Bu kural için 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 içerir operatörünü kullanırken birden fazla değer seçebilirsiniz.

Normal ifade içerir 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. Hedef dizenin başlangıcı, sonu veya tamamıyla eşleşmek için ^ ve $ çapa işaretlerini de kullanabilirsiniz.

Numbers <, <=, =, !=, >, >= Ondalık işaretinin her iki tarafında en fazla on basamaklı sayı.
Sürümler <, <=, =, !=, >, >= Eşleştirilecek sürüm numaralarını temsil eden rakam (örneğin, 2.1.0).

Uygulamanıza nasıl özel sinyaller ekleyeceğinizi öğrenmek için Sunucu uygulamanızı yapılandırma başlıklı makaleyi inceleyin.

Arama parametreleri ve koşulları

Projenizin parametre anahtarlarını, parametre değerlerini ve koşullarını Firebase konsolunda arayabilirsiniz. Bunun için Remote Config Parametreler sekmesinin üst kısmındaki arama kutusunu kullanın.

Parametreler ve koşullarla ilgili sınırlar

Bir Firebase projesinde en fazla 3.000 parametre ve 2.000 koşul olabilir. Parametre anahtarları en fazla 256 karakter uzunluğunda olabilir, alt çizgiyle veya İngiliz alfabesinden bir karakterle (A-Z, a-z) başlamalıdır ve sayı da içerebilir. Bir projedeki parametre değeri dizelerinin toplam uzunluğu 1.000.000 karakteri aşamaz.

Parametrelerde ve koşullarda yapılan değişiklikleri görüntüleme

Remote Config şablonlarınızda yapılan 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 yapıldıysa 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 yapıldıysa değişikliğin etkin Remote Config şablonunda yayınlandığı tarihi görüntüleyin.

Parametrelerin değişiklik geçmişi

Remote Config Parametreler sayfasındaki Son yayınlanma sütununda, her bir parametreyi son değiştiren kullanıcı ve değişikliğin son yayınlanma tarihi gösterilir:

  • Gruplandırılmış parametrelerin 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ınlanma sütun etiketini tıklayın.

Koşulların değişiklik geçmişi

Remote Config 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 koşulun değiştirildiği tarihi görebilirsiniz.

Sonraki adımlar

Firebase projenizi ve sunucu uygulamanızı Remote Config kullanacak şekilde yapılandırmak için Sunucu ortamlarında Remote Config kullanma başlıklı makaleyi inceleyin.