Remote Config Parametreleri ve Koşulları

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. Remote Config parametreleri ve sunucuya özel şablonlardan alınan değerler, Firebase Admin Node.js SDK v12.1.0+ kullanan Remote Config uygulamalarına (Cloud Run ve Cloud Functions dahil) sunulur.

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ğerleri tanımlayarak uygulama içi varsayılan değerleri geçersiz kılabilirsiniz. Parametre anahtarları ve parametre değerleri dizedir ancak uygulamanızda bu değerleri kullandığınızda parametre değerleri başka veri türleri gibi yayınlanabilir.

Firebase konsolunu, Admin SDK'yı veya Remote Config REST API'yi kullanarak parametreleriniz için yeni varsayılan değerler ve uygulama örneği gruplarını hedeflemek amacıyla 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şturur ve yayınlar. Önceki sürüm depolandığından gerektiğinde dosyayı alabilir veya geri alabilirsiniz. Bu işlemlere Firebase konsolu, Firebase Admin SDK ve REST API üzerinden erişilebilir ve bu işlemler Remote Config şablon sürümlerini yönetme bölümünde daha kapsamlı bir şekilde açıklanmıştır.

Bu kılavuzda parametreler, koşullar, kurallar, koşullu değerler ve farklı parametre değerlerinin Remote Config Sunucusu'nda ve uygulamanızda nasıl önceliklendirildiği açıklanmaktadır. Ayrıca koşul oluşturmak için kullanılan kural türleriyle ilgili ayrıntılar da sağlanmaktadır.

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

Uygulama örnekleri grubunu 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ü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 olmadığında) kural false olarak değerlendirilir.

Örneğin, bir uygulamanın başlangıç sayfasını tanımlayan bir parametre, if device_os = Android basit kuralını kullanarak OS türüne göre farklı resimler görüntüleyebilir:

Firebase konsolundaki "splash_page" parametresinin, iOS için varsayılan değeri, Android için koşullu değerini gösteren ekran görüntüsü

Veya uygulamanızın özel promosyon öğelerini ne zaman göstereceğini kontrol etmek için bir zaman koşulu kullanılabilir.

Bir parametrenin farklı koşullar kullanan birden fazla koşullu değeri olabilir ve parametreler bir proje içinde koşulları paylaşabilir. Firebase konsolunun Parametreler sekmesinde, her bir parametrenin koşullu değerlerinin getirme yüzdesini görebilirsiniz. Bu metrik, son 24 saat içinde her bir değeri alan isteklerin yüzdesini gösterir.

Parametre değeri önceliği

Bir parametrenin, kendisiyle ilişkilendirilmiş birden fazla koşullu değeri olabilir. Aşağıdaki kurallar, Remote Config Sunucusu'ndan hangi değerin alınacağını ve belirli bir zamanda, belirli bir uygulama örneğinde hangi değerin kullanılacağını belirler:

Parametre değerleri, aşağıdaki öncelik listesine göre getirilir

  1. Öncelikle, belirli bir uygulama örneği için true olarak değerlendirilen koşullara sahip olan koşullu değerler uygulanır. Birden fazla koşul true olarak değerlendirilirse Firebase konsolu kullanıcı arayüzünde gösterilen ilk (üst) koşul öncelikli olur ve bir uygulama arka uçtan değer getirdiğinde bu koşulla ilişkili koşullu değerler sağlanır. Koşullar sekmesinde koşulları sürükleyip bırakarak koşulların önceliğini değiştirebilirsiniz.

  2. true olarak değerlendirilen koşullara sahip koşullu değerler yoksa bir uygulama arka uçtan değer getirdiğinde Remote Config'in varsayılan değeri sağlanır. Arka uçta bir parametre yoksa veya varsayılan değer Uygulama içi varsayılanı kullan olarak ayarlanmışsa bir uygulama değer getirdiğinde bu parametre için 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. Değer arka uçtan getirilip etkinleştirildiyse uygulama, getirilen değeri kullanır. Etkinleştirilen parametre değerleri kalıcıdır.
  2. Arka uçtan herhangi 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 bölümüne bakın.

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

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

Yukarıdaki sıralı listelerde 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üncellenmeden önce tüm Remote Config değerlerini bu türe göre doğrular. Veri türü depolanır ve getRemoteConfig isteğiyle döndürülür.

Şu anda desteklenen türler şunlardır:

  • String
  • Boolean
  • Number
  • JSON

Veri türü, Firebase konsolu kullanıcı arayüzünde parametre anahtarının yanındaki açılır menüden seçilebilir. REST API türleri, parametre nesnesindeki value_type alanı kullanılarak ayarlanabilir.

Parametre grupları

Remote Config, daha düzenli bir kullanıcı arayüzü ve zihinsel model 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, türleri istediğiniz gibi etkinleştirmek için üç parametre oluşturabilir ve ardından bunları ön ek veya özel sıralama eklemenize gerek kalmadan "Yeni giriş" adlı bir grup altında 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 aşağıdakileri göz önünde bulundurun:

  • Parametreler aynı anda yalnızca bir gruba eklenebilir ve bir parametre anahtarı yine de tüm parametreler genelinde 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 tüm REST API mantığının, yayınlama sırasında parametre gruplarını işlemek için 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 grupta değişiklik yapmak 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 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 grup oluşturma

Remote Config REST API, parametre grupları oluşturmak ve yayınlamak için otomatik bir yöntem sunar. REST hakkında bilgi sahibi olduğunuzu ve API'ye yönelik istekleri yetkilendirmeye hazır olduğunuzu varsayarsak grupları programatik olarak yönetmek için şu adımları uygulayabilirsiniz:

  1. Geçerli şablonu alma
  2. Parametre gruplarınızı temsil edecek JSON nesneleri ekleyin
  3. Parametre gruplarını bir HTTP PUT isteği kullanarak yayınlayın.

parameterGroups nesnesi, iç içe yerleştirilmiş bir açıklama ve gruplandırılmış parametrelerin listesiyle birlikte grup anahtarları içerir. Her grup anahtarının genel olarak benzersiz olması gerektiğini unutmayın.

Örneğin, "yeni menü" parametre grubunu tek bir parametreyle (pumpkin_spice_season) ekleyen bir şablon düzeltmesinden yapılan alıntı şu şekildedir:

{
  "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. Koşullu ifade referansında ayrıntılı olarak açıklandığı gibi, Remote Config REST API'de de eşdeğer işlev kullanılabilir.

Kural türü Operatörler Değerler Not
Uygulamaya == 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österilecek bir özelliği tanımlayan paket kimliği veya Android paket adı girersiniz.

Bu özelliği aşağıdaki gibi kullanın:
  • Apple platformları için: Uygulamanın CFBundleIdentifier kodunu kullanın. Paket Tanımlayıcı'yı Xcode'da uygulamanızın birincil hedefinin Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId'sini kullanın. applicationId öğesini, 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

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

Uygulamanızın hedeflenecek sürümlerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş 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 platform 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'ini kullanın.

Bu kuralın dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Tam olarak eşleşir, şunu içerir:, içermez veya normal ifade operatörünü kullanırken birden fazla 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ıyla veya bir kısmıyla eşleşebilir. Bir hedef dizenin başı, sonu veya bütünü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:
=, ≠, >, ≥, <, ≤

Uygulamanızın hedeflenecek derlemelerini belirtin.

Bu kuralı kullanmadan önce, Firebase projenizle ilişkilendirilmiş bir Apple veya Android uygulaması seçmek için Uygulama Kimliği kuralı kullanmanız gerekir.

Bu operatör yalnızca Apple ve Android uygulamalarında kullanılabilir. Apple için uygulamanın CFBundleVersion ve Android için versionCode değerine karşılık gelir. Bu kuralın dize karşılaştırmaları büyük/küçük harfe duyarlıdır.

Tam olarak eşleşir, şunu içerir:, içermez veya normal ifade operatörünü kullanırken birden fazla değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifade oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizesinin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ çapaları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 sonucunu değerlendirir.
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.

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 true sonucunu değerlendirir.
Cihaz kategorisi eşittir, şu değildir: cep telefonu Bu kural, web uygulamanıza erişen cihazın mobil olup olmadığını (masaüstü veya konsol) 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, belirli bir uygulama örneğinin listelenen dillerden birini kullanan bir cihaza yüklenmesi halinde bu 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. Belirli bir uygulama örneği, listelenen bölgelerden veya ülkelerden birindeyse bu kural, 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 kitleleri listesinden bir veya daha fazla 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ı olabilecek etkinlikler veya kullanıcı özelliklerine göre tanımlandığından Kitledeki kullanıcı kuralının belirli bir uygulama örneğinde geçerli olması biraz zaman alabilir.

Kullanıcı mülkü Dize değerleri için:
içerir,
içermez,
tam olarak eşleşir,
normal ifade

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

Not: İstemcide, kullanıcı özellikleri için yalnızca dize değerleri ayarlayabilirsiniz. Remote Config, sayısal operatörler kullanan koşullar için karşılık gelen kullanıcı özelliğinin değerini tam sayıya/kayan bir değere dönüştürür.
Kullanılabilir Google Analytics kullanıcı mülkleri listesinden seçim yapın. Uygulamanızı, kullanıcı tabanınızın çok belirli segmentleri için özelleştirmek amacıyla kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek için Remote Config ve kullanıcı özellikleri sayfasına bakın.

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:, içermez veya normal ifade operatörünü kullanırken birden fazla değer seçebilirsiniz.

Normal ifade operatörünü kullanırken, RE2 biçiminde normal ifade oluşturabilirsiniz. Normal ifadeniz, hedef sürüm dizesinin tamamıyla veya bir kısmıyla eşleşebilir. Bir hedef dizesinin başlangıcını, sonunu veya tamamını eşleştirmek için ^ ve $ çapalarını da kullanabilirsiniz.

Not: Otomatik olarak toplanan kullanıcı özellikleri şu anda Remote Config koşulları oluşturulurken kullanılamamaktadır.
Rastgele yüzde olarak kullanıcı Kaydırma çubuğu (Firebase konsolunda REST API <=, > ve between operatörlerini kullanır). 0-100

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 (%0,0001 gibi küçük örnek boyutlarıyla) değişiklik uygulamak için bu alanı kullanın.

Her uygulama örneği, ilgili projede tanımlanan bir başlangıç noktasına göre kalıcı olarak rastgele bir tam veya kesirli sayıya eşlenir.

Kaynak değerini değiştirmediğiniz sürece kurallar, varsayılan anahtarı (Firebase konsolunda Temel kaynağı düzenle olarak gösterilir) kullanır. Bir kuralı, Tohum alanını temizleyerek varsayılan anahtarı kullanmaya geri döndürebilirsiniz.

Aynı uygulama örneklerini belirli yüzde aralıklarında tutarlı bir şekilde ele almak için çeşitli koşullarda aynı çekirdek değerini kullanın. Ya da yeni bir çekirdek belirterek belirli bir yüzde aralığı için rastgele atanmış yeni bir uygulama örneği grubu seçin.

Örneğin, her biri uygulama kullanıcılarının% 5'i örtüşmeyen bir kısmı için geçerli olan iki ilgili koşul oluşturmak için bir koşulu% 0 ile% 5 arasında bir yüzdeyle eşleşecek şekilde yapılandırabilir, %5 ile %10 arasındaki bir aralıkla eşleşmesi için başka bir koşul yapılandırabilirsiniz. Bazı kullanıcıların her iki grupta da rastgele görünmesine izin vermek amacıyla her bir koşuldaki kurallar için farklı temel değerler kullanın.

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

Hedeflenen uygulamayı ilk kez belirtilen zaman aralığında açan kullanıcıları eşleştirir.

Aşağıdaki SDK'ları gerektirir:

  • Google Analytics için Firebase SDK'sı
  • Apple platformları SDK v9.0.0+ veya Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

Kurulum 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 listesinde bulunuyorsa bu kural için true hesaplanır.

Yükleme kimliklerini nasıl alabileceğinizi öğrenmek için İstemci tanımlayıcılarını alma bölümünü inceleyin.
Kullanıcı mevcut (operatör yok) Mevcut 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.

Parametre ve koşulları arama

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

Parametreler ve koşullarla ilgili sınırlar

Bir Firebase projesinde en fazla 2.000 parametreniz ve 500 koşulunuz 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. Sayı da içerebilir. Bir projedeki parametre değeri dizelerinin toplam uzunluğu 1.000.000 karakteri aşamaz.

Parametreler ve koşullardaki değişiklikleri görüntüleme

Remote Config şablonlarınızdaki en son değişiklikleri Firebase konsolundan görüntüleyebilirsiniz. Her bir bağımsız 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 şablonuna yayınlanmasından bu yana geçen dakika veya saat sayısını görüntüleyin.

  • Değişiklik geçmişte bir veya daha fazla gün önce gerçekleşmişse değişikliğin etkin Remote Config şablonuna yayınlandığı tarihi görüntüleyin.

Parametre güncellemeleri

Remote Config Parametreler sayfasındaki Son yayınlanma tarihi sütunu, her bir parametreyi değiştiren son kullanıcıyı ve değişikliğin son yayınlanma tarihini gösterir:

  • 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şul güncellemeleri

Remote Config Koşulları sayfasında, koşulu son değiştiren kullanıcıyı ve koşulun değiştirildiği tarihi her koşulun altındaki Son değiştirilme tarihinin yanında görebilirsiniz.

Sonraki adımlar

Firebase projenizi yapılandırmaya başlamak için Firebase Remote Config Projesi oluşturma bölümüne bakın.