Ş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:
Ö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şultrue
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.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
- Bir değer arka uçtan getirilip etkinleştirildiyse uygulama, getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcı olur.
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.
Uygulama içi varsayılan değer ayarlanmamışsa uygulama statik bir tür değeri kullanır (ör.
int
için0
veboolean
içinfalse
).
Bu grafikte, parametre değerlerinin Remote Config arka ucunda ve uygulamanızda nasıl önceliklendirildiği özetlenmiştir:
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:
- Grupları yönet'i seçin.
- Eklemek istediğiniz parametrelerin onay kutularını işaretleyin ve Gruba taşı'yı seçin.
- 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:
|
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:
|
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.