| Şablon türünü seçin: | İstemci şablonları Sunucu şablonları |
Aşağıdaki sunucu ortamlarını kullanan Remote Config uygulamalarına (Cloud Run ve Cloud Functions for Firebase dahil) sunucuya özel şablonlardan Remote Config parametreleri ve değerleri sunabilirsiniz:
- Firebase Admin Node.js SDK'sı 12.1.0 ve sonraki sürümler
- Firebase Admin Python SDK'sı 6.7.0 veya sonraki sürümler
- Firebase Admin Go SDK'sı 4.17.0 ve sonraki sürümler
- Firebase Admin Java SDK'sı 9.7.0 veya sonraki sürümler
Firebase konsolunu veya Remote Config arka uç API'lerini kullanırken bir veya daha fazla parametre (anahtar/değer çifti) tanımlar ve sunucu kodunuzda bu parametreler için varsayılan değerler sağlarsınız. Remote Config şablonunda parametre değerleri tanımlayarak varsayılan değerleri geçersiz kılabilirsiniz. Parametre anahtarları ve parametre değerleri dizedir ancak parametre değerleri, uygulamanızda kullanıldığında diğer veri türlerine dönüştürülebilir.
Firebase konsolunu, Admin SDK veya Remote Config REST API'yi kullanarak parametreleriniz için yeni varsayılan değerler ve istemci istek 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 saklanır. Böylece gerektiğinde geri alabilir veya geri dönebilirsiniz. Bu işlemleri Firebase konsolunda, Firebase Admin SDK aracında ve REST API'de kullanabilirsiniz. Bu işlemler, Remote Config şablon sürümlerini yönetme başlıklı makalede daha ayrıntılı bir şekilde 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 sunucu 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 grup istemci isteğini hedeflemek için kullanılır. Koşullar, belirli bir istemci isteği için true olarak değerlendirilmesi gereken bir veya daha fazla kuraldan oluşur. Bu kuralların tümü true olarak değerlendirilmelidir. 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) 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ği karşılamak 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 sinyalden yararlanabilirsiniz.
Bir parametre, farklı koşullar kullanan birden fazla koşullu değere sahip olabilir ve parametreler bir proje içinde koşulları paylaşabilir. Her parametrenin koşullu değerlerinin getirme yüzdesini görüntülemek için Firebase konsolunda DevOps ve Etkileşim > Remote Config > Parametreler sayfasına gidin. Bu metrik, son 24 saat içinde her bir değeri alan isteklerin yüzdesini gösterir.
Firebase konsolunu kullanarak koşul ekleme, düzenleme, yeniden sıralama veya silme
Firebase konsolunda hedefleme koşulları oluşturabilir, düzenleyebilir, yeniden sıralayabilir ve silebilirsiniz. Koşullar, bir projedeki parametreler arasında paylaşılır. Koşulları şu şekilde yönetebilirsiniz:
- Firebase konsolunda DevOps ve Etkileşim > Remote Config > Koşullar sayfası'na gidin (veya Parametreler sayfasından Koşulları yönet'i seçin).
- Koşul ekleme: Koşul ekle'yi (veya İlk koşulunuzu oluşturun'u) tıklayın, hedefleme amacını tanımlayan bir ad girin ve bir veya daha fazla hedefleme kuralı seçin.
- Koşul düzenleme: Koşul adını veya düzenle simgesini tıklayın, kuralları gerektiği gibi değiştirin ve Kaydet'i tıklayın.
- Koşul önceliğini değiştirme: Koşullar sayfasında, koşulları tutma yerlerinden sürükleyerek yeniden sıralayın. Listenin üst sıralarındaki koşullar, alt sıralardaki koşullara göre önceliklidir.
- Koşul silme: Kaldırmak istediğiniz koşulun yanındaki sil simgesini tıklayın. Koşul herhangi bir parametre tarafından referans veriliyorsa koşulun kaldırılması, ilişkili koşullu değerleri de kaldırır.
Koşul değişikliklerinizi kaydettikten sonra Değişiklikleri yayınla'yı kullanarak şablonunuzu yayınlayın.
IP tabanlı erişim denetimiyle ilgili IPv6 sınırlaması
Remote Config, IP tabanlı erişim politikalarıyla kullanıldığında IPv6 için sınırlı destek sunar. Kuruluşunuz belirli herkese açık IP aralıklarına erişimi kısıtlıyorsa IPv6 ağı üzerinden bağlanmak aşağıdaki sorunlara neden olabilir:
- Konsol erişimi: Firebase konsolunda veri yükleme veya hedefleme ayarlama gibi belirli Remote Config özelliklerini kullanamayabilirsiniz.
- İstemci erişimi: İstemci uygulamaları PERMISSION_DENIED hatalarıyla karşılaşabilir.
Bu sorunları önlemek için ağınızı IPv4 kullanacak şekilde yapılandırın veya gerekli Firebase IP aralıklarını kuruluşunuzun izin verilenler listesine ekleyin.
Parametre değeri önceliği
Firebase Admin SDK kullanarak sunucu uygulamalarında Remote Config 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, belirli bir zamanda şablon değerlendirmesi sırasında hangi değerin atanacağını belirler:
İlk olarak, belirli bir istemci isteği için
trueolarak değerlendirilen tüm koşullara koşullu değerler uygulanır. Birden fazla koşultrueolarak değerlendirilirse Firebase konsol kullanıcı arayüzünde gösterilen en üstteki koşul öncelikli olur ve şablon değerlendirilirken bu koşulla ilişkili koşullu değerler sağlanır. Koşullar sayfasında koşulları sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.Koşulları
trueolarak değerlendirilen koşullu değer yoksa şablon değerlendirmesi sırasında Remote Config için varsayılan değer sağlanır. Şablonda bir parametre 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ü, getRemoteConfig isteği üzerine depolanır ve döndürülür.
Desteklenen veri türleri şunlardır:
StringBooleanNumberJSON
Firebase konsolu 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ü ve daha iyi bir kullanılabilirlik için parametreleri gruplandırmanıza olanak tanır.
Örneğin, yeni bir giriş özelliği 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 bunları "Yeni giriş" adlı bir grupta düzenleyebilirsiniz. Önek veya özel sıralama eklemeniz 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 aşağıdakileri göz önünde bulundurun:
- Parametreler aynı anda yalnızca bir gruba dahil edilebilir ve parametre anahtarı tüm parametreler arasında 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 konsolunda gruplandırabilirsiniz. Grup oluşturma veya değiştirme adımları:
- Firebase konsolunda DevOps & Engagement > Remote Config > Parameters sayfasına gidin.
- 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 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üğ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üzdeye göre kullanıcı
Rastgele karıştırılmış kullanıcıları (uygulama örnekleri) gruplara ayırmak için kaydırma çubuğu widget'ını kullanarak uygulama örneklerinin rastgele bir örneğine (örnek boyutları %0,0001 kadar küçük olabilir) değişiklik uygulamak için bu alanı kullanın.
Her uygulama örneği, söz konusu projede tanımlanan bir başlangıç değerine göre rastgele bir tam sayıya veya kesirli sayıya kalıcı olarak eşlenir.
Çekirdek değeri değiştirmediğiniz sürece kural, varsayılan anahtarı (Firebase konsolunda Çekirdeği düzenle olarak gösterilir) kullanır. Çekirdek alanını temizleyerek bir kuralı varsayılan anahtarı kullanacak şekilde geri döndürebilirsiniz.
Belirli yüzde aralıklarında aynı uygulama örneklerini tutarlı bir şekilde ele almak için koşullar genelinde aynı çekirdek değeri kullanın. Alternatif olarak, yeni bir seed belirterek 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 çakışmayan %5'ine 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 kurallarda farklı çekirdek değerler kullanın.
Uygulamanıza rastgele yüzde koşulları eklemeyi öğrenmek için Sunucu uygulamanızı yapılandırma bölümüne bakın.
Özel sinyal koşulları
Uygulamanızda tanımladığınız rastgele koşulları eşleştirmek için Özel sinyal koşullu değerlerini kullanabilirsiniz. Bu sayede sunucu yanıtını her istemci isteğine göre özelleştirebilirsiniz. Özel sinyal koşulları, aşağıdaki sunucu ortamı sürümlerinde desteklenir:
- Firebase Admin Node.js SDK'sı 12.1.0 ve sonraki sürümler
- Firebase Admin Python SDK'sı 6.7.0 veya sonraki sürümler
- Firebase Admin Go SDK'sı 4.17.0 ve sonraki sürümler
- Firebase Admin Java SDK'sı 9.7.0 veya sonraki sürümler
Örneğin, belirli platformlar için ayarlanmış farklı modellerle yanıt oluşturmaya yardımcı olmak için üretken yapay zekayı kullanan bir sunucu uygulaması üzerinde çalışıyorsanız aşağıdakileri yapabilirsiniz:
- Remote Config sunucu şablonunuza
promptvemodel_nameparametrelerini ekleyin. - Hedeflemek istediğiniz her platform için
platformdeğerine sahip özel sinyal koşulları ekleyin. - 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.
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 çıkarabilir ve 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 |
|---|---|---|
| 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, ş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ştirmek için ^ ve $ çapa işaretlerini de kullanabilirsiniz. |
| Numbers | <, <=, =, !=, >, >= | Ondalık işaretinin her iki tarafında en fazla 10 basamaklı sayı. |
| Sürümler | <, <=, =, !=, >, >= | Eşleştirilecek sürüm numaralarını temsil eden sayı (ör. 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ı
Firebase konsolunda, DevOps ve Etkileşim > Remote Config > Parametreler sayfasının üst kısmındaki arama kutusunu kullanarak projenizin parametre anahtarlarını, parametre değerlerini ve koşullarını arayabilirsiniz.
Parametre ve koşullarla ilgili sınırlar
Bir Firebase projesinde en fazla 3.000 parametre ve 2.000 koşul kullanabilirsiniz. Parametre anahtarları en fazla 256 karakter uzunluğunda olabilir, alt çizgi veya İngilizce harf karakteriyle (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. Ayrıca, kullanıcı özelliklerine dayalı koşul kuralları en fazla 100 kullanıcı özelliği değeri içerebilir. Sınırların tam listesi için Kotalar ve sınırlar başlıklı makaleyi inceleyin.
Parametre ve koşullarda yapılan değişiklikleri görüntüleme
Remote Config şablonlarınızda yapılan 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 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
Firebase konsolunda DevOps & Engagement > Remote Config > Parameters sayfasına gidin. Son yayınlanma tarihi sütununda, her bir parametreyi en 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 tarihi sütun etiketini tıklayın.
Koşulların değişiklik geçmişi
Firebase konsolunda DevOps & Engagement > Remote Config > Conditions sayfasına gidin. Her koşulun altında, Son değiştirilme tarihi'nin yanında koşulu en son değiştiren kullanıcıyı ve değiştirme tarihini 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.