Comenzando
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@Capgo/Capacitor-downloader`, `@capgo/capacitor-downloader`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/es/docs/plugins/downloader/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalación
Section titled “Instalación”npm install @capgo/capacitor-downloadernpx cap syncyarn add @capgo/capacitor-downloadernpx cap syncpnpm add @capgo/capacitor-downloadernpx cap syncbun add @capgo/capacitor-downloadernpx cap syncEjemplo de uso
Section titled “Ejemplo de uso”import { CapacitorDownloader } from '@capgo/capacitor-downloader';
// Iniciar una descargaconst downloadId = 'my-download-001';await CapacitorDownloader.download({ id: downloadId, url: 'https://example.com/large-file.zip', destination: '/downloads/large-file.zip', headers: { 'Authorization': 'Bearer token123' }, network: 'wifi-only', priority: 'high'});
// Escuchar actualizaciones de progresoCapacitorDownloader.addListener('downloadProgress', (data) => { console.log(`Descarga ${data.id}: ${data.progress}% completada`); console.log(`Descargado: ${data.bytesDownloaded}/${data.totalBytes} bytes`);});
// Manejar la finalizaciónCapacitorDownloader.addListener('downloadCompleted', (data) => { console.log(`Descarga completada: ${data.id}`); console.log(`Archivo guardado en: ${data.path}`);});
// Manejar erroresCapacitorDownloader.addListener('downloadFailed', (error) => { console.error(`Descarga fallida: ${error.id}`, error.message);});
// Pausar una descargaawait CapacitorDownloader.pause(downloadId);
// Reanudar la descargaawait CapacitorDownloader.resume(downloadId);
// Verificar estado de descargaconst status = await CapacitorDownloader.checkStatus(downloadId);console.log('Estado de descarga:', status);
// Detener la descargaawait CapacitorDownloader.stop(downloadId);Métodos principales de API
Section titled “Métodos principales de API”Gestión de descargas
Section titled “Gestión de descargas”download(options)- Iniciar una nueva descarga de archivopause(id)- Pausar una descarga en cursoresume(id)- Reanudar una descarga pausadastop(id)- Detener y cancelar una descargacheckStatus(id)- Obtener el estado actual de descarga
Operaciones de archivos
Section titled “Operaciones de archivos”getFileInfo(path)- Recuperar información y metadatos del archivo
Configuración de descarga
Section titled “Configuración de descarga”interface DownloadOptions { id: string; // Identificador único de descarga url: string; // URL de origen de descarga destination: string; // Ruta de guardado local headers?: Record<string, string>; // Encabezados HTTP personalizados network?: 'cellular' | 'wifi-only'; // Restricciones de red priority?: 'high' | 'normal' | 'low'; // Prioridad de descarga}Escuchadores de eventos
Section titled “Escuchadores de eventos”El Plugin proporciona manejo integral de eventos:
downloadProgress- Rastrear el progreso de descarga en tiempo realdownloadCompleted- Manejar la finalización exitosa de descargadownloadFailed- Manejar errores y fallos de descarga
Configuración de red
Section titled “Configuración de red”Descargas solo por WiFi
Section titled “Descargas solo por WiFi”await CapacitorDownloader.download({ id: 'large-file', url: 'https://example.com/video.mp4', destination: '/downloads/video.mp4', network: 'wifi-only' // Restringe solo a redes WiFi});Gestión de prioridades
Section titled “Gestión de prioridades”// Descarga de alta prioridadawait CapacitorDownloader.download({ id: 'urgent-update', url: 'https://example.com/update.zip', destination: '/downloads/update.zip', priority: 'high'});Estados de descarga
Section titled “Estados de descarga”Las descargas pueden estar en varios estados:
- Pendiente: En cola para descarga
- Ejecutando: Descargando actualmente
- Paused: Detenida temporalmente
- Completado: Finalizada exitosamente
- Falló: Encontró un Error
- Stopped: Cancelada manualmente
Información del archivo
Section titled “Información del archivo”// Obtener detalles del archivoconst fileInfo = await CapacitorDownloader.getFileInfo('/downloads/my-file.pdf');console.log('Tamaño del archivo:', fileInfo.size);console.log('Última modificación:', fileInfo.lastModified);console.log('Tipo MIME:', fileInfo.mimeType);Mejores prácticas
Section titled “Mejores prácticas”- Usa IDs de descarga únicos para evitar conflictos
- Implementa manejo de errores apropiado para fallos de red
- Considera el espacio de almacenamiento antes de iniciar descargas grandes
- Usa el modo solo WiFi para archivos grandes para preservar datos móviles
- Limpia las descargas completadas para gestionar el almacenamiento