Flutter Firebase
Firebase Integration | Rookie Tutorial
Firebase is a mobile and web application development platform provided by Google. This section will introduce how to integrate Firebase in Flutter.
---
## Firebase Overview
Firebase provides various backend services, including authentication, database, storage, analytics, etc.
| Service | Description |
| --- | --- |
| Firebase Auth | User authentication |
| Cloud Firestore | Cloud NoSQL database |
| Realtime Database | Real-time database |
| Cloud Storage | Cloud file storage |
| Firebase Analytics | Application data analytics |
| Cloud Functions | Cloud serverless functions |
---
## Installation and Configuration
### Add Dependencies
dependencies: firebase_core: ^2.0.0 firebase_auth: ^4.0.0 cloud_firestore: ^4.0.0
### Firebase Initialization
## Example: Initialize Firebase
import'package:firebase_core/firebase_core.dart';
import'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize Firebase
await Firebase.initializeApp();
runApp(const MyApp());
}
---
## Firebase Auth - User Authentication
## Example: Email and Password Login
import'package:firebase_auth/firebase_auth.dart';
class AuthService {
final FirebaseAuth _auth = FirebaseAuth.instance;
// Register
Future registerWithEmail(String email, String password) async {
try{
final credential = await _auth.createUserWithEmailAndPassword(
email: email,
password: password,
);
return credential.user;
} on FirebaseAuthException catch(e){
print('Registration failed: ${e.message}');
return null;
}
}
// Login
Future signInWithEmail(String email, String password) async {
try{
final credential = await _auth.signInWithEmailAndPassword(
email: email,
password: password,
);
return credential.user;
} on FirebaseAuthException catch(e){
print('Login failed: ${e.message}');
return null;
}
}
// Sign out
Future signOut() async {
await _auth.signOut();
}
// Listen to login status
Streamget authStateChanges {
return _auth.authStateChanges();
}
}
---
## Cloud Firestore - Database
## Example: Firestore Basic Operations
import'package:cloud_firestore/cloud_firestore.dart';
class FirestoreService {
final FirebaseFirestore _db = FirebaseFirestore.instance;
// Add document
Future addUser(Map user) async {
await _db.collection('users').add(user);
// Or specify ID
// await _db.collection('users').doc('user_id').set(user);
}
// Get single document
Future
YouTip