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. Sunucuya özgü şablonlardaki Remote Config parametreleri ve değerleri, Firebase Admin Node.js SDK v12.1.0+ sürümünü 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 parametre değerleri, uygulamanızda kullandığınızda diğer veri türleri olarak yayınlanabilir.

Firebase konsolunu, Yönetici SDK'sını veya Remote Config REST API'yi kullanarak parametreleriniz için yeni varsayılan değerlerin yanı sıra 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şturur ve yayınlar. Önceki sürüm saklanarak gerektiğinde eski sürüme döndürebilir veya geri alabilirsiniz. Bu işlemlere Firebase konsolu, Firebase Yönetici SDK'sı ve REST API aracılığıyla ulaşabilirsiniz. Bu işlemler Remote Config şablon sürümlerini yönetme bölümünde ayrıntılı olarak açıklanmıştır.

Bu rehberde parametreler, koşullar, kurallar ve koşullu değerlerin yanı sıra Remote Config Server'da ve uygulamanızda çeşitli parametre değerlerinin nasıl önceliklendirildiği açıklanmaktadır. Ayrıca, koşul oluşturmak için kullanılan kural türleri hakkında da ayrıntılı bilgi verilmektedir.

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

Uygulama örnekleri grubunu hedeflemek için koşullar kullanılır. Koşullar, belirli bir uygulama örneği için koşulun 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, kullanılabilir değer olmadığında) bu kural false olarak değerlendirilir.

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

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

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

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 bir 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ğeri önceliği

Bir parametre, kendisiyle ilişkilendirilmiş birkaç koşullu değere sahip olabilir. Aşağıdaki kurallar, Remote Config Server'dan hangi değerin getirileceğini ve belirli bir uygulama örneğinde belirli bir zamanda 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şullar varsa koşullu değerler uygulanır. Birden fazla koşul true olarak değerlendirilirse Firebase konsolu kullanıcı arayüzünde gösterilen ilk (en üstte) 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ğer 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 herhangi 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

  1. Bir değer arka uçtan getirilip daha sonra etkinleştirilirse 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ünü inceleyin.

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

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

Yukarıdaki sıralı listeler tarafından açıklanan akışı gösteren diyagram

Parametre değeri veri türleri

Remote Config, her parametre için bir veri türü seçmenize olanak tanır ve bir ş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.

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

  • String
  • Boolean
  • Number
  • JSON

Firebase konsolu kullanıcı arayüzünde, veri türü parametre anahtarının yanındaki açılır listeden 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 imkan 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 üç parametreyi oluşturarak istediğiniz gibi etkinleştirebilir ve ardından bunları, önek veya özel sıralamaya gerek kalmadan "Yeni giriş" adlı bir grup halinde düzenleyebilirsiniz.

Firebase konsolunu veya Remote Config REST API'sini kullanarak parametre grupları oluşturabilirsiniz. Oluşturduğunuz her parametre grubu Remote Config şablonunuzda benzersiz bir ada sahiptir. Parametre grupları oluştururken aşağıdakileri göz önünde bulundurun:

  • Parametreler, aynı anda yalnızca bir gruba dahil edilebilir. Parametre anahtarı, tüm parametreler genelinde yine de benzersiz olmalıdır.
  • Parametre grubu adları 256 karakterle sınırlıdır.
  • Hem REST API hem de Firebase konsolunu kullanıyorsanız tüm REST API mantığının, parametre gruplarını yayınlama sırasında 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. Bir grup oluşturmak veya değiştirmek 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 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üğmesiyle yayınlayabilirsiniz.

Programatik olarak grup oluşturma

Remote Config REST API, parametre gruplarını oluşturmak ve yayınlamak için otomatik bir yol sunar. REST hakkında bilgi sahibi olduğunuz ve istekleri API'ye yetki verecek şekilde ayarlandığını varsayarsak grupları programatik olarak yönetmek için aşağıdaki adımları uygulayabilirsiniz:

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

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

Örneğin, "yeni menü" parametre grubunu pumpkin_spice_season parametresiyle ekleyen bir şablon revizyonundan bir alıntıyı aşağıda görebilirsiniz:

{
  "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ığı gibi Remote Config REST API'de mevcuttur.

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österilen bir özelliği tanımlayan paket kimliği veya Android paket adı girersiniz.

Bu özelliği aşağıdaki şekilde kullanın:
  • Apple platformları için: Uygulamanın CFBundleIdentifier kodunu kullanın. Paket Tanımlayıcısı'nı Xcode'da uygulamanızın birincil hedefinin Genel sekmesinde bulabilirsiniz.
  • Android için: Uygulamanın applicationId'sini kullanın. applicationId bölümünü uygulama düzeyindeki build.gradle dosyanızda bulabilirsiniz.
Uygulama sürümü Dize değerleri için:
şununla tam olarak eşleşir,
içerir,
şunu içermez:
normal 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/Apple uygulaması seçmek için 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 değerini kullanın.

Bu kural için dize karşılaştırmaları büyük/küçük harfe duyarlıdır. Şununla tam olarak eşleşir:, 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ı veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcı, sonu veya tamamı ile eşleştirmek için ^ ve $ çapalarını da kullanabilirsiniz.

Derleme numarası Dize değerleri için:
şununla tam olarak eşleşir,
içerir,
şunu 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 Uygulama Kimliği kuralı kullanmanız gerekir.

Bu operatör yalnızca Apple ve Android uygulamaları için kullanılabilir. Uygulamanın Apple 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 olarak eşleşir, 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ı veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcı, sonu veya tamamı ile 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.

İşletim sistemi ve sürümü, belirtilen listedeki bir hedef değerle eşleşiyorsa bu kural belirli bir Web uygulaması örneği için true değerini 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ünün belirtilen listedeki bir hedef değerle eşleşmesi durumunda belirli bir Web uygulaması örneği için true değerini değerlendirir.
Cihaz kategorisi eşit değildir cep telefonu Bu kural, web uygulamanıza erişen cihazın mobil veya mobil olmayan (masaüstü veya konsol) olup olmadığını 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ği listelenen dillerden birini kullanan bir cihaza yüklüyse bu uygulama örneği için true değerini değerlendirir.
Ülke/Bölge içinde Bir veya daha fazla bölge ya da ülke seçin. Örnek, listelenen bölgelerden veya ülkelerden herhangi birindeyse bu kural belirli bir uygulama örneği için true değerini değerlendirir. Cihazın ülke kodu, istekte 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 kitle seçin.

Bu kural, Firebase projenizle ilişkili bir uygulamayı seçmek için 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 Kitledeki kullanıcı kuralının geçerlilik kazanması biraz zaman alabilir.

Kullanıcı mülkü Dize değerleri için:
şunu içerir,
şunu 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 ilgili kullanıcı özelliğinin değerini tam sayıya/kayanlığa dönüştürür.
Mevcut 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 üzere kullanıcı özelliklerini nasıl kullanabileceğinizi öğrenmek üzere Remote Config ve kullanıcı özellikleri sayfasını inceleyin.

Kullanıcı özellikleri hakkında daha fazla bilgi edinmek için aşağıdaki kılavuzlara göz atın:

Tam olarak eşleşir, 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ı veya bir kısmıyla eşleşebilir. Bir hedef dizenin başlangıcı, sonu veya tamamı ile 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üzdedeki 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 uygulama örneklerinin rastgele bir örneğine değişiklik uygulamak üzere bu alanı kullanın.

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

Temel değeri değiştirmediğiniz sürece bir kural varsayılan anahtarı kullanır (Firebase konsolunda Kaynakyı düzenle olarak gösterilir). Seed (Başlangıç noktası) alanını temizleyerek bir kuralı varsayılan anahtarı kullanmaya geri döndürebilirsiniz.

Aynı uygulama örneklerini belirli yüzde aralıklarında tutarlı bir şekilde ele almak için koşullar genelinde aynı başlangıç noktası değerini kullanın. Dilerseniz yeni bir çekirdek belirterek belirli bir yüzde aralığı için rastgele atanmış yeni bir uygulama örneği grubu da seçebilirsiniz.

Örneğin, her biri bir uygulama kullanıcılarının %5'inin örtüşmeyen %5'i için geçerli olan iki ilgili koşul oluşturmak üzere bir koşulu %0 ile %5 arasında bir yüzdeyle eşleşecek şekilde yapılandırabilir ve başka bir koşulu %5 ile %10 arasında bir aralıkla eşleşecek şekilde yapılandırabilirsiniz. Bazı kullanıcıların her iki grupta da rastgele görünmesini sağlamak istiyorsanız her koşuldaki kurallar için farklı çekirdek değerler kullanın.

İçe aktarılan segment içinde İçe aktarılmış bir veya daha fazla 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 belirtilen bir saat diliminde, belirtilen tarih ve saat. Geçerli saati cihazın getirme zamanıyla karşılaştırır.
İlk açılış Önce, Sonra Belirtilen saat diliminde belirtilen tarih ve saat.

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

Aşağıdaki SDK'lar gerekir:

  • 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 Kurulum Kimliği (en fazla 50) belirtin. Bu kural belirli bir yüklemenin kimliği virgülle ayrılmış değer listesindeyse yükleme için true değerini değerlendirir.

Yükleme kimliklerini nasıl alacağınızı öğrenmek için İstemci tanımlayıcılarını alma bölümünü 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.

Parametreleri ve koşulları arama

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

Parametre 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. Anahtarlar 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ızda yapılan son değişiklikleri Firebase konsolunda 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 birkaç gün önce gerçekleşmişse değişikliğin etkin Remote Config şablonunda yayınlandığı tarihi görüntüleyin.

Parametre güncellemeleri

Remote Config Parametreleri sayfasındaki Son yayınlanan sütununda, her parametreyi en son değiştiren 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ınlanan sütun etiketini tıklayın.

Durum güncellemeleri

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

Sonraki adımlar

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