Remote Config Parametreleri ve Koşulları


Şablonları hem istemci hem de sunucu kullanım alanları için 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. Sunucuya özgü şablonlardaki Remote Config parametreleri ve değerleri, Firebase Admin Node.js SDK v12.1.0 veya sonraki sürümleri kullanan Remote Config uygulamalarına (Cloud Run ve Cloud Functions dahil) yayınlanır.

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 Konsolu, Admin SDK veya Remote Config REST API'yi kullanarak parametreleriniz için yeni varsayılan değerler ve 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şturup yayınlar. Önceki sürüm depolanır. Böylece, gerektiğinde bu sürüme geri dönebilir veya sürümleri geri alabilirsiniz. Bu işlemleri Firebase konsolunda, Firebase Admin SDK'da ve REST API'de kullanabilirsiniz. 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şul oluşturmak için kullanılan kural türleri hakkında ayrıntılı bilgi verilmektedir.

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

Koşul, bir uygulama örneği grubunu hedeflemek için kullanılır. Koşullar, belirli bir uygulama örneği için koşulun true olarak değerlendirilmesi amacıyla true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımlanmamışsa (örneğin, hiçbir değer mevcut değilse) 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 yayınlayabilirsiniz. Bu kullanım alanında, çoğu isteği yayınlamak için varsayılan değer olarak kararlı bir model sürümü kullanabilir ve istemci isteklerine yanıt vermek üzere deneysel bir model kullanmak için özel sinyali kullanabilirsiniz.

Bir parametrenin farklı koşullar kullanan birden fazla koşullu değeri olabilir ve parametreler bir projedeki 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

Bir parametrenin ilişkili birkaç koşullu değeri olabilir. Aşağıdaki kurallar, Remote Config şablonundan hangi değerin getirileceğini ve belirli bir uygulama örneğinde belirli bir zamanda hangi değerin kullanılacağını belirler:

  1. Öncelikle, belirli bir istemci isteği için true olarak değerlendirilen tüm koşullara koşullu değerler uygulanır. Birden fazla koşul true olarak değerlendirilirse Firebase konsol kullanıcı arayüzünde gösterilen ilk (üstteki) koşul öncelik alır ve bir uygulama arka uçtan değer aldığında bu koşulla ilişkili koşullu değerler sağlanır. Koşulları Koşullar sekmesine sürükleyip bırakarak önceliklerini değiştirebilirsiniz.

  2. true olarak değerlendirilen koşullara sahip koşullu değer yoksa bir uygulama arka uçtan değer aldığında Remote Config'un varsayılan değeri sağlanır. Arka uçta bir parametre yoksa veya varsayılan değer Uygulama içi varsayılan değeri kullan olarak ayarlanmışsa bir uygulama değer 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öntemleri tarafından döndürülür

  1. Bir değer arka uçtan getirilip etkinleştirildiyse uygulama, getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcı olur.
  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 Remote Config şablonu varsayılanlarını indirme başlıklı makaleyi inceleyin.

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

Bu grafikte, parametre değerlerinin Remote Config arka ucunda ve uygulamanızda nasıl önceliklendirildiği özetlenmiştir:

Yukarıdaki sıralı listelerle açıklanan akışı gösteren şema

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 ilgili veri türüne 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 nesnesi içindeki value_type alanı kullanılarak ayarlanabilir.

Parametre grupları

Remote Config, daha düzenli bir kullanıcı arayüzü ve daha iyi kullanılabilirlik için parametreleri gruplandı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 ve ardından ön ek veya özel sıralama eklemenize gerek kalmadan bunları "Yeni giriş" 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ı göz önünde bulundurun:

  • Parametreler herhangi bir zamanda yalnızca bir gruba dahil edilebilir ve parametre anahtarı tüm parametreler için benzersiz olmalıdır.
  • Parametre grubu adları 256 karakterle sınırlıdır.
  • Hem REST API'yi hem de Firebase konsolunu kullanıyorsanız 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şturma veya değiştirme

Parametreleri Firebase konsolunun Parametreler sekmesinde gruplandırabilirsiniz. Grup oluşturmak veya mevcut bir grubu 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 grupları Değişiklikleri yayınla düğmesini kullanarak yayınlayabilirsiniz.

Koşul kuralı türleri

Firebase konsolunda aşağıdaki kural türleri desteklenir. Koşullu ifade referansında açıklandığı gibi, Remote Config REST API'sinde eşdeğer özellikler mevcuttur.

Kural türü Operatörler Değerler Not
Uygulama == Firebase projenizle ilişkili uygulamaların uygulama kimlikleri listesinden seçim yapın. Firebase'e uygulama eklediğinizde, Remote Config kurallarında uygulama kimliği olarak sunulan bir özelliğ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 değerini kullanın. Paket Tanımlayıcı'yı, Xcode'da uygulamanızın birincil hedefinin Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId değerini kullanın. applicationId dosyasını 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çermez,
normal ifade içerir

Sayısal değerler için:
<, <=, =, !=, >, >=

Hedeflenecek uygulama sürümlerinizi belirtin.

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

Apple platformları için: Uygulamanın CFBundleShortVersionString değerini kullanın.

Not: CFBundleShortVersionString önceki sürümlerde gönderilmediğinden Apple uygulamanızın Firebase Apple platformları SDK'sının 6.24.0 veya sonraki bir sürümünü 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 yapılan 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çeriyor operatörünü kullanırken RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizenin tamamını veya bir kısmını eşleştirebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ çapalarını da kullanabilirsiniz.

Derleme numarası Dize değerleri için:
tam olarak eşleşir,
içerir,
içermez,
normal ifade

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Hedeflenecek uygulamanızın derlemelerini 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ı için kullanılabilir. Bu değer, Apple için uygulamanın CFBundleVersion, Android için ise versionCode değerine karşılık gelir. Bu kural için yapılan 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çeriyor operatörünü kullanırken RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizenin tamamını veya bir kısmını eşleştirebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ ankrajlarını da kullanabilirsiniz.

Platform == iOS
Android
Web
 
İşletim sistemi ==

Hedeflenecek işletim sistemlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir web uygulaması 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ıları belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir web uygulaması 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 değerini döndürür.
Cihaz kategorisi is, is not mobil Bu kural, web uygulamanıza erişen cihazın mobil mi yoksa mobil olmayan (masaüstü veya konsol) bir cihaz mı olduğunu değerlendirir. Bu kural türü yalnızca web uygulamaları için kullanılabilir.
Diller içinde Bir veya daha fazla dil seçin. Bu kural, belirli bir uygulama örneği listelenen dillerden birini kullanan bir cihaza yüklüyse true olarak değerlendirilir.
Ülke/Bölge içinde Bir veya daha fazla bölge ya da ülke seçin. Bu kural, listelenen bölgelerden veya ülkelerden birinde bulunan 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.
Kullanıcı kitleleri En az birini içerir Projeniz için oluşturduğunuz Google Analytics kitle listesinden bir veya daha fazlasını seçin.

Bu kural, Firebase projenizle ilişkili bir uygulama seçmek için bir uygulama kimliği kuralı gerektirir.

Not: Birçok Analytics kitlesi, uygulama kullanıcılarının işlemlerine dayalı olabilecek etkinlikler veya kullanıcı özellikleriyle tanımlandığından, belirli bir uygulama örneği için Kitlede kullanıcı kuralının geçerlilik kazanması biraz zaman alabilir.

Kullanıcı özelliği Dize değerleri için:
içeriyor,
içermiyor,
tam olarak eşleşiyor,
normal ifade içeriyor

Sayısal değerler için:
=, ≠, >, ≥, <, ≤

Not: İstemcide, kullanıcı özellikleri için yalnızca dize değerleri ayarlayabilirsiniz. Sayısal operatör kullanan koşullarda Remote Config, ilgili kullanıcı özelliğinin değerini tam sayıya/ondalık sayıya dönüştürür.
Mevcut Google Analytics kullanıcı mülklerinin listesinden seçim yapın. Uygulamanızı, kullanıcı tabanınızın belirli segmentleri için özelleştirmek amacıyla kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için Remote Config ve kullanıcı özellikleri başlıklı makaleyi inceleyin.

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

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çeriyor operatörünü kullanırken RE2 biçiminde normal ifadeler oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizenin tamamını veya bir kısmını eşleştirebilir. Bir hedef dizenin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ ankrajlarını da kullanabilirsiniz.

Not: Remote Config koşulları oluştururken otomatik olarak toplanan kullanıcı mülkleri kullanılamaz.
Rastgele yüzdelik dilimde kullanıcı Kaydırma çubuğu (Firebase konsolunda). REST API, <=, > ve between operatörlerini kullanır. 0-100

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

Her uygulama örneği, ilgili projede tanımlanan bir tohum değerine göre rastgele bir tam veya kesirli sayı ile sürekli olarak eşlenir.

Tohum değerini değiştirmediğiniz sürece bir 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ı içindeki aynı uygulama örneklerini tutarlı bir şekilde ele almak 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 atanan yeni bir uygulama örneği grubu seçebilirsiniz.

Örneğin, bir uygulamanın kullanıcılarının her biri çakışmayan% 5'i için geçerli olacak iki ilgili koşul oluşturmak amacıyla 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.

İçe aktarılan segment içinde İçe aktarılan bir veya daha fazla segment seçin. Bu kural için özel içe aktarılan segmentler oluşturmanız gerekir.
Tarih/Saat Önce, Sonra Cihazın saat diliminde veya "(GMT+11) Sydney saati" gibi belirli bir saat diliminde belirtilen bir tarih ve saat. Geçerli zamanı cihaz getirme zamanıyla karşılaştırır.
İlk açılış Önce, Sonra Belirtilen saat diliminde belirtilen tarih ve saat.

Belirtilen zaman aralığında hedeflenen uygulamayı 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 sonraki bir sürüm ya da Android SDK v21.1.1 veya sonraki bir sürüm (Firebase BoM v30.3.0+)
Yükleme kimliği içinde Hedeflenecek bir veya daha fazla yükleme kimliği (en fazla 50) belirtin. Bu kural, belirli bir yüklemenin kimliği virgülle ayrılmış değer listesindeyse söz konusu yükleme için true değerini döndürür.

Yükleme kimliklerini nasıl alacağınızı öğrenmek için İstemci tanımlayıcılarını alma başlıklı makaleyi inceleyin.
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.

Arama parametreleri ve koşulları

Projenizin parametre anahtarlarını, parametre değerlerini ve koşullarını Remote Config Parametreler sekmesinin üst kısmındaki arama kutusunu kullanarak Firebase konsolundan arayabilirsiniz.

Parametreler ve koşullarla ilgili sınırlar

Bir Firebase projesinde en fazla 2.000 parametre ve 500 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ızdaki en son değişiklikleri Firebase konsolundan görüntüleyebilirsiniz. Her 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 ş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ştiyse 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 tarihi sütununda, her parametreyi değiştiren son kullanıcı ve değişikliğin son yayınlanma tarihi gösterilir:

  • Gruplandırılmış parametrelerle ilgili 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 tarihi 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 ifadesinin yanında koşulu değiştiren son kullanıcıyı ve koşulu değiştirdiği tarihi görebilirsiniz.

Sonraki adımlar

Firebase projenizi ve uygulamanızı Remote Config kullanacak şekilde yapılandırmak için Firebase Remote Config'i kullanmaya başlama başlıklı makaleyi inceleyin.