Firebase YENİLENDİ!!!

Yaklaşık 1,5 yıl önce Google tarafından satın alınan Firebase, geçtiğimiz hafta yapılan iyileştirmeler sayesinde Google ailesinin bir üyesi olduğu hem görsel, hemde sistemsel olarak bize göstermeye başlamıştır.

Tamda Firebase’in, Java ve Android Programa ile kullanımlarını geçtiğimiz haftalarda yayınlamış olmamın ardından böyle bir değişikliğin yapılmış olmasına sevinsem mi, yoksa üzülsem mi inanın karar verebilmiş değilim.. (Hedef ben miyim acaba?) Keşke biraz daha hızlı davranıp şu yenileme işlemini 1 ay önce yapsaydınız da benim emeklerime de yazık olmasaydı.. 🙂

Neyse..

Her ne kadar zamanlama hiç hoşuma gitmemiş olsa bile; yapılan değişiklikler bir hayli memnun edici diyebilirim..

Kısaca yapılan değişikliklerden bahsedeyim;

  • Öncelikle; Platformun tüm özellikleri belli başlıklar altında toplanarak hepsi ayrı birer kütüphane olarak bizlere sunulmaktadır. Hangi özelliği kullanmak istiyorsak sadece onun kütüphanesini projemize ekleyip, işimize yaramayan diğer kütüphanelerin projede yer kaplamamasını sağlayacağız.
  • Ekleyeceğiniz her kütüphane Google Analytics ile birlikte gelmektedir.
    Geliştirdiğimiz herhangi bir uygulamayı kullananların davranışlarını anlayıp, onların isteklerine cevap verecek şekilde uygulamamızı geliştirmemiz son derece önemli bir husustur. Yani Google Analytics‘in, uygulamamız hakkında bize vereceği istatistiksel veriler çok işimize yarayacaktır. Bu açıdan bakacak olursak; Google Analytics‘in entegrasyonu, Firebase Platformu kullanılarak geliştirilen uygulamaları çok daha güçlü hale getirecektir.

Yenilenen Google Firebase SDK özellikleri şu başlıklar altında toplanmıştır.

  1. Realtime Database (Gerçek Zamanlı Veri Tabanı) :

    Verilerinizi JSON Formatında gerçek zamanlı ve çevrimdışı saklayabilmenizi sağlayan Firebase‘in bu özelliği, yenilendikten sonra Firebase Database kütüphanesi altında toplamıştır.

  2. Authentication (Yetkilendirme) :

    Önceki makalelerden de hatırlayacağınız gibi, Firebase bize çeşitli yetkilendirme yöntemleri sunmaktaydı.

    • Email ve Şifre ile Yetkilendirme
    • Sosyal Medya hesapları ile Yetkilendirme (Facebook, Twitter, Google, Github)
    • Anahtar Kelimeler ile Yetkilendirme (Custom Tokens)
    • Misafir Kullanıcı olarak Yetkilendirme (Anonymous)

    Yenilenen Firebase ile tüm bu yöntemler Authentication kütüphanesi içerisinde alınmıştır.

  3. Hosting

    NodeJS ile NPM (Node Package Manager) kullanarak Web Uygulamaları geliştirip yayınlamamıza yardımcı olan bir Firebase özelliğidir.
    Firebase‘in önceki sürümlerinde de böyle bir özellik mevcuttu. Fakat Mobil Uygulama Geliştiricileri olarak bizi pek fazla ilgilendirmediği için daha önceki makalede ayrıntıya girmemiştim.
    Yine girmeyeceğim 🙂

Bu 3 özellik Firebase’in eski sürümünde de var olan özelliklerdi. Yeni sürümle birlikte Firebase SDK içerisine Mobil Uygulama Geliştiriciler olarak bizlerin işini çok kolaylaştıracak birçok özellik eklendi.

  1. Google Cloud Messaging :

    Benim favori özelliğim kesinlikle budur 🙂
    Forumlarda sık sık sorulan bir konu olan Google Cloud Messaging konusu, özellikle Parse.com‘un desteğini keseceğini duyurmasının ardından daha da önemli bir konuma gelmişti. Mobil programlama alanında yeni olan geliştiriciler için karmaşık gibi görünen bu konu, Firebase SDK içerine eklenen yeni haliyle çok daha basitleştirilmiştir.

    Hemen hemen her uygulamanın bildirim servislerini kullandığı gerçeği göz önüne alındığında, Google Cloud Messaging servisinin Firebase‘e entegre edilmesi şüphesiz ki çok büyük bir artıdır. Ve geliştiriciler olarak ta bizleri oldukça rahatlatacağından hiç süphem yoktur.. Artık Firebase SDK içerisindeki Google Cloud Messaging kütüphanesi sayesinde Firebase Console (https://firebase.google.com/ üzerindeki) Uygulaması üzerinden istersek o an, istersek te belirlediğimiz herhangi bir tarihte uygulanmak üzere; Mobil Uygulamalarımıza bildirim gönderebileceğiz.

  2.  AdMob :

    Google Cloud Messaging entegrasyonundan sonra 2. bomba haberin AdMob entegrasyonu olduğunu söylemek çokta yanlış olmaz heralde..
    Bildiğiniz üzere Google AdMob; Google reklamlarının, mobil uygulamarımızda gösterilmesini sağlayarak para kazanabilmemizi sağlayan bir Google hizmetidir. Bu entegrasyon sayesinde artık Firebase kütüphanelerini kullanarak Mobil Uygulamalarımızdan para kazanabileceğiz, ve kazançlarımızla ilgili her türlü hareketi Firebase hesabımızdan takip edebileceğiz..
    Yapılan bu yenilik aslında Google‘ın Firebase projesini ne kadar çok önemsediğinin bir kanıtıdır aslında..
    Sanırım Firebase, önümüzdeki dönemde bizim olmazsa olmazlarımız arasına gireceğe benziyor. 🙂

  3. Storage (Dosya Depolama) :

    Yenilenen sürümünde Firebase, veri tabanımıza dosya yükleme ve dosya indirme işlemlerine de olanak sağlamaktadır. Yani Firebase SDK içerisinde bize sunulan sınıflar sayesinde, kullanıcılar dosyalarını çok kolay bir şekilde depolayabilecekler. Kendine özgü Security & Rules (Güvenlik Kuralları) sayesinde bu dosyaların güvenliğini de sağlayabileceksiniz.
    Realtime Database‘den bağımsız bir şekilde dizayn edilmiş olan Storage özelliği sayesinde sadece Firebase SDK kullanarak basit bir sosyal medya uygulaması geliştirebilmemiz artık mümkündür.. Ve yeni eklenen bu özellik, Firebase SDK‘in bize sunmuş olduğu büyük avantajlardan biridir diyebilirim..

  4. Remote Config (Uzaktan Yapılandırma) :

    Bir çoğumuzun belkide hiç karşılaşmadığı yeni bir özellik..
    En basit haliyle anlatmak gerekirse Firebase Console üzerinden sunucu tarafında belirlediğimiz parametrelerin, farklı durumlarda farklı değer alabilmesi ve ekstra bir işleme gerek duymadan Firebase kütüphanesinin bu değerlere anlık olarak erişebilmesini sağlayan bir özelliktir.
    Olay şu şekilde işliyor.. Firebase Console üzerinde Remote Config kısmına gelerek istediğimiz parametreleri ekliyoruz. Bu eklediğimiz parametrelere Mobil Uygulamamız üzerinden istediğimiz zaman ulaşabiliyoruz. Ve daha da güzeli bu parametreler farklı koşullarda farklı değerler alabiliyor..

    Bu koşul olayını açıklayayım isterseniz.
    Diyelim ki Mobil uygulamamızın bir bölümünde “Öğrenmek” kelimesi geçiyor. İşte biz bu kelimenin; mobil cihazını İngilizce dilinde kullanan kullanıcılar için “To learn” olarak, Türkçe kullananlar için ise “Öğrenmek” olarak görünmesini, Remote Config içerisinde Google tarafından bize sunulan koşullar sayesinde sağlayabiliyoruz.

    Herhangi bir koşul olmadan da Firebase Console üzerinden bu parametreleri ekleyip, istediğimiz zaman değiştirmemiz de mümkündür.
    Mesela normal şartlarda Mobil Uygulamamızın arka planını değiştirmek istediğimizde bu değişikliğin kullanıcılarda uygulanması için tüm kullanıcıların uygulamalarını güncellemesi gerekir. Güncelleme yapmadan da bu basit işlemi sağlamak mümkündür, ama bunun için uygulama içerisinde ekstra olarak bir takım kodlamaların yapılmış olması gerekmektedir. Fakat Remote Config sayesinde yapacağımız basit bir değer değiştirme işlemiyle uygulamamızın arka planını değiştirebiliriz.
    Hatta geniş çaplı düşünecek olursak; Remote Config üzerindeki parametreleri değiştirerek uygulamamızın görünümünü her hangi bir güncellemeye gerek kalmadan komple değiştirmemiz bile mümkündür.

    Kısacası bu yeni özellik, uygulamarını çok güçlü hale getirebilir. Herşey sizin hayal gücünüze bağlıdır.. 😉

  5. Crash Reporting (Hata Raporlama) :

    Programcılar olarak hepimiz kodlama sırasında hatalar yaparız. (“ben hata yapmam arkadaş!” diyen varsa siteyi terketsin..) Hele ki büyük bir proje üzerindeyseniz ve kod satırları arasında boğulmaya başlamışsanız, hataların da hangi taraftan size saldıracağını inanın kestiremez hale geleceksiniz.. (Bazen program çalışsın diye adak adama noktasına gelebiliyor insan. 🙂 )

    Simulator ile uygulamanızı çalıştırdığınız sıra da ekranda bir sürü yazının aktığını görürsünüz. Bunlardan bir kısmı bilgilendirme amaçlı yazılardır. Bir kısmı ise bize uygulama çalışırken hangi hatalarla karşılaşıldığını gösterir. Bu hataların bir kısmı ölümcül (Fatal) hatalardır. Bu ölümcül hatalar uygulamamızın kapanmasına sebep olur. Bir kısmı da ölümcül olmayan (Non-Fatal) hatalardır fakat bunlar uygulamamızın düzgün bir şekilde çalışmasını olumsuz yönde etkiler.

    Uygulamanızı kullanan kullanıcılar, sizin hatalarınızın ölümcül olup olmamasıyla ilgilenmez. Hatta kullanıcılar ölümcül olmayan hataların farkına bile varamayabilirler. Onlar için önemli olan uygulamanın düzgün bir şekilde çalışmasıdır. Hatalı ve düzgün çalışmayan bir uygulama kullanıcı tarafından tercih edilmeyecektir. Bu yüzden uygulamanızdaki hataları bulup en kısa sürede düzeltmeniz son derece önemlidir.

    Tüm bunları göz önünde bulundurduğumuzda; Google Firebase‘in bize sunmuş olduğu Crash Reporting (Hata Raporlama) özelliğinin oldukça faydalı olduğunu söyleyebiliriz. Firebase SDK içinde bulunan Crash Reporting kütüphanesi sayesinde uygulamanın çalışırken meydana gelen ölümcül veya ölümcül olmayan hatalar, istatistiksel olarak raporlanır ve bunlar Firebase Console üzerinde bize gösterilir. Bu raporlama bilgileri sayesinde uygulama çalışırken uygulamanın hangi bölümünde, hangi zamanlarda hata meydana geldiğini tesbit edebilirsiniz.
    Hatanızı tesbit ettiğinize göre geriye yapacak tek birşey kalıyor. O hatayı gidermek..
    Eee bu işte size kalıyor artık. 🙂

  6. Test Lab for Android

    Sadece Ücreti Ödeme Planı olan Blaze paketinde bu özellik kullanılabilmektedir. 

    Hataları bulup gidermekten daha da önemli olan bir şey varsa; o da bu hataları uygulamaların kullanıcılarnından önce bulup gidermektir. Bu yüzden, geliştirdiğimiz bir uygulamayı yayınlamadan önce düzgün bir şekilde test etmek oldukça önemlidir.
    Yenilenen Firebase ile Android uygulamalarına özel sunulmuş olan bu yeni özellik, çeşitli motorlar tarafından uygulamanızın test edilmesini ve elde edilen verilerin size raporlanmasını sağlamaktadır.  Cloud tabanlı olarak yapılabilen bu test işleminde Espresso, Robotium, ve UI Automator 2.0 motorlarından istediğinizi seçebilirsiniz.

  7. Dynamic Links (Dinamik Linkler) :

    Yeni eklenen özelliklerden biri olan Dynamic Links sayesinde Firebase Console üzerinde https://…app.goo.gl/ uzantılı dinamik linkler oluşturarak bu linklerin istediğiniz adrese yönlendirilmesini sağlayabilirsiniz.
    Bu özellik sayesinde; kodlama sırasında gözünüzü rahatsız eden uzun web adreslerinden kurtulabilir, sürekli güncellenen web adreslerine uygulamanızın adapte olmasını sağlayabilirsiniz. Ayrıca Dinamik Link’lere çeşitli parametreler eklenerek farklı URL şemalarıda oluşturulabilmektedir. Barındırdığı özellikler sayesinde Dinamik Link’lerin, bir çok geliştiricinin işine yarayacağını düşünmekteyim.

  8. Invites (Davetler) : 

    Bu özellik ise SMS veya Email kullanarak kullancılara davet yollamamızı sağlar. Yani uygulamanızda Invites kütüphanesini kullanarak, başka kullanıcılara uygulamanızı kullanması için davetiye gönderebilirsiniz. Davet gönderme sırasında uygulamanızın adresi Dinamik Link olarak gönderilir. Böylece başka kullanıcılar o linke tıklayarak uygulamanızı yükleyebilir.
    SMS ile normal yazı olarak davetiye gönderebilmenizin yanı sıra, oluşturduğunuz zenginleştirilmiş metinleri de Email olarak gönderebilirsiniz.

Yenilenen Firebase ile ilgili daha ayrıntılı bilgi için : https://firebase.google.com/docs/

Genel olarak Firebase’in yeni sürümündeki tüm özellikleri sizlere anlatmaya çalıştım. Önümüzdeki günlerde bu özelliklerle ilgili örnekler yaparak, kullanımları hakkında daha ayrıntılı bilgiler vereceğim..

Yayınlayacağım bu makalelerden haberdar olmak için siteye abone olabilirsiniz…




You may also like...

1 Response

  1. Anonim dedi ki:

    Gerçekten elinize sağlık. Bu tarz bilgileri Türkçe olarak görmek beni çok mutlu ediyor.

Bir Cevap Yazın