expo-notifications
El núcleo. Maneja la recepción de notificaciones, permisos y listeners.
Antes de escribir una sola línea de código complejo, necesitamos preparar nuestro arsenal. Vamos a instalar las librerías oficiales que nos permitirán comunicarnos con el sistema operativo y nuestro backend.
npx expo install expo-notifications expo-device expo-constantsnpx expo install @supabase/supabase-js @react-native-async-storage/async-storageexpo-notifications
El núcleo. Maneja la recepción de notificaciones, permisos y listeners.
expo-device
Crítico para identificar si estamos en un dispositivo físico.
supabase-js
Cliente de DB y Auth.
AsyncStorage
Persistencia local segura para Móvil. ⚠️ ¡Cuidado en Web!
app.jsonAsegúrate de que tu app.json tenga configurado el plugin de notificaciones si necesitas personalizar iconos o colores (opcional por ahora, pero recomendado para producción).
{ "expo": { "plugins": [ [ "expo-notifications", { "icon": "./assets/notification-icon.png", "color": "#bd93f9", "sounds": ["./assets/sounds/custom-sound.wav"] } ] ] }}🎨 Icono (Android)
Requisito Crítico : Debe ser una imagen .png con fondo transparente y contenido blanco puro.
Android colorea automáticamente los píxeles no transparentes. Si usas una imagen a color, se verá como un cuadrado blanco o gris.
🖌️ Color
Define el color de acento que teñirá tu icono en la barra de estado y encabezados.
Usa tu color de marca hexadecimal (ej. #bd93f9 ).