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
Bir parametreyle ilişkili birkaç koşullu değer 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 koşullar için koşullu değerler uygulanır. Birden fazla koşultrue
olarak değerlendirilirse Firebase konsol kullanıcı arayüzünde gösterilen ilk (en üstteki) koşul öncelikli olur ve bir uygulama arka uçtan değerleri getirdiğinde bu koşulla ilişkili koşullu değerler sağlanır. Koşulların önceliğini, koşulları Koşullar sekmesine sürükleyip bırakarak değiştirebilirsiniz.true
olarak değerlendirilen koşullara sahip koşullu değer yoksa bir uygulama arka uçtan değerleri getirdiğinde Remote Config'nin varsayılan değeri sağlanır. Bir parametre arka uçta yoksa veya varsayılan değer Uygulama içi varsayılanı kullan olarak ayarlanmışsa bir uygulama değerleri getirirken söz konusu parametre için değer sağlanmaz.
Uygulamanızda parametre değerleri, get
yöntemleriyle aşağıdaki öncelik listesine göre döndürülür
- Arka uçtan bir değer getirilip etkinleştirildiyse uygulama, getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcıdır.
Arka uçtan değer getirilmediyse veya arka uçtan getirilen değerler etkinleştirilmediyse uygulama, uygulama içi varsayılan değeri kullanır.Remote Config
Varsayılan değerleri edinme 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 özetlenmektedir:
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:
- 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 bir grubu Değişiklikleri yayınla düğmesini kullanarak yayınlayabilirsiniz.
Koşul kuralı türleri
Firebase konsolunda aşağıdaki kural türleri desteklenir. Remote Config REST API'de eşdeğer özellikler mevcuttur. Bu özellikler, koşullu ifade referansında ayrıntılı olarak açıklanmıştır.
Kural türü | Operatörler | Değerler | Not |
Uygulama | == | Firebase projenizle ilişkili uygulamaların 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 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ını seçmek için Uygulama Kimliği kuralını kullanmanız gerekir. |
Apple platformları için: Uygulamanın CFBundleShortVersionString'ini kullanın. Not: CFBundleShortVersionString daha önceki sürümlerde gönderilmediğinden (sürüm notlarına bakın) 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. Android için: Uygulamanın versionName'ini kullanın. Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam olarak eşleşir, şunu içerir:, şunu 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. |
Derleme numarası |
Dize değerleri için: tam olarak eşleşir, içerir, içermez, normal ifade Sayısal değerler için: =, ≠, >, ≥, <, ≤ |
Uygulamanızın hedeflenecek derlemelerini belirtin. Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir Apple veya Android uygulamasını seçmek için Uygulama Kimliği kuralını kullanmanız gerekir. |
Bu operatör yalnızca Apple ve Android uygulamalarında kullanılabilir. Bu, Apple için uygulamanın CFBundleVersion'ına, Android için ise 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ş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 $ tutturucuları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 uygulama kimliği kuralı kullanmanız gerekir. |
Bu kural, işletim sistemi ve sürümü belirtilen listedeki bir hedef değerle eşleşirse 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 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 olarak değerlendirilir.
|
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ında kullanılabilir. |
Diller | içinde | Bir veya daha fazla dil seçin. | Bu kural, söz konusu uygulama örneği listelenen dillerden birini kullanan bir cihaza yüklenmişse belirli bir uygulama örneği için true olarak değerlendirilir.
|
Ülke/Bölge | içinde | Bir veya daha fazla bölge ya da ülke seçin. | Bu kural, söz konusu örnek listelenen bölgelerden veya ülkelerden birindeyse 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ı 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 uygulamayı seçmek için bir uygulama kimliği kuralı gerektirir. Not: Birçok Analytics kitle, uygulama kullanıcılarının işlemlerine dayalı olabilen etkinlikler 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çermez, tam olarak eşleşir, normal ifade içerir Sayısal değerler için: =, ≠, >, ≥, <, ≤ Not: İstemcide, kullanıcı özelliklerinde yalnızca dize değerleri ayarlayabilirsiniz. Sayısal operatörler kullanan koşullarda, Remote Config ilgili kullanıcı özelliğinin değerini tamsayıya/kayan noktalı sayıya dönüştürür. |
Kullanılabilir Google Analytics kullanıcı özelliklerinin listesinden seçim yapın. | Kullanıcı özelliklerini kullanarak uygulamanızı kullanıcı tabanınızın çok spesifik segmentleri için nasıl özelleştirebileceğinizi öğrenmek istiyorsanız
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ılavuzlara bakın: Tam olarak eşleşir, şunu içerir:, şunu 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 $ tutturucularını da kullanabilirsiniz. Not: Remote Config koşulları oluşturulurken otomatik olarak toplanan kullanıcı özellikleri kullanılamaz. |
Rastgele yüzdelik dilimde kullanıcı | Kaydırma çubuğu (Firebase konsolunda) REST API, <= , > ve between operatörlerini kullanır.
|
0-100 |
Kaydırma çubuğu widget'ını kullanarak rastgele karıştırılmış kullanıcıları (uygulama örnekleri) gruplara ayırın ve bu alanı, uygulama örneklerinin rastgele bir örneğine (örnek boyutları %0,0001 kadar küçük olabilir) değişiklik uygulamak için kullanı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. |
İçe aktarılan segment | içinde | İçe aktarılan bir veya daha fazla segment seçin. | Bu kural için özel içe aktarılmış segmentlerin ayarlanması gerekir. |
Tarih/Saat | Before, After | Belirtilen tarih ve saat (cihazın saat diliminde veya "(GMT+11) Sidney saati" gibi belirtilen bir saat diliminde). | Geçerli saati cihaz getirme süresiyle karşılaştırır. |
İlk açılış | Before, After | 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 gereklidir:
|
Yükleme kimliği | içinde | Hedeflenecek bir veya daha fazla yükleme kimliği (en fazla 50) belirtin. | Bu kural, yüklemenin kimliği virgülle ayrılmış değerler listesindeyse söz konusu yükleme için true olarak değerlendirilir.
Yükleme kimliklerini nasıl alabileceğinizi öğrenmek için İstemci tanımlayıcılarını alma başlıklı makaleyi inceleyin. |
Kullanıcı mevcut | (operatör yok) | Mevcut projedeki tüm uygulamaların tüm kullanıcılarını hedefler. |
Uygulamadan veya platformdan bağımsız olarak projedeki tüm kullanıcılarla eşleşmek için bu koşul kuralını kullanın. |
Özel sinyal |
Dize değerleri için:
içerir, içermez, tam olarak eşleşir, normal ifade içerir Sayısal değerler için: =, ≠, >, ≥, <, ≤ Sürüm değerleri için: =, ≠, >, ≥, <, ≤ |
Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam 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çeren 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 $ tutturucularını da kullanabilirsiniz. İstemci ortamları için aşağıdaki veri türleri desteklenir:
Eşleştirilecek sürüm numaralarını temsil eden rakam (ör. 2.1.0). |
Kullanılacak özel sinyal koşulları ve koşullu ifadeler hakkında daha fazla bilgi için Özel sinyal koşulları ve Koşul oluşturmak için kullanılan öğeler başlıklı makaleleri 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.