Firebase Google tarafından geliştirilen bir
BackEnd servisi diyebiliriz. Herhangi bir platformdan Firebase kullanarak
kullanıcı ekleyebilir silebilir kullanıcının bilgileri anlık olarak
değiştirebilirsiniz(Yani ios uygulamasında eklediğimiz kullanıcıyı hem webden
hem android’den hızlıca takip edebiliriz). Bunun dışında bir mesajlaşma
uygulaması yazabilir, uygulamanızın analizlerini ve raporlarını rahatlıkla
takip edebilirsiniz. Örnek olarak uygulama ne zaman nasıl hata almış gibi.
Hangi ülke daha çok uygulamanızı kullanıyor gibi bir çok analize
ulaşabilirsiniz. Bence en büyük özelliklerinden birisi bir platformda
değiştirdiğiniz herhangi bir bilgiyi (DB içindeki) diğer platformdan dinleyip
kullanıcıya yansıtabilirsiniz.
Neden kullanmalıyız?
Şuana kadar karşılaştığım en basit ve kullanışa
arayüze sahip. Hiç android bilmeyen bir kullanıcı bile Firebase sayesinde bir
uygulama yazabilir, bu uygulamada kullandığı dataları kullanıcıları Firebase’in
sitesinden rahatlıkla takip edebilir.
Örnek olarak android kullanarak bir kullanıcı
yaratıp, yarattığımız bu kullanıcı ile uygulamamıza giriş yapalım.
- https://firebase.google.com/ sitesine gidiyoruz ve login olup firebase’in konsoluna erişiyoruz.
- https://console.firebase.google.com/ konsoluna girip yeni proje oluştur diyoruz.
- Kullanacağımız platformu seçiyoruz, ben burada android’i seçtim ve benden iki inputu olan alan geldi burada kullanacağım android projesinin adını ve projenin adını girdim.
- Uygulama ekle dediğim zaman bana bir json verdi ve bunu android projeme yerleştirmemi istedi.(google-service.json) Bu dosyanın içinde firebase’in ihtiyaç duyduğu bilgiler var, bu sayede sisteme android uygulaması login oluyor ve auth oluşturuyor.
- Projemize ekledikten sonra android için bazı gerekli şeyleri daha eklememiz gerekiyor bunun için bilmeyen arkadaşlarımız biraz google yapması gerekiyor buradan sonra çünkü firebase konsolu size yardımcı olmuyor.Manifest’e android uygulamamız internete erişim sağlayabilmesi için permission ekliyoruz:<uses-permission android:name="android.permission.INTERNET" />
- Daha sonra gradle’imiza firebase’in konsolda eklememizi istediği iki kodu ekliyoruz.
classpath 'com.google.gms:google-services:3.0.0'
apply plugin: 'com.google.gms.google-services'
- Firebasein bize sunduğu auth kütüphanesini projemize ekliyoruz bu sayede yeni bir kullanıcı ekleyebilir, kullanıcı bilgilerini değiştirebilir, kullanıcıyı login ve logout gibi işlemleri gerçekleştirebiliriz.
compile 'com.google.firebase:firebase-auth:10.0.1'
- Firebase konsoluna tekrar gidip Authentication segmesine tıklıyoruz buradan sağlayıcılardan E-Posta ve Şifre seçeneğini aktif hale getirdiğimiz zaman Firebase bize bir kullanıcı DB’si oluşturuyor ve burada gerekli alanları kendisi ekliyor.
- Android projesindeki login activity’mize aşağıdaki kodu koyup firebase’i başlatıyoruz.
//Get Firebase auth instance auth = FirebaseAuth.getInstance();
- Daha sonra kullanıcı login için kullanıcının mailini ve password’unu yolluyoruz.
auth.signInWithEmailAndPassword(email, password)
bu servis bize result kodunu dönüyor, şuanda
benim yarattığım kullanıcı Firebase de olmadığından dolayı aşağıdaki ekrandaki hatayı döndü.
Yeni bir kullanıcı yaratmak için
auth.createUserWithEmailAndPassword(email, password)
satırını kullanıp, bize dönecek cevaba göre işlemimizi
yapmamız gerekiyor.
Bu satır ben yeni kullanıcı mail’i ve şifresi
gönderdiğimde aşağıdaki sonucu döndürür.
- Şimdi Kullanıcımız oluştumu DB kaydı yapıldı mı onu kontrol edelim, FireBase konsolundan(https://console.firebase.google.com/) uygulamamıza gidiyoruz ve oluşturduğumuz projeye giriyoruz. Buradan Auth sekmesine girip oluşturduğumuz kullanıcıları görebiliriz, ne zaman oluşturuldu son oturum açma tarihi uuid’si gibi.
- Oluşturulan kullanıcıyı silebilir, devredışı bırakıp tekrar login olmasını engelleyebiliriz.Şifresini sıfrılayabiliriz.
- Aynı zamanda buradan kullanıcı şifresini sıfrlamak istediğin,yada eposta adresini doğrulamak istediğinde gidecek maillerinide düzenleyebiliriz.
Baştada söylediğim gibi Firebase’in kullanımı
ve kurulumu çok basit, Firebase sayesinde kod kalabalığı olmadan hem Db’mizin
olduğu hem BackOfis’imizin olduğu güzel uygulamalar yazılabilir.
Gökhan MUSAPAŞAOĞLU
Yorumlar
Yorum Gönder