Una aplicaci贸n de juego de bebidas con verdades y retos.
- Node.js (v14 o superior)
- Expo CLI
- Android Studio (para desarrollo en Android)
- Xcode (para desarrollo en iOS, solo macOS)
- Cuenta en Supabase
Este proyecto utiliza variables de entorno para gestionar configuraciones sensibles como las credenciales de Supabase. Hay dos formas de configurar estas variables:
Para desarrollo local, crea un archivo .env en la ra铆z del proyecto basado en .env.example:
cp .env.example .envLuego, edita el archivo .env y a帽ade tus credenciales:
# Variables de Supabase
SUPABASE_URL=https://tu-proyecto.supabase.co
SUPABASE_ANON_KEY=tu-clave-anonima
SUPABASE_DATABASE=tu-id-de-base-de-datos
# Variables de Android
ANDROID_HOME=$HOME/Android/Sdk
ANDROID_SDK_ROOT=$HOME/Android/Sdk
PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/emulator
Para despliegues con EAS, las variables de entorno se gestionan de forma segura a trav茅s de EAS Secrets. Las variables ya est谩n configuradas como secretas en EAS para todos los entornos (development, preview y production).
Si necesitas actualizar estas variables, puedes usar los siguientes comandos:
# Iniciar sesi贸n en EAS (si a煤n no lo has hecho)
eas login
# Listar las variables de entorno existentes
eas env:list production # Tambi茅n puedes usar 'development' o 'preview'
# Actualizar una variable existente
eas env:update SUPABASE_URL --scope project --type string --secret
# Crear una nueva variable secreta
eas env:create --scope project --name NUEVA_VARIABLE --type string --secretImportante: Las claves de Supabase est谩n configuradas como secretas en EAS y no se pueden ver ni modificar desde la interfaz de usuario. Solo se pueden acceder durante el proceso de construcci贸n en EAS.
-
Clona el repositorio:
git clone https://github.com/tu-usuario/drink-app.git cd drink-app -
Instala las dependencias:
npm install
-
Inicia la aplicaci贸n:
npm start
/src: C贸digo fuente de la aplicaci贸n/components: Componentes reutilizables/screens: Pantallas de la aplicaci贸n/services: Servicios (Supabase, etc.)/context: Contextos de React
/assets: Recursos est谩ticos (im谩genes, fuentes, etc.)
npm start: Inicia el servidor de desarrollonpm run android: Inicia la aplicaci贸n en un dispositivo/emulador Androidnpm run ios: Inicia la aplicaci贸n en un dispositivo/emulador iOSnpm run web: Inicia la aplicaci贸n en un navegador web
Para construir un APK para Android:
eas build --platform android --profile localPara construir la aplicaci贸n en EAS:
# Versi贸n de desarrollo
eas build --platform android --profile development
# Versi贸n de vista previa
eas build --platform android --profile preview
# Versi贸n de producci贸n
eas build --platform android --profile productionPara publicar la aplicaci贸n en Google Play Store, sigue estos pasos:
-
Preparaci贸n de recursos:
- Aseg煤rate de tener los siguientes recursos listos:
- 脥cono de la aplicaci贸n (512x512 px)
- Imagen de portada (1024x500 px)
- Capturas de pantalla (al menos 2 por dispositivo)
- Video promocional (opcional)
- Descripci贸n corta (80 caracteres m谩ximo)
- Descripci贸n completa (4000 caracteres m谩ximo)
- Aseg煤rate de tener los siguientes recursos listos:
-
Crear una cuenta de desarrollador:
- Reg铆strate en la Google Play Console
- Paga la tarifa 煤nica de registro ($25 USD)
-
Configurar la aplicaci贸n en Google Play Console:
- Crea una nueva aplicaci贸n
- Completa la informaci贸n de la ficha de Play Store
- Configura la clasificaci贸n de contenido
- Configura el precio y la distribuci贸n
-
Generar un AAB (Android App Bundle) para producci贸n:
eas build --platform android --profile production
-
Subir el AAB a Google Play Console:
- Ve a la secci贸n "Producci贸n" en Google Play Console
- Crea una nueva versi贸n
- Sube el archivo AAB generado
- Completa las notas de la versi贸n
- Env铆a para revisi贸n
-
Actualizar la aplicaci贸n: Para futuras actualizaciones, incrementa la versi贸n en
app.jsony ejecuta:eas build --platform android --profile production
-
Enviar actualizaciones a trav茅s de EAS Update (opcional): Para cambios menores que no requieren una nueva versi贸n en la tienda:
eas update --branch production --message "Descripci贸n de la actualizaci贸n"
- Nunca incluyas claves API o secretos directamente en el c贸digo
- Utiliza siempre variables de entorno o EAS Secrets para gestionar informaci贸n sensible
- Aseg煤rate de que
.envest茅 incluido en.gitignorepara evitar subir credenciales al repositorio
La aplicaci贸n est谩 configurada para mostrar anuncios utilizando AdMob. Los IDs de AdMob est谩n configurados en app.json:
- App ID: ca-app-pub-7275388055615808~3583010996
- Banner ID: ca-app-pub-7275388055615808/4816185702
- Interstitial ad ID: ca-app-pub-7275388055615808/3059191415
Para implementar completamente los anuncios, sigue estos pasos:
-
Instalar la biblioteca de Google Mobile Ads para React Native:
npx expo install react-native-google-mobile-ads
-
Actualizar app.config.js para incluir los permisos necesarios:
plugins: [ [ "react-native-google-mobile-ads", { "userTrackingPermission": "Esta aplicaci贸n utiliza la tecnolog铆a de anuncios para financiarse. La informaci贸n de tu dispositivo se utilizar谩 para ofrecerte anuncios personalizados." } ] ]
-
Implementar los componentes de anuncios:
- Utiliza los componentes
AdBanner.tsxy el servicioads.tsque ya est谩n creados - Para implementar completamente, reemplaza el c贸digo de marcador de posici贸n con el c贸digo real de AdMob
- Utiliza los componentes
-
Pruebas de anuncios:
- Durante el desarrollo, utiliza los IDs de prueba proporcionados por AdMob
- Verifica que los anuncios se muestren correctamente en diferentes dispositivos
- Aseg煤rate de que los anuncios no interfieran con la experiencia del usuario
Antes de lanzar la aplicaci贸n a producci贸n, verifica los siguientes puntos:
- Todas las funcionalidades principales funcionan correctamente
- La autenticaci贸n con Supabase funciona sin problemas
- Los anuncios se muestran correctamente y no son intrusivos
- La aplicaci贸n maneja correctamente la p茅rdida de conexi贸n a Internet
- Las animaciones y transiciones son fluidas
- La aplicaci贸n no tiene fugas de memoria o problemas de rendimiento
- Todos los textos est谩n en espa帽ol y son gramaticalmente correctos
- Los iconos y gr谩ficos se ven bien en diferentes tama帽os de pantalla
- La pol铆tica de privacidad est谩 actualizada y accesible
- La aplicaci贸n cumple con las pol铆ticas de Google Play Store