I've start using flutter, though it's very hard to find a good example of how to, There're lot of videos I'd like to have just a doc that explains every widget. Thanks for the video tutorial and great job
I've some few questions about flutter like MVC pattern, an authentication default process(that's common on other frameworks), localization default pattern...flutter has a great variability of widgets, though to turn itself in a complete solution it needs a little more effort, it's on the right path. Thanks for your reply, & have a nice life.
Note that you should use the console to edit the Database.Rules to avoid a PERMISSION error on the android app; change "allow read, write: if false;" to "allow read, write: if true;"
There really is a ton of work being done for you here. I normally would have to setup a socket server and a way to sync things together upon fresh load etc etc. I wonder about buffering when say there are 10000 things going on at once meaning say you were showing popular posts in a feed that were showing meta items like votes and chat counts etc.
Thank you so so much It's so clear that can understand how connect to database and write data just following. Thank you for serving this amazing dart language and flutter developers.
Thank you for your infromative tutorial. However, we are in 2021 and too much updates applied on Flutter and Dart. Therefore, we need a 2021 videos. Appretiate the help.
Hey Andrew, thanks for the awesome video. I have a question. Let's say you log in with firebase and pull some data down e.g. your latest band votes/results. Now lets say you close the app completely, even from the background. Then you open it again with no internet. Will it still use the last data pulled from firestore, or will it use the default values that you demonstrated? Thanks
Good tutorial. I would have mentioned, however, that the iOS step for adding the Pod dependency SHOULD be skipped, instead of not mentioning it at all. But still good, I got started pretty quickly.
I am aware that firestore is in beta. But if i were to use it in production in one of my apps, Will firebase team notify devs about breaking changes before they were made Please reply
I'm not on the Firebase team (so I can't speak for them), but I'd be *extremely* surprised if that weren't the case. You can always try posting on their discussion forum just to be sure, though: groups.google.com/forum/#!forum/firebase-talk
At 2:07 in the video, to register the flutter app in Firebase where Do I go to my Flutter solution to get that Android App name? The instructions I get from that help, I can't find the name. Where di you get "com.flutter.firebase.example.flutterfirebase" ?
Amazing and a really good explanation. It works to me. I think the documentation in firebase is not up to date because I couldn't be able to run firebase in my flutter app, a lot of problem in gradle file.
try this in -> gradle.properties add: android.useAndroidX=true android.enableJetifier in -> app/build.gradle change: minSdkVersion from 16 to 21 add: dependancies implementation 'androidx.multidex:multidex:2.0.0'
I searched the whole internet but could not find a single lesson on how to connect flutter and dart to mysql on phpmyadmin (not local host, its hosted on a server) or how to implement CRUD operations, please do some lessons for us, thank you so much
If transactions are made to prevent race conditions, why can't you use them when you are offline / what do you do when two clients edit the same field of one document and you want to merge the changes (i.e. if the field is a list)
Every time the list gets updated, is that a read from the database from each item? So 10 items would be 10 reads? Seems far too costly to use firestore database if that's the case.
github.com/beelerb/flutter_firestore_example It's just the code the video starts and ends with but better than nothing and it works. Note the part about the pubspec.yaml file.
I didn't understand the point you mentioned at the end regarding the use of transactions instead of using the rudimentary updateData function. Could someone please explain this to me in simple words?
To increment the number of votes, the app needs to do three things: 1) Read the number of current votes from Firebase. 2) Add one to that value. 3) Store the new value in Firebase. If you only have one user, this works great. What if you have two users, though, who try to increment at the exact same time? They would both read the current value at the same time, add one to the same value, and then store it. Instead of getting n+2, you'd get n+1. Transactions can fix that. They make it so one client will execute all three steps at once, while the other sits and waits for their turn. When the first client is done, the next one can have a go with their three steps.
If I was in a band, I have would have not thought this much at first place. And if I tried to think that much, I would have smashed my guitar out of frustration.
In this video, I'm using the snapshot to build widgets and update the UI, but you can (in theory) do whatever you want with it. For example, you could listen to the stream with a function that stored the data in SQLite, local files, or something similar.
I'm not being able to connect the Flutter app to Firebase for iOS. I followed exactly all the steps but I couldn't get the data from the database. Also, I couldn't verify the installation because it never finished. I waited some time there, but got no results. I have looked all over the internet to find a solution but none have been of use. I tried deleting pod files, I checked AppDelegate.swift, pubspec dependencies. All. Please, I really need help here.
Hopefully you've already found a solution to the issue, but if not, try posting on the FlutterDev Google group. You can include code, config files, and so on. The folks there are helpful and typically very experience with Flutter: groups.google.com/forum/#!forum/flutter-dev
#askflutter Hi Andrew, a noob question - With respect to Firebase client SDKs, we have android and iOS but not specifically for Flutter and I assume we need to download both for working with Flutter? In terms of the whole array of features that Firebase and suite of integration it offers, is it safe to assume that all firebase features available if we were to write only android/iOS using their respective client SDKs be available in Flutter as well (or) are there any constraints that we need to be aware of? Thank you 😊
When you install the google-services.plst for ios make sure to install it by opening the project in xcode and right clicking on the Runner Folder and using add file to add the google services file. Otherwise if you drag and drop it in your editor like intellij for some reason it makes the app freakout and create a bunch of errors. Took me 7 hours of trouble shooting to figure out that this was all I needed to do.
I've set this up but it wasn't so straightforward and took a lot of time... different versions of the plugins were incompatible and project settings needed to be modified for both Android and iOS.
Great video, but what about the e2ee... using this approach the users data is visible to the firebase console manager, that is against the EU GDPR law...
This video is mostly scoped to using Firebase collections with Flutter widgets. If you're interested in Firebase's security and privacy support, I highly recommend this doc: firebase.google.com/support/privacy
app channels spinning some time when using google firebase database and flutter application. how to download or backup firebase database . is there any automatic backups
Hi, in your code at the time of configure firestore you didn't use any kind of "firestore.settings()" the way it has been mentioned it here - pub.dartlang.org/packages/cloud_firestore#-example-tab- . Is it really require to mention this setting thing or not? I'm bit confused about this.
Hi, by any chance do you have a video which you can link me to, that tackles the function of reading out-loud data fetched from Firestore as audio to user? Thanks
Hi, I am using Firestore plugin to communicate with my data. My question is how to get data with a condition with Firestore? Or how to Find a user by email address? I think this question will be asked from many programmers. Thank you,
I'm not showing it in this episode, but the Firestore plugin contains a Query class that can help you with this: github.com/flutter/plugins/blob/master/packages/cloud_firestore/lib/src/query.dart
I love firebase, but lately using firebase on the ios side has been a pain in the ass. The latest project I started on takes 8 minutes to build when adding the auth and cloud_firestore plugins, and If I try to add the google_sign_in plugin the project simply won't compile. It works fine on Android but on iOS its a very different story. Could you please fix the plugin or update the docs to reflect any changes you have to make to your iOS project to get it to play nicely with firebase and google_sign_in
for a complete beginner like me. It would've been better if we would've coded it from scratch bcs i just want to start connecting some kind of app with this firestore but i just keep getting error messages and unfortunitly I can't find enough other recourses to fix my problems. I still think Flutter is great but as a beginner I am having a really hard time trying to get anything done with it...
Possible issues in integrating to Firestore and solutions [2020]: 1. No Firebase App '[DEFAULT]' has been created - stackoverflow.com/questions/63492211/no-firebase-app-default-has-been-created-call-firebase-initializeapp-in 2. D8: Cannot fit requested classes in a single dex file - stackoverflow.com/questions/55591958/flutter-firestore-causing-d8-cannot-fit-requested-classes-in-a-single-dex-file 3. Plugin with id 'com.google.gms.google-services' not found - stackoverflow.com/questions/39892622/plugin-with-id-com-google-gms-google-services-not-found 4. firestore: PERMISSION_DENIED: Missing or insufficient permissions - stackoverflow.com/questions/46590155/firestore-permission-denied-missing-or-insufficient-permissions 5. Dart/Flutter : Converting timestamp - stackoverflow.com/questions/50632217/dart-flutter-converting-timestamp 6. How to print Firestore timestamp as formatted date and time - stackoverflow.com/questions/56627888/how-to-print-firestore-timestamp-as-formatted-date-and-time 7. FLUTTER | How to add data to an existing document in firestore - stackoverflow.com/questions/50559148/flutter-how-to-add-data-to-an-existing-document-in-firestore
Is the race condition eliminated? If multiple users initiate a transaction at the same time, won't they both update the same initial value? A ticketing or reservation system could end up double booking if this is the case. Are there any tutorials that show how to use cloud_firestore with firestore rules? As best as I can determine in flutter example code, request.auth.uid is not sent to the server.
@@emilyfortuna2262 thanks for yours response...actually i am getting data by fetching n items at once.And the problem arises when i fetch next batch of items,i am unable to put the next batch into stream.
Compact with exactly useful information. The most professional flutter tutorial video I've seen so far. Thank you.
Love the brevity and specificity of this video. thank you. finished this with my cup of coffee :)
This was really cool! The like button lights up when he gets to the part where he talks about the db updating in response to UI events!
Thanks Andrew! That it very useful! I need to say, you got a natural and friendly voice to explain!
Honestly a really amazing video. Very thorough, informative and somehow condensed into a 12 minute video. Thanks a lot
They put the iOS screenshot on the pixel...
I've start using flutter, though it's very hard to find a good example of how to,
There're lot of videos I'd like to have just a doc that explains every widget.
Thanks for the video tutorial and great job
I've some few questions about flutter like MVC pattern, an authentication default process(that's common on other frameworks), localization default pattern...flutter has a great variability of widgets, though to turn itself in a complete solution it needs a little more effort, it's on the right path.
Thanks for your reply, & have a nice life.
this covers all I need to know in less than 12 minutes. what a video.
Note that you should use the console to edit the Database.Rules to avoid a PERMISSION error on the android app; change "allow read, write: if false;" to "allow read, write: if true;"
this was awesome!! please make more like these and go indepth
There really is a ton of work being done for you here. I normally would have to setup a socket server and a way to sync things together upon fresh load etc etc. I wonder about buffering when say there are 10000 things going on at once meaning say you were showing popular posts in a feed that were showing meta items like votes and chat counts etc.
Thank you so so much It's so clear that can understand how connect to database and write data just following. Thank you for serving this amazing dart language and flutter developers.
Thank you for your infromative tutorial. However, we are in 2021 and too much updates applied on Flutter and Dart. Therefore, we need a 2021 videos. Appretiate the help.
Hey Andrew, thanks for the awesome video. I have a question. Let's say you log in with firebase and pull some data down e.g. your latest band votes/results. Now lets say you close the app completely, even from the background. Then you open it again with no internet. Will it still use the last data pulled from firestore, or will it use the default values that you demonstrated? Thanks
Good tutorial. I would have mentioned, however, that the iOS step for adding the Pod dependency SHOULD be skipped, instead of not mentioning it at all. But still good, I got started pretty quickly.
Its amazing how simple this was to implement.
I am aware that firestore is in beta. But if i were to use it in production in one of my apps, Will firebase team notify devs about breaking changes before they were made
Please reply
I'm not on the Firebase team (so I can't speak for them), but I'd be *extremely* surprised if that weren't the case. You can always try posting on their discussion forum just to be sure, though: groups.google.com/forum/#!forum/firebase-talk
They have been warning people about the changes in Firestore. For example, the change of dates to Timestamps
This is good. But please update the codelab to the recent changes, like the firebase core requirement.
THIS MAN KNOWS WHAT HE'S DOING
Oooooooooooooooooooh my good that's exactly what i was searching for thaaank you so much google i looooooove you man
Could we get some content on how to unit test and mock firestore? It's really hard to unit test streams and no information anywhere.
Can u able to fetch document files containing images and text from Firestore and display in flutter app?
You have to upload the images to Firebase Storage, then you paste the Storage reference of each file in Cloud Firestore
Same question i have
Thanks, Andrew sir, Please keep coming with more videos
At 2:07 in the video, to register the flutter app in Firebase where Do I go to my Flutter solution to get that Android App name?
The instructions I get from that help, I can't find the name.
Where di you get "com.flutter.firebase.example.flutterfirebase" ?
2:56
Amazing and a really good explanation. It works to me. I think the documentation in firebase is not up to date because I couldn't be able to run firebase in my flutter app, a lot of problem in gradle file.
try this
in -> gradle.properties
add:
android.useAndroidX=true
android.enableJetifier
in -> app/build.gradle
change:
minSdkVersion from 16 to 21
add:
dependancies
implementation 'androidx.multidex:multidex:2.0.0'
I searched the whole internet but could not find a single lesson on how to connect flutter and dart to mysql on phpmyadmin (not local host, its hosted on a server) or how to implement CRUD operations, please do some lessons for us, thank you so much
You wouldn't want to directly connect over MySQL. You need to create a REST API to do this.
If transactions are made to prevent race conditions, why can't you use them when you are offline / what do you do when two clients edit the same field of one document and you want to merge the changes (i.e. if the field is a list)
At [8:26] snapshot.data.documents.length not working in 2021.. any help
I also have the same issue....., If you resolved it please share me
Do the following:
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('YOUR_COLLECTION').snapshots(),
builder: (
context,
AsyncSnapshot snapshot) {
if (!snapshot.hasData) return const Text('Loading..');
final data = snapshot.requireData;
return ListView.builder(
itemExtent: 80.0,
itemCount: data.size,
itemBuilder: (context, index) =>
_buildListItem(context, data.docs[index]),
);
},
),
I like illustrative video, awesome explanation great job,
This looks surprisingly easy
what's the difference between Firebase Real-time Database and Firebase Firestore?
The Firebase team has an article that can explain it way better than me. :) firebase.google.com/docs/database/rtdb-vs-firestore
Andrew Brogdon, that's what I like in Google - they foresee all my questions :)
Thanks Andrew!
I wish you showed us the whole code, it doesn't work. And it gives a load of errors.
Every time the list gets updated, is that a read from the database from each item? So 10 items would be 10 reads? Seems far too costly to use firestore database if that's the case.
please is there a GitHub repository to this tutorial?
github.com/beelerb/flutter_firestore_example
It's just the code the video starts and ends with but better than nothing and it works. Note the part about the pubspec.yaml file.
I didn't understand the point you mentioned at the end regarding the use of transactions instead of using the rudimentary updateData function. Could someone please explain this to me in simple words?
To increment the number of votes, the app needs to do three things:
1) Read the number of current votes from Firebase.
2) Add one to that value.
3) Store the new value in Firebase.
If you only have one user, this works great. What if you have two users, though, who try to increment at the exact same time? They would both read the current value at the same time, add one to the same value, and then store it. Instead of getting n+2, you'd get n+1.
Transactions can fix that. They make it so one client will execute all three steps at once, while the other sits and waits for their turn. When the first client is done, the next one can have a go with their three steps.
thank u for this tuto i want to ask you how can i get a stream from a specific user
Hey,
Thank you very helpful video, I have question is this was an UI kit mobile app?
Does not work on Android with cloud_firestore:, I need to add the version cloud_firestore: ^0.7.4 :(
Says cannot use firestore
Same problem me
Yes sometimes i come down here to see how many developers are using flatter
Really thanks, that was awesome and pretty clear
*GREAT JOB YOU GUYS ARE THE BEST*
I loved this guide, please more tutorials about flutter + firebase o/
Do you have to choose between Firestore and the Realtime Database or can you have both?
You can indeed use both in the same app: firebase.google.com/docs/firestore/firestore-for-rtdb
why isn't document['name'] not working?
it shows this error: The operator '[]' isn't defined for the type 'DocumentSnapshot'
While using latest version (^0.14) callling document['name' ] is deprecated... the right way is document.data()['name']
Just wonderful !
Thank you so much! Great content
Andrew Brogdon: 10:04
Me: Yeah I Know... I Know...
If I was in a band, I have would have not thought this much at first place. And if I tried to think that much, I would have smashed my guitar out of frustration.
when a new document is added, snapshot fetches all the documents including the new one or only the newly added one ?
Ive started to use firestore but lets say for some reason i have to switch to somethinf different in the future. Will this process be easy?
is there a way to store values locally using flutter and a local database like SQL?
In this video, I'm using the snapshot to build widgets and update the UI, but you can (in theory) do whatever you want with it. For example, you could listen to the stream with a function that stored the data in SQLite, local files, or something similar.
thanks a lot Andrew
I'm not being able to connect the Flutter app to Firebase for iOS. I followed exactly all the steps but I couldn't get the data from the database. Also, I couldn't verify the installation because it never finished. I waited some time there, but got no results. I have looked all over the internet to find a solution but none have been of use. I tried deleting pod files, I checked AppDelegate.swift, pubspec dependencies. All. Please, I really need help here.
Hopefully you've already found a solution to the issue, but if not, try posting on the FlutterDev Google group. You can include code, config files, and so on. The folks there are helpful and typically very experience with Flutter: groups.google.com/forum/#!forum/flutter-dev
#askflutter
Hi Andrew, a noob question -
With respect to Firebase client SDKs, we have android and iOS but not specifically for Flutter and I assume we need to download both for working with Flutter? In terms of the whole array of features that Firebase and suite of integration it offers, is it safe to assume that all firebase features available if we were to write only android/iOS using their respective client SDKs be available in Flutter as well (or) are there any constraints that we need to be aware of?
Thank you 😊
When you install the google-services.plst for ios make sure to install it by opening the project in xcode and right clicking on the Runner Folder and using add file to add the google services file. Otherwise if you drag and drop it in your editor like intellij for some reason it makes the app freakout and create a bunch of errors. Took me 7 hours of trouble shooting to figure out that this was all I needed to do.
Hi Sundar Pichai !!
Are you listening?
Codelab link not working. Please update it.
Gradle problem when i try to use firebase.. fix this
I've set this up but it wasn't so straightforward and took a lot of time... different versions of the plugins were incompatible and project settings needed to be modified for both Android and iOS.
What is best for android or flutter in future?
Can I use Firestore as a backend to my Wibblewobble app, with Zigizigah as the front end?
Only if you really really really wanna.
Hi i had error with gradle task assembledebug failed with exit code 1
Can you help me
So well explained!
Great video, but what about the e2ee... using this approach the users data is visible to the firebase console manager, that is against the EU GDPR law...
This video is mostly scoped to using Firebase collections with Flutter widgets. If you're interested in Firebase's security and privacy support, I highly recommend this doc: firebase.google.com/support/privacy
app channels spinning some time when using google firebase database and flutter application. how to download or backup firebase database . is there any automatic backups
Is possible to use Firebase for ios backend?
Yes :)
why there is no doc support for flutter in firebase portal ???
Thank you that you guys did not go with Flutter Boring Show!
But isn´t that solution of updating the data with a Transaction muchh slower than just changing the value as the first solution?
Hi, in your code at the time of configure firestore you didn't use any kind of "firestore.settings()" the way it has been mentioned it here - pub.dartlang.org/packages/cloud_firestore#-example-tab- . Is it really require to mention this setting thing or not? I'm bit confused about this.
What about AngularDart/dart2js? Is the flutter team different from angulardart team?
Hi, by any chance do you have a video which you can link me to, that tackles the function of reading out-loud data fetched from Firestore as audio to user? Thanks
Hi,
I am using Firestore plugin to communicate with my data. My question is how to get data with a condition with Firestore? Or how to Find a user by email address?
I think this question will be asked from many programmers.
Thank you,
I'm not showing it in this episode, but the Firestore plugin contains a Query class that can help you with this: github.com/flutter/plugins/blob/master/packages/cloud_firestore/lib/src/query.dart
What if I don't have the final name for my project, yet? Can I change it later?
Yes you can
I love firebase, but lately using firebase on the ios side has been a pain in the ass. The latest project I started on takes 8 minutes to build when adding the auth and cloud_firestore plugins, and If I try to add the google_sign_in plugin the project simply won't compile. It works fine on Android but on iOS its a very different story. Could you please fix the plugin or update the docs to reflect any changes you have to make to your iOS project to get it to play nicely with firebase and google_sign_in
for a complete beginner like me. It would've been better if we would've coded it from scratch bcs i just want to start connecting some kind of app with this firestore but i just keep getting error messages and unfortunitly I can't find enough other recourses to fix my problems. I still think Flutter is great but as a beginner I am having a really hard time trying to get anything done with it...
What about Google Cloud Datastore? Are there any examples of using that as a backend for Flutter projects?
Hey Andrew i was searching how to make a custom listview layout widget can you suggest where to search for that??
flutter.io/tutorials/layout/
Thanks so much ...
I can use flutter and firebase in my androids and ios while on web I use React and firebase? Thanks.
hi guys . is there a tutorial out there about how to set custom claims / role based auth / rolebased access contorll in flutter using firebase?
If there are lots of documents in collection, stream builder is very slow. Isn't it?
Possible issues in integrating to Firestore and solutions [2020]:
1. No Firebase App '[DEFAULT]' has been created - stackoverflow.com/questions/63492211/no-firebase-app-default-has-been-created-call-firebase-initializeapp-in
2. D8: Cannot fit requested classes in a single dex file - stackoverflow.com/questions/55591958/flutter-firestore-causing-d8-cannot-fit-requested-classes-in-a-single-dex-file
3. Plugin with id 'com.google.gms.google-services' not found - stackoverflow.com/questions/39892622/plugin-with-id-com-google-gms-google-services-not-found
4. firestore: PERMISSION_DENIED: Missing or insufficient permissions - stackoverflow.com/questions/46590155/firestore-permission-denied-missing-or-insufficient-permissions
5. Dart/Flutter : Converting timestamp - stackoverflow.com/questions/50632217/dart-flutter-converting-timestamp
6. How to print Firestore timestamp as formatted date and time - stackoverflow.com/questions/56627888/how-to-print-firestore-timestamp-as-formatted-date-and-time
7. FLUTTER | How to add data to an existing document in firestore - stackoverflow.com/questions/50559148/flutter-how-to-add-data-to-an-existing-document-in-firestore
Is there any free web development course offering by google.
I am getting error from iOS xcode build - module “cloud_firestore” not found…. How can I fix the error
Not practical for large collection because it fetches every single document in the collection up front.
if u can show an example using firestore with add,delete and update data in flutter, its will be more usefull
Super useful video!
Is the race condition eliminated? If multiple users initiate a transaction at the same time, won't they both update the same initial value? A ticketing or reservation system could end up double booking if this is the case.
Are there any tutorials that show how to use cloud_firestore with firestore rules? As best as I can determine in flutter example code, request.auth.uid is not sent to the server.
Is there a place I could find the code used in this video? A github link or something?
Very useful, I'm evaluation to move my iOS app using Firestore to Flutter so I don't need to build a native Android app.
I'd love to see this kind of video.
coool! Can we have a tutorial talking about AndroidX Migration? I have serious troubleshooting
Could you make a video how to join collections?
Great video, thanks!
I find it very helpful.
How can we check if a transaction fails?
Seems stuck on loading... any ideas?
Same for me, can't get it to work.
This is really great stuff
i didnt really follow why we changed the onTap function from a plain update to something else...could someone help me out on this please?
Can I use flutter to make a order delivery + customer loyalty app?
How can we paginate in stream builder?
@@emilyfortuna2262 thanks for yours response...actually i am getting data by fetching n items at once.And the problem arises when i fetch next batch of items,i am unable to put the next batch into stream.
Is there a convinient way to transfer firebase project from one google acc to another?