Firebase Remote Config-Android

Sibel Yıldız
ÇSTech
Published in
4 min readDec 19, 2022

Firebase Remote Config nedir?

Uygulamalarınız Play Store’a çıktıktan sonra onlar üzerinde kontrol sahibi olmak harika olmaz mı? Örneğin, uygulamanızda yeni bir versiyon yayınlamadan farklı bir reklam banner’ı görmek, ya da uygulama arkaplan rengini değiştirmek istemez misiniz? İşte tam da bu sırada Remote Config devreye giriyor.

Firebase Remote Config, kullanıcıların hiçbir ücret ödemeden bir uygulama güncellemesi indirmesine gerek kalmadan uygulamanın davranışının ve görünümünün değiştirilmesine olanak sağlayan bir bulut hizmetidir. Remote Config kullanılırken, uygulamanın davranışını ve görünümünü kontrol eden uygulama içi varsayılan değerler oluşturulur. Daha sonra tüm uygulama kullanıcıları veya belli bir kullanıcı bölümü için uygulama içi varsayılan değerleri değiştirmek için Firebase konsolu veya Remote Config Backend API’leri kullanılır.

Nasıl Çalışır?

Remote Config, parametre değerlerini alma ve bunları önbelleğe kaydetme gibi önemli görevleri yerine getirir ve uygulamanızın kullanıcı deneyimini etkilemek için yeni değerlerin ne zaman etkinleştirildiği üzerinde kontrol sahibi olmanızı sağlayan bir istemci kitaplığı içerir.

Uygulamanızda varsayılan değerleri değiştirmek için, Firebase konsolunu veya Remote Config Backend API’lerini kullanarak uygulamanızda kullanılan parametrelerle aynı adlara sahip parametreler oluşturursunuz. Her parametre için, uygulamadaki varsayılan değeri değiştirmek için sunucu tarafında varsayılan değeri ayarlayabilir ve ayrıca belirli koşulları karşılayan örnekleriniz için koşullu değerler oluşturabilirsiniz.

Uygulama

Örneğin yılbaşı konseptine uygun olarak uygulamanızda tema değişikliği yapacaksınız. Bu tarz bir değişiklik için Play Store’a yeni versiyon da çıkılabilir fakat bu değişikliklerin bütün kullanıcılar tarafından kullanılabilmesi için uygulamalanın güncellenmiş olması gerekmektedir ve bunun bir garantisi yoktur.

Ayrıca sadece tema değişikliği için yeni bir versiyon çıkmak gereksiz bir çaba olacaktır. Bir kerelik yapılabilir ama tüm özel günler için bunu yapmak zaman kaybı olacaktır. Bu tarz senaryolarda Firebase Remote Config kullanmak işimizi kolaylaştıracaktır.

  • İlk adım olarak Firebase consolda projenizi oluşturun ve Firebase’i projenize ekleyin. Bunu nasıl yapacağınızla ilgili bir döküman paylaşıyorum.👇
  • Projenizi oluşturduktan sonra Firebase consolundan Remote Config seçeneğine tıklayın.

Karşınıza bu ekran gelecektir. 👇

  • Create configuration butonuna tıklayın.
  • Eklemek istediğiniz her parametre için bir key ve value ekleyin. Ve ekleyeceğiniz değerin tipini seçmelisiniz. Ekran görüntüsünde gördüğünüz gibi 4 tip değeri Remote Config kullanarak değiştirebiliriz.

Ben arkaplan rengi ve karşılama metni için iki değer ekledim. Ekledikten sonra publish etmeyi unutmamalısınız!

❗Gizli verilerinizi Remote Config’de tutmamalısınız. Projeniz için Remote Config ayarlarında tutulan herhangi bir parametreyi decode edilmesi mümkündür.

Şimdi gelelim projeye 🚀

  • build.gradle(app)’a gerekli dependency’i ekleyin.
  • Firebase console’da eklediğimiz remote config parametrelerini tanımlayacağımız bir xml dosyası ekleyin.

Dikkat! Yazdığınız key’lerin Firebase Consol’a eklediğiniz parametre key’leri ile aynı olduğundan emin olun. Value tag’leri arasına yazdığımız değerler ise default değerlerimize karşılık geliyor.

  • Activity veya fragment içerisinde bir Remote Config nesnesi oluşturup, ayarlarını setleyin. minimumFetchIntervalInSeconds veriyi çekmek için minimum zaman aralığını ifade ediyor. setDefaultsAsync methodu ile de az önce oluşturduğumuz, içerisinde parametre ve default değerlerini tanımladığımız xml dosyasını setliyoruz.

Remote Config Backend’inden parametre değerlerini alıp bunları uygulamanızda kullanmak için fetchAndActivate() isteğini kullanın.

Benim örnek uygulamamda sayfamın ilk ve Remote Config ile değerleri güncelledikten sonraki hali bu şekilde. Remote Config ile Play Store’a yeni versiyon çıkmaya gerek kalmadan istediğimiz değişikliği yapmış olduk.

Yaptığım örnek uygulamanın kaynak kodlarına şuradan ulaşabilirsiniz 👇

📚 Kaynakça

--

--