Requisitos
- Flutter instalado
- Android Studio con plugin para Flutter
- Tener una cuenta de Google
Pasos
- Crear proyecto Firebase
- Crear aplicación Flutter
- Añadir aplicación Android a proyecto Firebase
- Añadir aplicación iOS a proyecto Firebase
- Añadir las dependencias al proyecto Flutter
- Habilitar autenticación de Google en Firebase
- Integrar la autenticación en la aplicación Flutter
Crear proyecto Firebase
Entrar en la consola de Firebase (es necesaria una cuenta de Google):
Pulsar en Agregar proyecto:
En el siguiente paso podemos habilitar o desabilitar Google Analytics (no es importante para este ejemplo). Pulsar en Continuar:
Crear aplicación Flutter
Abrir Android Studio y crear un proyecto Fltutter:
Elegir Flutter App y pulsar Next (comprobar que el directorio del SDK de Flutter es correcto):
Rellenar el nombre del proyecto, directorio, organización y pulsar Finish:
Tras unos segundos, se crea el proyecto Flutter y se abre en Android Studio.
Ahora tenemos que añadir las aplicaciones Android e iOS al proyecto Firebase. El proceso es diferente para cada sistema operativo.
Añadir aplicación Android al proyecto Firebase
En Android Studio, abrir el fichero <project>/android/app/build.gradle y buscar la cadena "applicationId":
En la consola de Firebase, registrar una aplicación Android:
En Android Studio abrir el fichero <project>/android/app/build.gradle y buscar la cadena "apply plugin". Añadir la siguiente línea:
apply plugin: 'com.google.gms.google-services'
En Android Studio abrir el fichero <project>/android/build.gradle (NOTA: es distinto del fichero anterior). Añadir la siguiente línea en la sección de dependencias:
classpath 'com.google.gms:google-services:4.3.8'
NOTA: Buscar la versión exacta actualmente en: https://developers.google.com/android/guides/google-services-plugin
Pulsar "Siguiente", de nuevo "Siguiente" y por último, pulsar en "Ir a la consola"
Y con esto, ya tenemos configurada la aplicación Android en el proyecto Firebase.
A continuación haremos el proceso similar para iOS.
Añadir aplicación iOS al proyecto Firebase
Abrir XCode y abrir el proyecto de nuestra aplicación:
Seleccionar Runner (raíz del árbol de la izquierda), pestaña General y copiar el "Bundle Identifier":
Pulsar en "Agregar app":
Rellenar el id de la aplicación que hemos copiado en XCode, un sobrenombre opcional y pulsar en "Registrar app":
Pulsar "Siguiente", "Siguiente", "Siguiente" y "Ir a la consola".
Añadir las dependencias al proyecto Flutter
En Android Studio abrir el fichero <project>/pubspec.yaml y añadir las siguientes dependencias:
firebase_core: ^1.4.0
firebase_auth: ^3.0.1
cloud_firestore: ^2.4.0
NOTA: Buscar la versión exacta actualmente en: https://firebase.flutter.dev/
Pulsar en "Pub get" para descargar las dependencias:
Habilitar autenticación de Google en el proyecto Firebase
Ir a la consola de Firebase y entrar en Autenticación:
Pestaña Sign in method:
La aplicación de Android necesita una huella SHA-1 que hemos dejado vacía anteriormente. Abrimos un terminal, vamos al directorio del proyecto Flutter y ejecutamos los siguientes comandos:
cd google_signin
cd android
./gradlew signingReport
La primera vez instala algunas cosas y puede tardar. Nos interesa el resultado final SHA-1:
Buscamos la aplicación Android y pulsamos "Agregar huella digital":