Farebase
Farebase
Farebase
4. Configura tu proyecto
Nota: Google Analytics es opcional, pero puede ser útil si quieres realizar análisis
sobre la app.
6. Crear el proyecto
• Accede a la Consola de Firebase, crea un nuevo proyecto y sigue los pasos para configurarlo.
gradle
Copiar código
dependencies {
implementation 'com.google.firebase:firebase-analytics:21.0.0'
// Ejemplo de Analytics
}
apply plugin: 'com.google.gms.google-services'
4. Sincroniza tu proyecto
• Haz clic en "Sync Now" en Android Studio para aplicar los cambios.
java
Copiar código
FirebaseAnalytics mFirebaseAnalytics =
FirebaseAnalytics.getInstance(this);
• Puedes usar otros servicios de Firebase (Authentication, Firestore, etc.) agregando sus
dependencias.
1. Métodos de autenticación:
o Correo y contraseña: Los usuarios pueden registrarse y autenticarse utilizando su
dirección de correo electrónico y una contraseña.
o Redes sociales: Firebase permite la integración con proveedores de autenticación
populares como:
▪ Google
▪ Facebook
▪ Twitter
▪ GitHub
o Autenticación anónima: Los usuarios pueden acceder a la app sin crear una cuenta,
lo que es útil en casos donde no se requiere un registro completo, pero se quiere
mantener el progreso del usuario.
o Número de teléfono: Permite autenticación mediante el número de teléfono del
usuario, enviando un código de verificación por SMS.
o OAuth personalizado: Si tienes tu propio sistema de autenticación o una API
personalizada, puedes integrarla usando el protocolo OAuth.
o Inicio de sesión con proveedores federados: Además de los servicios populares
como Google y Facebook, Firebase también soporta otros proveedores mediante
SAML, como Microsoft o cualquier proveedor que siga el estándar de OpenID.
2. Seguridad:
o Firebase Authentication utiliza estándares de seguridad como OAuth 2.0 y OpenID
Connect, lo que garantiza que la autenticación sea segura.
o El servicio también se encarga de la verificación de correos electrónicos, la
recuperación de contraseñas y la protección contra ataques como el phishing.
3. Integración con otros servicios de Firebase:
o Se integra fácilmente con otros servicios de Firebase como Firebase Realtime
Database, Cloud Firestore, Firebase Storage y Firebase Cloud Messaging. Esto te
permite asociar datos específicos de los usuarios con sus credenciales de
autenticación y personalizar su experiencia en la app.
4. Soporte para múltiples plataformas:
o Firebase Authentication funciona tanto en aplicaciones Android e iOS como en
aplicaciones web, y se puede integrar con otros servicios backend.
5. Gestión de usuarios:
o Permite gestionar y administrar los usuarios registrados, ver sus datos, desactivar
cuentas, restablecer contraseñas, etc., todo desde la consola de Firebase.
o También permite personalizar el proceso de inicio de sesión y registro con
formularios y pantallas de inicio de sesión propios si es necesario.
6. Soporte para múltiples lenguajes:
o Firebase Authentication es compatible con varios lenguajes y plataformas como
JavaScript (para web), Java (para Android), Swift (para iOS), entre otros.
El flujo básico para autenticar a un usuario en una aplicación con Firebase sería el siguiente:
1. Registro de usuario: El usuario se registra con sus credenciales (por ejemplo, correo y
contraseña, o mediante una red social).
2. Inicio de sesión: El usuario inicia sesión proporcionando sus credenciales, que son
verificadas por Firebase.
3. Generación de token: Si las credenciales son correctas, Firebase genera un token de
autenticación que se utiliza para validar las solicitudes al backend.
4. Autenticación persistente: Firebase mantiene la sesión del usuario abierta, por lo que no
tendrá que volver a iniciar sesión cada vez que abra la app (a menos que cierre sesión
manualmente).
Ejemplo básico de uso de Firebase Authentication en Android:
gradle
Copiar código
implementation 'com.google.firebase:firebase-auth:21.0.0'
java
Copiar código
FirebaseAuth mAuth = FirebaseAuth.getInstance();
VFirebase Realtime Database es una base de datos NoSQL en la nube que permite
almacenar y sincronizar datos en tiempo real entre usuarios de una app. Es ideal para
aplicaciones que necesitan actualizaciones instantáneas, como chats o juegos en línea.
Características principales:
Ejemplo básico:
• Escribir datos:
java
Copiar código
FirebaseDatabase.getInstance().getReference("usuarios/usuario1").se
tValue(new Usuario("Juan", 30));
• Leer datos:
java
Copiar código
DatabaseReference ref =
FirebaseDatabase.getInstance().getReference("usuarios/usuario1");
ref.addValueEventListener(new ValueEventListener() { ... });
Cuándo usarlo: