Skip to content

Instantly share code, notes, and snippets.

@renatoapcosta
Last active March 12, 2022 04:34
Show Gist options
  • Save renatoapcosta/9094e8197426318bbd1754402c6f798e to your computer and use it in GitHub Desktop.
Save renatoapcosta/9094e8197426318bbd1754402c6f798e to your computer and use it in GitHub Desktop.
Flutter Firebase

Flutter Firebase

Configuração do projeto

Adicionar credencial android em:

/android/app/google-services.json

Em /android/build.gradle

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
        classpath 'com.google.gms:google-services:4.3.10'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

Em /android/app/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

...

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "br.com.bpcmix.loja.bpcmix_loja"
    minSdkVersion 20
    targetSdkVersion 30
    multiDexEnabled true
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

Em /pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  cloud_firestore: ^3.1.10
  firebase_auth: ^3.3.10
  firebase_storage: ^10.2.9
  firebase_core: ^1.13.1

Firestore

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';


  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();
  runApp(const MyApp());

  FirebaseFirestore.instance.collection("teste").add({'teste': 'teste teste2'});
  FirebaseFirestore.instance.collection("teste").doc("#000").set({'teste': 'teste teste3'});
  FirebaseFirestore.instance.collection("teste").doc("#000").update({'teste': 'teste atualizadoS'});
  FirebaseFirestore.instance.doc("teste/#000").update({'teste': 'atua'});


  DocumentSnapshot documentSnapshot = await FirebaseFirestore.instance.doc("teste/#000").get();
  print(documentSnapshot.data());
  print(documentSnapshot.get('teste'));

  FirebaseFirestore.instance.doc("teste/#000").snapshots().listen((event) {
    print(event.data());
  });

   FirebaseFirestore.instance.collection("teste").snapshots().listen((event) {
     event.docs.forEach((element) {print(element.data()); });
   });
   ```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment