Flutter Projemize Firebase Kitini Nasıl Ekleriz? (part 1)

onat çipli
Flutter İzmir
Published in
4 min readJul 3, 2019

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.

Yeni proje oluştur’a tıklıyoruz.
Projemizin adını girdikten sonra proje oluştur’a tıklı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.

İlk olarak Andorid icon’una basarak başlayalım.

Firebase Android Uygulama Yapılandırma

Android paket adı

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.

google-services.json dosyasını indir’e tıklı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.

--

--

onat çipli
Flutter İzmir

Software Engineer who enjoys creating mobile applications with Flutter and Dart