Firebase konsolunu veya Remote Config arka uç API'larını kullanırken , bir veya daha fazla parametre (anahtar / değer çifti) 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 uygulamanızda bu değerleri kullandığınızda parametre değerleri diğer veri türleri olarak dönüştürülebilir.
Firebase konsolunu 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, gerektiğinde geri almanıza veya geri almanıza olanak tanıyacak şekilde saklanır. Bu işlemlere ayrıca REST API aracılığıyla da erişebilirsiniz.
Bu kılavuz, parametreleri, koşulları, kuralları, koşullu değerleri ve çeşitli parametre değerlerinin Remote Config Server'da ve uygulamanızda nasıl önceliklendirildiğini açıklar. Ayrıca, koşulları oluşturmak için kullanılan kural türleri hakkında ayrıntılar da sağlar.
Koşullar, kurallar ve koşullu değerler
Bir grup uygulama örneğini hedeflemek için bir koşul kullanılır. Koşullar, koşulun belirli bir uygulama örneğinde
true olarak değerlendirilmesi için tümü
true değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bir kuralın değeri tanımsızsa (örneğin, hiçbir değer olmadığında), bu kural
false 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ı görüntüler görüntüleyebilir:
Veya uygulamanızın özel promosyon öğelerini ne zaman görüntüleyeceğ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ğerlerinin 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 parametrenin kendisiyle ilişkili birkaç koşullu değeri olabilir. Aşağıdaki kurallar, hangi değerin Remote Config Server'dan getirildiğ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
İlk olarak, belirli bir uygulama örneği için
truedeğerlendirilen koşullardan herhangi biri varsa, koşullu değerler uygulanır. Birden fazla koşul
truedeğerlendirilirse, Firebase konsol kullanıcı arayüzünde gösterilen ilk (en üst) koşul öncelik kazanır ve bir uygulama arka uçtan değerler aldığında bu koşulla ilişkili koşullu değerler sağlanır. Koşullar sekmesindeki koşulları sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.
İçin değerlendirmek koşullarla hiçbir koşullu değer varsa
true, sunucu tarafı varsayılan değer bir uygulama arka uç değerleri getirir zaman sağlanır. Arka uçta bir parametre yoksa veya varsayılan değer Değer yok olarak ayarlanmışsa, bir uygulama değerleri aldığında bu parametre için değer sağlanmaz.
Senin uygulamasında, parametre değerleri tarafından döndürülen
get aşağıdaki öncelik listesine göre yöntemlere
- 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 hiçbir değer alınmadıysa veya Remote Config arka ucundan getirilen değerler etkinleştirilmediyse, uygulama uygulama içi varsayılan değeri kullanır.
- Uygulama içi varsayılan değer ayarlanmadıysa, uygulama statik bir tür değeri kullanır (
intiçin
0ve
booleaniçin
falsegibi).
Bu grafik, Remote Config arka ucunda ve uygulamanızda parametre değerlerinin nasıl önceliklendirildiğini özetler:
Parametre grupları
Remote Config, daha organize bir kullanıcı arayüzü ve zihinsel model için parametreleri birlikte gruplamanıza olanak tanır.
Örneğin, yeni bir oturum açma ö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, türleri istediğiniz gibi etkinleştirmek için üç parametre oluşturabilir ve ardından bunları önekler veya özel sıralama eklemeye gerek kalmadan "Yeni oturum" 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ı aklınızda bulundurun:
- Parametreler herhangi bir zamanda yalnızca bir gruba dahil edilebilir ve bir parametre anahtarı yine de tüm parametrelerde 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, yayınlanırken 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 gruplayabilirsiniz. Bir grup oluşturmak veya değiştirmek için:
- Grupları yönet'i seçin.
- Eklemek istediğiniz parametreler için onay kutularını seçin ve Gruba taşı öğesini seçin.
- Mevcut bir grubu seçin veya bir ad ve açıklama girip Yeni grup oluştur'u 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 istekleri API'ye yetkilendirmek üzere ayarlandığınızı varsayarsak, grupları programlı bir şekilde yönetmek için şu adımları uygulayabilirsiniz:
- Mevcut şablonu alın
- Parametre gruplarınızı temsil etmek için JSON nesneleri ekleyin
- Parametre gruplarını bir HTTP PUT isteği kullanarak yayınlayın.
parameterGroups nesnesi, iç içe bir açıklama ve gruplanmış parametrelerin listesi ile grup anahtarlarını içerir. Her grup anahtarının genel olarak benzersiz olması gerektiğini unutmayın.
Örneğin,
pumpkin_spice_season parametresiyle "yeni menü" parametre grubunu 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. Eşdeğer işlevsellik, koşullu ifade referansında ayrıntılı olarak açıklandığı üzere Remote Config REST API'de 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 özelliği tanımlayan bir iOS 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çermiyor,
Düzenli ifade
Sayısal değerler için:
=, ≠,>, ≥, <, ≤
Hedeflenecek uygulamanızın sürümlerini belirtin.
Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir Android / iOS uygulaması seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.
Kullanım uygulamanın: iOS için CFBundleShortVersionString .
Not: CFBundleShortVersionString önceki sürümlerde gönderilmediğinden iOS uygulamanızın Firebase iOS SDK sürüm 6.24.0 veya üstünü kullandığından emin olun ( sürüm notlarına bakın).
Android için: Uygulamanın versionName özelliğini kullanın.
Bu kural için dize karşılaştırmaları büyük / küçük harfe duyarlıdır. Tam eşleşmeleri , 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ı 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:
=, ≠,>, ≥, <, ≤
Hedeflenecek uygulamanızın yapılarını belirtin.
Bu kuralı kullanmadan önce, Firebase projenizle ilişkili bir iOS veya Android uygulaması seçmek için bir Uygulama Kimliği kuralı kullanmalısınız.
Bu operatör yalnızca iOS ve Android uygulamaları için kullanılabilir. Uygulamanın iOS için CFBundleVersion ve Android için versionCode'a karşılık gelir. Bu kural için dize karşılaştırmaları büyük / küçük harfe duyarlıdır.
Tam eşleşmeleri , 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ı 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 $ tutturucularını da kullanabilirsiniz.
|Platform||==|| iOS|
Android
ağ
|İş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ı kullanmalısınız.
| 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 |
|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ı kullanmalısınız.
| Bu kural, tarayıcı ve sürümü belirtilen listedeki bir hedef değerle eşleşirse, belirli bir Web uygulaması örneği için |
|Tarih / Saat||<=,>||Cihazın saat diliminde veya "(GMT + 11) Sidney saati" gibi belirli bir saat diliminde belirtilen tarih ve saat.||Geçerli saati, cihaz getirme saatiyle karşılaştırır.|
|Rastgele yüzdelik dilimde kullanıcı||<=,>||0-100|
Kullanıcıları (uygulama örnekleri) gruplara ayırmak için <= ve > operatörlerini kullanarak rastgele bir uygulama örneği örneğine (% .0001 kadar küçük örnek boyutlarıyla) değişiklik uygulamak için bu alanı kullanın.
Her uygulama örneği, o projede tanımlanan bir anahtara göre sürekli olarak rastgele bir tam veya kesirli sayıya eşlenir. Bir kural, başka bir anahtar seçmediğiniz veya oluşturmadığınız sürece varsayılan anahtarı (Firebase konsolunda DEF olarak gösterilir) kullanır. Bu anahtar alanını kullanarak kullanıcıları rastgele seç'i temizleyerek bir kuralı varsayılan anahtarı kullanmaya döndürebilirsiniz. Belirli yüzde aralıkları içinde aynı uygulama örneklerini tutarlı bir şekilde ele almak için kurallar arasında tek bir anahtar kullanabilirsiniz. Veya yeni bir anahtar oluşturarak belirli bir yüzde aralığı için rastgele atanmış yeni bir uygulama örneği grubu seçebilirsiniz.
Örneğin, her biri bir uygulamanın kullanıcılarının birbiriyle çakışmayan% 5'i için geçerli olan iki ilgili koşul oluşturmak için, bir koşulun <=% 5 kuralı ve diğer koşulun hem >% 5 kuralı hem de <= % 10 kuralı. Bazı kullanıcıların her iki grupta da rastgele görünmesini mümkün kılmak için, her koşulda kurallar için farklı anahtarlar kullanın.
|Kitlede bulunan kullanıcı||==||Projeniz için oluşturduğunuz Google Analytics kitleleri 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 kitlesi, uygulama kullanıcılarının eylemlerine dayalı olabilen etkinlikler veya kullanıcı özellikleri tarafından tanımlandığından, belirli bir uygulama örneği için Kitlede Kullanıcı kuralının yürürlüğe girmesi biraz zaman alabilir.
|Bölgede / ülkede cihaz||==||Bir veya daha fazla bölge veya ülke seçin.|| Örnek, listelenen bölgelerden veya ülkelerden herhangi birinde ise bu kural, belirli bir uygulama örneği için |
|Cihaz dili||==||Bir veya daha fazla dil seçin.|| Bu kural, söz konusu uygulama örneği listelenen dillerden birini kullanan bir cihaza yüklenirse, belirli bir uygulama örneği için ||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çleri kullanan koşullar için Remote Config, karşılık gelen kullanıcı özelliğinin değerini bir tam sayıya / kayan noktaya dönüştürür.
|Mevcut Google Analytics kullanıcı özellikleri listesinden seçim yapın.|| Uygulamanızı, kullanıcı tabanınızın çok belirli segmentleri için özelleştirmek üzere 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 eşleşmeleri , 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ı 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 $ tutturucularını da kullanabilirsiniz.Not: Otomatik olarak toplanan kullanıcı özellikleri şu anda Remote Config koşulları oluşturulurken kullanılamaz.
|İçe aktarılan segment||==||Bir veya daha fazla içe aktarılan segment seçin.||Bu kural, özel içe aktarılan segmentlerin ayarlanmasını gerektirir.|
Parametreleri ve koşulları arama
Remote Config Parameters sekmesinin üst kısmındaki arama kutusunu kullanarak Firebase konsolundan projenizin parametre anahtarlarını, parametre değerlerini ve koşullarını arayabilirsiniz.
Parametreler ve koşullarla ilgili sınırlamalar
Bir Firebase projesinde 2000 adede kadar parametre ve 500 adede kadar koşula sahip olabilirsiniz. Parametre anahtarları en fazla 256 karakter uzunluğunda olabilir, bir alt çizgi veya İngilizce harf karakteriyle (AZ, az) başlamalıdır ve sayılar da içerebilir. Bir proje içindeki parametre değeri dizelerinin toplam uzunluğu 800.000 karakteri aşamaz.
Sonraki adımlar
Firebase projenizi yapılandırmaya başlamak için Firebase Remote Config Projesi Oluşturma konusuna bakın.