Professional Documents
Culture Documents
Flutter Firebase Cheat Sheet
Flutter Firebase Cheat Sheet
CodeSearchOnline
Flutter Firebase Cheat Sheet covers firebase service for the rapid development of flutter applications
such as Authentication, posting data and retrieving data from cloud firestore, Uploading an image(cloud
storage) on firebase and Push notification(device to device and topic subscription) by firebase
messaging.
https://codesearchonline.com/flutter-firebase/ 1/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
CodeSearchOnline
Firebase is a development platform created by firebase which is currently managed google. firebase
provides a variety of tools and services for rapid development.
We have to set up firebase SDK in flutter before using any of its services. create new Firebase project then
select android plate form.
Enter app package name copy it from android/app/src/main/AndroidManifest.xml you can also give app
nickname that is totally optional. but make sure of entering SHA-1 as it’s required for authentication. you
can get your SHA-1 just copy the below code in the terminal for more details(client-auth).
https://codesearchonline.com/flutter-firebase/ 2/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
Contents [ hide ]
CodeSearchOnline
1 Flutter Firebase Authentication
1.1 Email And Password-based Authentication
1.1.1 Register User
1.1.2 Login user
1.2 Flutter Firebase Phone Authentication
2 Flutter Firebase Cloud firestore
3 Flutter Firebase Storage
4 Firebase Push notification(Cloud Messaging)
4.1 Device to device notification
4.2 Topic Subscription
Mac/Linux
keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
Windows
keytool -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
Download google_services.json
https://codesearchonline.com/flutter-firebase/ 3/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
CodeSearchOnline
Add dependencies: firebase_auth: in pubspec.yaml file then install it by flutter pub get in your terminal
and import ‘package:firebase_auth/firebase_auth.dart’; in your dart file.more
detail(https://pub.dev/packages/firebase_auth#-installing-tab-)
Register User
https://codesearchonline.com/flutter-firebase/ 4/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
FirebaseUser user;
CodeSearchOnline
void _registerUser(String _email,String _password) async {
user = (await _auth.createUserWithEmailAndPassword(
email: _email,
password: _password,
)).user;
if (user != null) {
// User registered successfully
// Add user details in realtime database or cloudfirestore
} else {
// User not registered Successfully
}
}
}
Login user
String Phonenumber='+91738XXXX';
String _Otpnumber='38XXXX';
GestureDetector(
onTap: () async { _verifyPhoneNumber(Phonenumber); },
GestureDetector(
onTap: () async { PhoneAuthentication(_Otpnumber); },
PhoneAuthentication(String Otp){
https://codesearchonline.com/flutter-firebase/ 5/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
_signInWithPhoneNumber(Otp).then((FirebaseUser user) {
CodeSearchOnline
Navigator.push(
context, MaterialPageRoute(builder: (context) => Dashboard()));
}).catchError((e) {
print(e.code);
switch (e.code) {
case 'ERROR_INVALID_VERIFICATION_CODE':
case 'ERROR_SESSION_EXPIRED':
Toast.show('INVALID VERIFICATION CODE', context,
duration: Toast.LENGTH_LONG, gravity: Toast.BOTTOM);
print('Code is invalid');
break;
default:
}
});
}
}
};
};
https://codesearchonline.com/flutter-firebase/ 6/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
final PhoneCodeSent codeSent =
(String verificationId, [int forceResendingToken]) async {
CodeSearchOnline
Toast.show("Please check your phone for the verification code", context,
duration: Toast.LENGTH_LONG, gravity: Toast.BOTTOM);
this._verificationId = verificationId;
};
await _auth.verifyPhoneNumber(
phoneNumber: widget.phoneNumber,
timeout: const Duration(seconds: 20),
verificationCompleted: verificationCompleted,
verificationFailed: verificationFailed,
codeSent: codeSent,
codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);
}
print(credential);
final FirebaseUser user = (await _auth.signInWithCredential(credential)).user;
final FirebaseUser currentUser = await _auth.currentUser();
assert(user.uid == currentUser.uid);
return user;
}
https://codesearchonline.com/flutter-firebase/ 7/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
_getCurrentUserDetail() async {
CodeSearchOnline
await FirebaseAuth.instance.currentUser().then((user){
if(user!=null){
print(user.uid.toString());
print(user.name);
print(user.email);
print("yes");
rout_Dashboard();
}else{
print("no");
rout_Signin();
}
});
}
Add dependencies: cloud_firestore: in pubspec.yaml file then install it by flutter pub get in your terminal
and import ‘package:cloud_firestore/cloud_firestore.dart’;in your dart file more detail(cloud_firestore).
Add data
import 'package:intl/intl.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
Firestore.instance.collection('Message')
.document('message'+DateTime.now().microsecondsSinceEpoch.toString())
.setData(
{ 'type':'msg',
'subject':'sub',
'description':'description',
'to':'user1',
'from':'uid',
}
Update data
Firestore.instance.collection('Message')
.document(docId)
.updateData(
{
'description':'description1',
}
https://codesearchonline.com/flutter-firebase/ 8/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
Delete data
CodeSearchOnline
Firestore.instance.collection('Message').document(docId).delete()
Fetch data
Firestore.instance
.collection('user')
.where('from', isEqualTo: uid)
.snapshots()
.listen((data) => data.documents.forEach((doc) {
setState(() {
message = doc['id'];
});
}));
});
colRef.getDocuments().then((data){
if(data.documents.isNotEmpty){
data.documents.forEach((data){
print(data['Name']);
});
} else{
});
Flutter Firebase
Storage
https://codesearchonline.com/flutter-firebase/ 9/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
For storing files in firebase provided its own storing services. In this Flutter Firebase Storage we will see
CodeSearchOnline
how we can store the image in firebase storage for that we have to use one more plugin to get a file path
either from the camera or gallery of the phone.
upload.dart
import 'package:image_picker/image_picker.dart';
import 'package:firebase_storage/firebase_storage.dart';
filePath = (tempImage.path);
Firestore.instance.collection('user')
.document(widget.UserId)
.setData({'Image': url}
,merge:true);
setState(() {
_saving=false;
});
}
);
}
}
notification with a topic subscription. we also need the Server key of cloud messaging you can get it from
CodeSearchOnline
project settings in the cloud messaging tab.
dependencies:
firebase_messaging:
http:
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
@override
void initState() {
_firebaseMessaging.getToken().then((_key){
print(_key);
//Save this fcm token in CloudfireStore or in realtime database!
Firestore.instance.collection("user").document(uid).setData({
"fcmTocken":_key
},merge: true);
});
// TODO: implement initState
super.initState();
}
Firestore.instance
https://codesearchonline.com/flutter-firebase/ 11/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
.collection('user')
.where('ID', isEqualTo: send_uid)
CodeSearchOnline
.snapshots()
.listen((data) => data.documents.forEach((doc) {
fcm = ['fcmTocken'].toString();
sendfcm(_token) ;
}));
}
}
final data = {
"notification": {"body": "CodeSearchOnline", "title": "Flutter Notification"},
"priority": "high",
"data": {
"click_action": "FLUTTER_NOTIFICATION_CLICK",
"id": "1",
"status": "done"
},
"to": fcm
};
final headers = {
'content-type': 'application/json',
'Authorization': key
};
if (response.statusCode == 200) {
print("Notification send !");
} else {
print("false");
}
}
}
}
Topic Subscription
In topic subscription, we need to subscribe to a topic then send a notification on that topic added by the
device.
https://codesearchonline.com/flutter-firebase/ 12/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
import 'package:firebase_messaging/firebase_messaging.dart';
CodeSearchOnline
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
@override
_MyHomePageState createState() => _MyHomePageState();
}
@override
void initState() {
_firebaseMessaging.subscribeToTopic('Tech_News');
_firebaseMessaging.subscribeToTopic('All_News');
// TODO: implement initState
super.initState();
}
Futuresendfcm() async{
final data = {
"notification": {"body": "CodeSearchOnline", "title": "Flutter Notification"},
"priority": "high",
"data": {
"click_action": "FLUTTER_NOTIFICATION_CLICK",
"id": "1",
"status": "done"
},
"to": "/topics/All_News"
};
final headers = {
'content-type': 'application/json',
'Authorization': key
};
= await http.post(postUrl,
final response
https://codesearchonline.com/flutter-firebase/ 13/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
body: json.encode(data),
encoding: Encoding.getByName('utf-8'),
CodeSearchOnline
headers: headers);
if (response.statusCode == 200) {
print("Notification send !");
} else {
print("false");
}
}
}
}
2 Comments
Hello. This post was extremely interesting, particularly because I was looking for thoughts on this
topic last Thursday.
Best regards,
Balle Griffin
REPLY
I pay a quick visit every day a few sites and websites to read content,
but this website offers feature-based content.
REPLY
Leave a Reply
https://codesearchonline.com/flutter-firebase/ 14/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
Name *
CodeSearchOnline
Email *
Website
Save my name, email, and website in this browser for the next time I comment.
POST COMMENT
Search …
Recent Posts
https://codesearchonline.com/flutter-firebase/ 15/19
®koobe
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
®koobecaF
CodeSearchOnline
Connect
With
Your
Friends
Check Out The Newest
Features To Keep In
Touch With Friends And
Family!
Facebook®
Sign Up
Related Posts
https://codesearchonline.com/flutter-firebase/ 16/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
CodeSearchOnline
FLUTTER
https://codesearchonline.com/flutter-firebase/ 17/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
CodeSearchOnline
FLUTTER
https://codesearchonline.com/flutter-firebase/ 18/19
12/17/22, 8:10 PM Flutter Firebase Cheat Sheet 🔥 » CodeSearchOnline Flutter Firebase Cheat Sheet 🔥
CodeSearchOnline
FLUTTER
CodeSearchOnline
https://codesearchonline.com/flutter-firebase/ 19/19