Iniziare
Installazione
Section titled “Installazione”npm install @capgo/capacitor-downloadernpx cap syncyarn add @capgo/capacitor-downloadernpx cap syncpnpm add @capgo/capacitor-downloadernpx cap syncbun add @capgo/capacitor-downloadernpx cap syncEsempio di Utilizzo
Section titled “Esempio di Utilizzo”import { CapacitorDownloader } from '@capgo/capacitor-downloader';
// Avvia un downloadconst 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'});
// Ascolta gli aggiornamenti di avanzamentoCapacitorDownloader.addListener('downloadProgress', (data) => { console.log(`Download ${data.id}: ${data.progress}% completato`); console.log(`Scaricato: ${data.bytesDownloaded}/${data.totalBytes} byte`);});
// Gestisci il completamentoCapacitorDownloader.addListener('downloadCompleted', (data) => { console.log(`Download completato: ${data.id}`); console.log(`File salvato in: ${data.path}`);});
// Gestisci gli erroriCapacitorDownloader.addListener('downloadFailed', (error) => { console.error(`Download fallito: ${error.id}`, error.message);});
// Metti in pausa un downloadawait CapacitorDownloader.pause(downloadId);
// Riprendi il downloadawait CapacitorDownloader.resume(downloadId);
// Verifica lo stato del downloadconst status = await CapacitorDownloader.checkStatus(downloadId);console.log('Stato del download:', status);
// Interrompi il downloadawait CapacitorDownloader.stop(downloadId);Metodi API Principali
Section titled “Metodi API Principali”Gestione Download
Section titled “Gestione Download”download(options)- Avvia un nuovo download di filepause(id)- Metti in pausa un download in corsoresume(id)- Riprendi un download in pausastop(id)- Interrompi e annulla un downloadcheckStatus(id)- Ottieni lo stato attuale del download
Operazioni File
Section titled “Operazioni File”getFileInfo(path)- Recupera informazioni e metadati del file
Configurazione Download
Section titled “Configurazione Download”interface DownloadOptions { id: string; // Identificatore univoco del download url: string; // URL sorgente del download destination: string; // Percorso di salvataggio locale headers?: Record<string, string>; // Intestazioni HTTP personalizzate network?: 'cellular' | 'wifi-only'; // Restrizioni di rete priority?: 'high' | 'normal' | 'low'; // Priorità del download}Event Listener
Section titled “Event Listener”Il plugin fornisce gestione completa degli eventi:
downloadProgress- Traccia l’avanzamento del download in tempo realedownloadCompleted- Gestisci il completamento riuscito del downloaddownloadFailed- Gestisci errori e fallimenti del download
Configurazione Rete
Section titled “Configurazione Rete”Download Solo WiFi
Section titled “Download Solo WiFi”await CapacitorDownloader.download({ id: 'large-file', url: 'https://example.com/video.mp4', destination: '/downloads/video.mp4', network: 'wifi-only' // Limita solo alle reti WiFi});Gestione Priorità
Section titled “Gestione Priorità”// Download ad alta prioritàawait CapacitorDownloader.download({ id: 'urgent-update', url: 'https://example.com/update.zip', destination: '/downloads/update.zip', priority: 'high'});Stati del Download
Section titled “Stati del Download”I download possono trovarsi in vari stati:
- Pending: In coda per il download
- Running: Download in corso
- Paused: Temporaneamente fermato
- Completed: Completato con successo
- Failed: Si è verificato un errore
- Stopped: Annullato manualmente
Informazioni File
Section titled “Informazioni File”// Ottieni dettagli fileconst fileInfo = await CapacitorDownloader.getFileInfo('/downloads/my-file.pdf');console.log('Dimensione file:', fileInfo.size);console.log('Ultima modifica:', fileInfo.lastModified);console.log('Tipo MIME:', fileInfo.mimeType);Best Practice
Section titled “Best Practice”- Usa ID download univoci per evitare conflitti
- Implementa una corretta gestione degli errori per i fallimenti di rete
- Considera lo spazio di archiviazione prima di avviare download grandi
- Usa la modalità solo WiFi per file grandi per preservare i dati mobili
- Pulisci i download completati per gestire l’archiviazione