Premiers pas
Installation
Section titled “Installation”npm install @capgo/capacitor-downloadernpx cap syncyarn add @capgo/capacitor-downloadernpx cap syncpnpm add @capgo/capacitor-downloadernpx cap syncbun add @capgo/capacitor-downloadernpx cap syncExemple d’utilisation
Section titled “Exemple d’utilisation”import { CapacitorDownloader } from '@capgo/capacitor-downloader';
// Démarrer un téléchargementconst 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'});
// Écouter les mises à jour de progressionCapacitorDownloader.addListener('downloadProgress', (data) => { console.log(`Download ${data.id}: ${data.progress}% complete`); console.log(`Downloaded: ${data.bytesDownloaded}/${data.totalBytes} bytes`);});
// Gérer la complétionCapacitorDownloader.addListener('downloadCompleted', (data) => { console.log(`Download completed: ${data.id}`); console.log(`File saved to: ${data.path}`);});
// Gérer les erreursCapacitorDownloader.addListener('downloadFailed', (error) => { console.error(`Download failed: ${error.id}`, error.message);});
// Mettre en pause un téléchargementawait CapacitorDownloader.pause(downloadId);
// Reprendre le téléchargementawait CapacitorDownloader.resume(downloadId);
// Vérifier le statut du téléchargementconst status = await CapacitorDownloader.checkStatus(downloadId);console.log('Download status:', status);
// Arrêter le téléchargementawait CapacitorDownloader.stop(downloadId);Méthodes principales de l’API
Section titled “Méthodes principales de l’API”Gestion des téléchargements
Section titled “Gestion des téléchargements”download(options)- Démarrer un nouveau téléchargement de fichierpause(id)- Mettre en pause un téléchargement en coursresume(id)- Reprendre un téléchargement en pausestop(id)- Arrêter et annuler un téléchargementcheckStatus(id)- Obtenir le statut actuel du téléchargement
Opérations sur les fichiers
Section titled “Opérations sur les fichiers”getFileInfo(path)- Récupérer les informations et métadonnées du fichier
Configuration du téléchargement
Section titled “Configuration du téléchargement”interface DownloadOptions { id: string; // Identifiant unique du téléchargement url: string; // URL source du téléchargement destination: string; // Chemin d'enregistrement local headers?: Record<string, string>; // En-têtes HTTP personnalisés network?: 'cellular' | 'wifi-only'; // Restrictions réseau priority?: 'high' | 'normal' | 'low'; // Priorité du téléchargement}Écouteurs d’événements
Section titled “Écouteurs d’événements”Le plugin fournit une gestion complète des événements :
downloadProgress- Suivre la progression du téléchargement en temps réeldownloadCompleted- Gérer la complétion réussie du téléchargementdownloadFailed- Gérer les erreurs et échecs de téléchargement
Configuration réseau
Section titled “Configuration réseau”Téléchargements WiFi uniquement
Section titled “Téléchargements WiFi uniquement”await CapacitorDownloader.download({ id: 'large-file', url: 'https://example.com/video.mp4', destination: '/downloads/video.mp4', network: 'wifi-only' // Restreint aux réseaux WiFi uniquement});Gestion des priorités
Section titled “Gestion des priorités”// Téléchargement haute prioritéawait CapacitorDownloader.download({ id: 'urgent-update', url: 'https://example.com/update.zip', destination: '/downloads/update.zip', priority: 'high'});États de téléchargement
Section titled “États de téléchargement”Les téléchargements peuvent être dans différents états :
- Pending : En attente de téléchargement
- Running : Téléchargement en cours
- Paused : Temporairement arrêté
- Completed : Terminé avec succès
- Failed : Une erreur s’est produite
- Stopped : Annulé manuellement
Informations sur les fichiers
Section titled “Informations sur les fichiers”// Obtenir les détails du fichierconst fileInfo = await CapacitorDownloader.getFileInfo('/downloads/my-file.pdf');console.log('File size:', fileInfo.size);console.log('Last modified:', fileInfo.lastModified);console.log('MIME type:', fileInfo.mimeType);Bonnes pratiques
Section titled “Bonnes pratiques”- Utilisez des ID de téléchargement uniques pour éviter les conflits
- Implémentez une gestion appropriée des erreurs pour les échecs réseau
- Considérez l’espace de stockage avant de démarrer de gros téléchargements
- Utilisez le mode WiFi uniquement pour les gros fichiers afin de préserver les données mobiles
- Nettoyez les téléchargements terminés pour gérer le stockage