Google Analytics

FireBase Nedir? Nasıl Kullanılır?

Güncelleme:
Google Analytics mülk kurulum sürecinde web kurulumunun yanı sıra mobil uygulamalarımız için de Analytics özelliklerinden -kısmen- faydalanabileceğimizden bahsetmiş, ancak bu işlemlerin Firebase servisi üzerinden sağlandığını ...
GÖRSEL
Google Analytics mülk kurulum sürecinde web kurulumunun yanı sıra mobil uygulamalarımız için de Analytics özelliklerinden -kısmen- faydalanabileceğimizden bahsetmiş, ancak bu işlemlerin Firebase servisi üzerinden sağlandığını eklemiştim. Google Analytics mobil uygulama mülkü içerisinde sıklıkla atıfta bulunduğum FireBase servisi için ayrı bir açıklama yazısı yayınlamanın yerinde olacağını düşünüyorum.

FireBase Nedir?

Firebase servisinin geçmişi alsında James Tamplin ve Andrew Lee tarafından 2011 yılında kurulan Envolve şirketine dayanmakta. Geliştiricilerin web sayfalarına API aracılığıyla online chat özelliği kazandırabilmeleri amacıyla kurulan Envolve geliştiriciler tarafından planlanandan farklı bir şekilde (uygulama datalarını gerçek zamanlı olarak kullanıcılarla senkronize bir şekilde paylaşılması gibi) kullanılır. Kurucular bu sebeble 2012 yılında bildiğimiz FireBase’in de temellerinin atıldığı servis ayrımı kararını verirler. 2012 yılından itibaren pek çok gelişmeyi barındıran, mobil ve web uygulama geliştirme platformu olarak konumlandırılan Firebase 2014 yılında Google tarafından satın alınır.Satın alma sonrasında Google tarafından pek çok ek özellik eklenen servis küçük ve orta ölçekte uygulama geliştirme ihtiyaçlarının tamamını karşılama iddiasında. Bu amaçla ücretsiz kullanım (Spark Plan) imkanı da sunan (ek olarak ) servis başlangıç aşaması itibariyle kontrol paneli üzerinden kullanıcı verisi deposuna, kayıt, oturum ve ekran görüntüleme gibi uygulama içi etkinliklerden bildirim iletimine ve testlere platform farkı olmaksızın erişim ve yönetim imkanı sunmakta. Ücretli planlar (Flame Plan ve Blaze Plan) elbette daha kapsamlı yönetim ve ek özellikler sunmakta. Ücretlendirme ve planlar dahilinde sunulan özelliklere Pricing sayfasından ulaşabilirsiniz.Öne çıkan bir kaç özelliğe değinmek gerekirse;
  • Uygulama yönetimi,
  • Kullanıcı etkinlikleri,
  • Veri depolama,
  • Bildirim gönderimi.
Firebase bu işlemler çerçevesinde ekstra bir sunucuya ve sunucu tarafında herhangi bir kod yazımına gerek olmaksızın yönetim paneli üzerinden çözüm sağlamakta. Bu amaçla kullanılabilecek özellikler; Realtime Database, Notification ve Remote Config. Diğer yandan Firebase Cloud Messaging (FCM) ile anlık bildirim gönderiminde kullanılan Google Cloud Messaging (GCM)’e de alternatif olan Firebase, veritabanı yapısı içerisinde yer alan tablolar ve SQL yerine root-child olarak verileri JSON (JavaScript Object Notation) formatında tutmakta. Bu yapı ve özellikler itibariyle veritabanında gerçekleşen her değişikliğin anında diğer kullanıcıya iletilmesi mümkün hale gelmektedir. Tüm bu özellikler, kullanım, platformlar ve diğer teknik detaylar için Firebase Documentation sayfasını inceleyebilirsiniz.

Firebase Nasıl Kullanılır?

Firebase kullanımı için pek çok Google servisinde olduğu gibi bir Google kimliğine sahip olmanız gerekmekte. Bu aşamada varsa sahip olduğunuz Google Mail (GMail) hesabınızdan faydalanabilir, Firebase web sayfası üzerinden giriş yaparak kullanıcı paneline ulaşabilirsiniz. Get Started butonunu tıklayarak ya da say üst bölümde yer alan Console bağlantısını tıklayarak ilerlenebilir.Artık yeni bir proje oluşturabiliriz. Bir proje uygulama için platformlar arası bir kapsayıcıdır. Bu sayede Android, iOS ve web uygulamaları arasında Veritabanı, Kullanıcı Yönetimi ve Uzak Yapılandırma gibi özellikler paylaşılabilir hale gelmektedir.Proje Adı, Proje Kimliği, Konumlar ve ilgili diğer alanları da uygun şekilde doldurduktan sonra Proje Oluştur butonu ile proje oluşturma sürecini de tamamlamış olmaktayız.Bu aşamadan sonra projenin iOS, Andorid ve/ya web uygulamasına entegre edilmesi gerekmektedir. İlgili yönergelere proje sayfasından ulaşılabilir. iOS entegrasyonu için iOS paket kimliği zorunlu olarak gerekmektedir. Ayrıca işteğe bağlı olarak uygulama takma adı ve App Store kimliğini de tanımlayabilirsiniz. Android uygulama entegrasyonu için ise Android paket adı zorunlu alan olarak gereklidir. İsteğe başlı olarak uygulama takma adı ve Dynamic Links,Invites ve Auth’ta Google ile oturum açma veya telefon desteği için SHA-1 karması gerekmektedir. Web uygulaması entegrasyonu için ise ilgili snippet’in web uygulamasına eklenmesi gerekmektedir. Konuyla ilgili olarak Google Analytics mobil uygulama mülkü yazımı inceleyebilirsiniz.İlgili alanların doldurulması sonrasında yapılandırma dosyasının indirilmesi, Firebase SDK (Software Development Kit)’sının eklenmesi, yükleme işleminin doğrulanması süreçleri gelmekte. Android için Firebase SDK ve diğer detayları Add Firebase to Your Android Project, iOS için ise Add Firebase to your iOS Project sayfaları incelenebilir. Ayrıca Flutter, Web ve Games kullanılabilecek diğer seçenekler.

Firebase Dashboard

Hesabımızı oluşturduk, uygulama entegrasyonlarımızı tamamladık. Artık, Firebase uygulama ekranına bir göz atabiliriz.
GeliştirmeKaliteAnalizBüyütme
  • Authentication
  • Database
  • Storage
  • Hosting
  • Functions
  • ML Kit
  • Crachlytics
  • Performance
  • Test Lab
  • Dashboard
  • Events
  • Conversions
  • Audiences
  • Funnels
  • User Properties
  • Latest Release
  • Retention
  • StreamView
  • DebugView
    • Predictions
    • A/B Testing
    • Cloud Messaging
    • In-App Messaging
    • Remote Config
    • Dynamic Links
    • AdMob
    Bu başıklardan özellikle öne çıkanlar şunlar;
    • Authentication ile e-posta/şifre, telefon, Google, Play Oyunlar, Facebook, Twitter, GitHub, Anonim oturum açma sağlayıcılarıyla yetkilendirilen alanlar için kullanıcılar sunucu tarafı kodu olmadan doğrulanabilmekte ve yönetilebilmekte.
    • Database, güçlü sorgular ve otomatik ölçeklendirme ile eşzamanlı veritabanı kullanımını mümkün kılmakta. Yeni veritabanı oluşturmak istediğinizde kilitli mod ve test modu olarak 2 seçenekle karşılaşırsınız. Kilitli modda başladığınızda üçüncü taraf tarafından gerçekleştirilecek tüm okuma ve yazma işlemleri reddedilir ve veritabanı gizli tutulur. Test modunda ise veritabanı referansına sahip herkes tarafından okuma ve yazma işlemleri gerçekleştirebilir.
    • Storage ile kullanıcıların oluşturduğu resim, ses ve video gibi içerikler sunucu tarafı kodu olmadan depolanır ve erişilir. Temel kurulumda varsayılan olarak tüm okuma ve yazma işlemlerine izin verilir. Güvenlik amacıyla veri yapısı tamamlandıktan sonra özel verilerin güvenliğini sağlamak için yeni kurallar yazabilirsiniz. Örneğin;
      service firebase.storage {
        match /b/{bucket}/o {
          match /{allPaths=**} {
            allow read, write: if request.auth != null;
          }
        }
      }
    • Hosting özelliği ile web ve mobil web uygulamalarının barındırılması hızlı ve pratik bir şekilde gerçekleştirilebilir. Dosyaların barındırılması sürecinde npm kullanarak Firebase komut satırı araçlarının yüklenmesi gerekir.
      npm install -g firebase-tools
    Diğer özelliklere farklı yazılar dahilinde kullanım örnekleriyle birlikte detaylıca değineceğim. Bu süreçte Firebase Youtube kanalından pek çok örnek konu başlığına ulaşabilirsiniz. Ayrıca The Firebase Blog da yine gelişmeler ve geliştirmeler için takip edilebilecek kaynaklardan bir diğeri.

    HABERDAR OL

    Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.