Firebase
Firebase adalah platform pengembangan aplikasi Backend-as-a-Service (BaaS) yang menyediakan layanan backend seperti a realtime database, cloud storage, authentication, crash reporting, machine learning, remote configuration, dan file hosting.
Firebase Auth
Kita akan membuat sebuah aplikasi login dan logout menggunakan Firebase. Aplikasi ini hanya dapat berjalan di Android.
Setup Firebase Project
Buka https://console.firebase.google.com/ dan login menggunakan akun google, kemudian klik tombol Create a project.

- Pada halaman Create a project, beri nama project
FirebaseAuthdan klik tombol Continue. - Pada halaman AI assistance klik tombol Continue.
- Pada halaman Google Analytics klik tombol Continue.
- Pada halaman Configure Google Analytics, pilih Account dan klik tombol Create Project.
Add Firebase to Flutter
Berikut ini langkah-langkah untuk menggunakan Firebase di Flutter:
Install Firebase CLI
Kita bisa menginstall Firebase CLI dengan mendownload di sini https://firebase.google.com/docs/cli?authuser=0#setup_update_cli atau gunakan npm. Ketik perintah berikut ini di terminal.
npm install -g firebase-tools
Setelah berhasil menginstal firebase-tools, selanjutnya kita login ke Firebase menggunakan akun Google. Ketik perintah berikut ini di terminal.
firebase login
Berikutnya aktifkan package flutterfire_cli secara global. Ketik perintah berikut ini di terminal.
dart pub global activate flutterfire_cli
Configure your apps to use Firebase
Buat project baru dan beri nama firebase, kemudian gunakan FlutterFire CLI untuk mengonfigurasi aplikasi Flutter Anda agar terhubung ke Firebase. Ketik perintah berikut ini di terminal.
flutterfire configure
- Pilih nama project yang kita buat di Firebase console dan tekan tombol enter.

- Pilih platform (android dan web) dengan menggunakan tombol panah untuk berpindah, dan tombol spasi untuk menghilangkan centang. Kemudian tekan enter.


Initialize Firebase in your app
Dari direktori proyek Flutter, jalankan perintah berikut ini di terminal untuk menginstal core plugin:
flutter pub add firebase_core
Pada file main.dart import Firebase core plugin
Sesuaikan main fuction di file main.dart seperti berikut ini
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
}
Jalankan project.
Add Firebase Auth Package
Kita akan menggunakan package Firebase Auth untuk otentikasi. Tambahkan package Firebase Auth menggunakan perintah berikut ini pada terminal.
flutter pub add firebase_auth
Build Authentication
Buka Firebase console, klik menu Build - Authentication yang ada di sebelah kiri

- Klik tombol Get Started.
- Pada halaman Sign-in method, klik tombol Email/Password, kemudian klik tombol Enable dan klik tombol Save.

Code
Buat file auth.dart dengan kode sebagai berikut.
Buat folder pages dan buat file login_register_page.dart
| login_register_page.dart | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
Buat file home_page.dart di dalam folder pages
Buat file widget_tree.dart
Terakhir sesuaikan file main.dart
Jalankan project.

Uji coba dengan mendaftar akun baru, jika berhasil kemudian logout. Kemudian login dengan akun yang baru terdaftar.
Untuk melihat apakah akun yang terdaftar tersebut sudah tersimpan di Firebase, buka Firebase Console, pada halaman Authentication klik menu Users.

Google Sign In
Pada Firebase Console klik menu Build - Authentication klik menu Sign-in method, klik tombol Add new provider kemudian pilih Google dan aktifkan.

- Beri nama project bebas.
- Masukkan email dan tekan tombol Save
Klik menu di Project Overview dan pilih Project Settings.

Tambahkan SHA certificate fingerprints dengan cara berikut ini:
- Untuk Windows ketikkan perintah berikut ini di terminal
- Untuk Mac dan Linux ketikkan perintah berikut ini di terminal
- Masukkan password
android.

- Copy key SHA1 dan SHA256 secara bergantian ke Firebase Console dengan cara klik tombol Add Fingerprint.



Pada terminal project flutter, tambahkan package google_sign_in.
flutter pub add google_sign_in
Tambahkan kode berikut ini ke file auth.dart.
Future<void> signOut() async {
await _firebaseAuth.signOut();
await GoogleSignIn.instance.disconnect();
}
Future<UserCredential?> signInWithGoogle() async {
try {
await GoogleSignIn.instance.initialize();
final GoogleSignInAccount? gUser = await GoogleSignIn.instance.authenticate();
if(gUser == null) {
throw Exception("Google sign in aborted");
}
final GoogleSignInAuthentication gAuth = await gUser.authentication;
final credential = GoogleAuthProvider.credential(
idToken: gAuth.idToken,
);
return await _firebaseAuth.signInWithCredential(credential);
} on FirebaseAuthException catch(e) {
throw Exception(e.message);
}
}
Kemudian tambahkan kode berikut ini ke file login_register_page.dart setelah _loginOrRegisterButton(),
const SizedBox(
height: 25,
),
ElevatedButton(
onPressed: () => Auth().signInWithGoogle(),
child: Text("Google Sign In"),
),
Hot restart project.

Uji coba dengan klik tombol Google Sign In dan login menggunakan akun google anda.