Flutter Projemize Firebase Kitini Nasıl Ekleriz? (part 1)
Merhaba arkadaşlar bugün sizlere, Flutter projemize Firebase kitini(paketlerini) nasıl ekleyeceğimizi anlatacağım.
Flutter Projesi Oluşturma
Flutter projesi oluşturarak başlayalım Komut satırından
flutter create <proje-adı> şeklinde projemizi oluşturabiliriz.
flutter create daily_tasks
Firebase Nedir (BaaS/Backend-as-a-Service)
Firebase, geliştiricilere yüksek kaliteli uygulamalar geliştirmelerine, kullanıcı tabanlarını büyütmelerine ve daha fazla kar elde etmelerine yardımcı olacak çok sayıda araç ve hizmet sağlayan mobil ve web uygulaması geliştirme platformudur. Kısaca Firebase, geliştiricilerin daha çok uygulamanın işleyişine zaman ayırmasını sağlayıp, daha hızlı ve daha kullanışlı ürünler çıkartmasına yardımcı olur.
Firebase Proje Oluşturma
İlk olarak firebase konsolumuzu açıyoruz.
Firebase Projemize Uygulama Ekleme
Bildiğiniz gibi Flutter aynı kod ile hem Android hem iOS için uygulama çıkartabiliyor. Bu yüzden hangi platform da geliştirme yapacaksak, o platform için uygulamamızı firebase üzerinden yapılandırmamız gerekiyor.
Firebase Android Uygulama Yapılandırma
C:\Users\msi\IdeaProjects\daily_tasks\android\app\build.gradle
içindeki applicationId’mizi Android paket adı kısmına yapıştırıyoruz.
Uygulama takma adı (isteğe bağlı)
SHA-1 imza sertifikası(isteğe bağlı)
SHA1' keyinizi almak için Komut satırımızı açıp
keytool -list -v -keystore ./.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
bu kodu girebilirsiniz. Komut satırdan gelen SHA1 : <key burada>, SHA1 anahtarımızı kopyalayıp Firebase’deki ilgili alana yapıştırıyoruz.
Dosyamızı indirdikten sonra dosya isminin google-services.json
olduğundan emin oluyoruz, bazen birkaç kez indirdiğimizde dosya isminin sonuna (1),(2) gibi eklemeler geliyor eğer öyle olursa gelen eklemeleri dosya isminden silmeliyiz.
Daha sonra yukarıdaki görselde gördüğünüz gibi, indirdiğimiz dosyamızı FlutterProjemiz/android/app in içine atıyoruz.
Eklediğimiz google-services.json
dosyasını FlutterProjemiz/android/build.gradle ın içinde belirmek için dependencies kısmına alttaki kodu ekliyoruz.
classpath 'com.google.gms:google-services:3.2.1'
Ekledikten sonra android/build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:3.2.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Son olarak android/app/build.gradle dosyasının en altındaki dependencies kısmına alttaki kodu ekliyoruz.
apply plugin: 'com.google.gms.google-services'
Bu eklemeyi yaptıktan sonra firebase’in android için olan yapılandırmasını bitirmiş bulunuyoruz.
Firebase iOS Uygulama Yapılandırma
Firebase projeniz de iOS uygulamanızı yapılandırmanız için Xcode gerekiyor, bende bulunmadığından bu adımları anlatamıyorum ama Configure an iOS app ‘ ten detaylı bir şekilde adımları takip edebilirsiniz.
Şimdi Sıra Geldi Flutter Projemize Firebase Paketlerini Eklemeye
Flutter’da hangi firebase paketlerinin olduğunu görmek için FlutterFire plugins sayfasını ziyaret edebilirsiniz.
İlk önce firebase_core paketini eklememiz gerekiyor çünkü diğer FlutterFire paketleri firebase_core paketine bağlı. FlutterProjemizin içindeki pubspec.yaml
dosyamızı aşağıdaki gibi düzenliyoruz.
...
dependencies:
flutter:
sdk: flutter firebase_core: any
firebase_auth: any
cloud_firestore: any
firebase_storage: any
firebase_analytics: any...
Düzenledikten sonra flutter packages get
ile paketlerimizi projemiz için yerele getiriyoruz. Tabi bu paketlerin bazıları AndroidX ‘ e migration gerektiriyor.
Migrating to AndroidX
FlutterFire paketlerinin son versiyonlarını kullanmak için Android projenizi AndroidX’e geçirmeniz gerekiyor bunuda, Android Studio 3.2 ve üstündeki bi versiyona sahipseniz kolayca yapabiliyorsunuz.
Öncelikle FlutterProjemiz/android konumunu
Android studio’dan File->Open.. ile açıyoruz.
Açtıktan sonra Refactor-> Migrate to AndroidX… e tıklıyoruz.(Size projenizin yedeği oluşsun mu diye soruyor size kalmış.)
Önümüze Refactoring Preview ekranı geliyor Do Refactor’e basarak projemizin AndroidX’e geçişini hallediyoruz.
Son olarak android/app/build.gradle dosyasındaki defaultConfig kısmına alttaki satırı ekliyoruz.
android {
defaultConfig {
...
// alttaki satırı ekliyoruz
multiDexEnabled true
}
...
}
Bu adımları tamamladıktan sonra FlutterFire paketlerini rahatlıkla import edip kullanabilir duruma geliyoruz, diğer yazılarımda adım adım bunları da anlatacağım takipte kalın! :)
Proje kaynak koduna buradan ulaşabilirsiniz.
Sormak istediğiniz bir şey varsa twitter @CipliOnat veya Linkedin üzerinden iletişime geçebilirsiniz.