Persiapan
- Buat Firebase Project pada Firebase Console
Konfigurasi IOS
- Masuk ke Firebase Console
- Tambahkan Firebase ke aplikasi iOS
- Download lalu Buka XCode kembali, copy file GoogleService-Info.plist yang baru didownload ke folder Runner/Runner
- Buka XCode Klik Project pilih Tab SignIn & Capabilities=>All, sesuaikan Bundle Identifier(com.yourcompany.yourproject) & Team(Id Apple Developer anda)
- Tambahkan URL scheme untuk reversed client ID, buka file GoogleService-Info.plist cari key REVERSED_CLIENT_ID, copy lalu tambahkan ke Tab Info URL Schemes
- Dari Direktori Project Flutter anda, buka file pubspec.yaml, tambahkan baris berikut :
- Untuk menambahkan plugins yang ingin digunakan, disini saya akan menggunakan layanan auth dan firestore
Konfigurasi Android
- Masuk ke Firebase Console
- Tambahkan Firebase ke aplikasi Android, disini anda harus mengisi sertifikat penandatanganan debug SHA-1
- Untuk mendapatkan sertifikat SHA-1 Buka Android Studio, Open Project MyFlutter/android, biarkan Android Studio membuild Project anda
- Download google-services.json lalu copy ke MyFlutter/android/app
- Untuk mengenable Firebase service tambahkan kode berikut pada file MyFlutter/android/build.gradle
- In your module (app-level) Gradle file (usually
android/app/build.gradle
), add the following line to the bottom of the file. - Tambahkan Id Aplikasi pada field Android package name, buka file MyFlutter/android/app/build.gradle (com.yourcompany.yourproject) sesuaikan dengan aplikasi anda.
- Ubah nama package pada semua AndroidManifest.xml di folder android sesuaikan dengan nama project anda (com.yourcompany.yourproject)
- Pastikan tidak ada device/emulator yg sedang berjalan
- Pada direktori utama project flutter, tambahkan baris berikut pada pubspec.yaml (sesuaikan dengan penggunaan anda)
- Jalankan perintah flutter packages get melalui console.
- AndroidX Migration
- Enable multidex https://developer.android.com/studio/build/multidex
Flutter Workarounds Common Issue https://github.com/flutter/flutter/wiki/Workarounds-for-common-issues#generated-project-files-outdated
Firestore Issue
https://github.com/flutter/flutter/issues/20486