Erste Schritte
Installation
Section titled “Installation”npm install @capgo/capacitor-updaternpx cap syncyarn add @capgo/capacitor-updaternpx cap syncpnpm add @capgo/capacitor-updaternpx cap syncbun add @capgo/capacitor-updaternpx cap syncSchnellstart
Section titled “Schnellstart”Für die meisten Benutzer empfehlen wir, der Haupt-Schnellstartanleitung zu folgen, die sowohl die Plugin-Installation als auch die Cloud-Integration von Capgo abdeckt.
Dieser Einstiegsleitfaden konzentriert sich auf die technischen Plugin-Details für fortgeschrittene Benutzer, die die zugrunde liegenden Mechanismen verstehen oder selbst gehostete Updates implementieren möchten.
Übersicht
Section titled “Übersicht”Das Capacitor Updater-Plugin ermöglicht Over-the-Air-Updates (OTA) für Ihre Capacitor-Anwendungen. Auf diese Weise können Sie Updates für Ihre App pushen, ohne App-Store-Bewertungen durchgehen zu müssen.
Wie es funktioniert
Section titled “Wie es funktioniert”- Bundle-Download: Das Plugin lädt Update-Bundles (ZIP-Dateien mit Ihren Web-Assets) herunter.
- Extraktion: Bundles werden in den Speicher des Geräts extrahiert
- Hot Reload: Die App wechselt zum neuen Bundle, ohne dass ein Neustart erforderlich ist
- Fallback: Wenn ein Update fehlschlägt, wird die App auf die vorherige Arbeitsversion zurückgesetzt
Nutzungsmodi
Section titled “Nutzungsmodi”1. Auto-Update-Modus (empfohlen)
Section titled “1. Auto-Update-Modus (empfohlen)”Der einfachste Weg, das Plugin mit automatischer Updateverwaltung zu nutzen:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.tsZu Ihrem capacitor.config.ts hinzufügen:
{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-update-server.com/api/updates' } }}2. Manueller Modus
Section titled “2. Manueller Modus”Für erweiterte Kontrolle über den Aktualisierungsprozess:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an updateconst bundle = await CapacitorUpdater.download({ url: 'https://your-server.com/updates/v1.0.1.zip', version: '1.0.1'});
// Set the bundle (will be used on next app start)await CapacitorUpdater.set({ id: bundle.id});
// Or reload immediatelyawait CapacitorUpdater.reload();Plattformkonfiguration
Section titled “Plattformkonfiguration”Keine zusätzliche Konfiguration erforderlich. Das Plugin funktioniert sofort.
Android
Section titled “Android”Keine zusätzliche Konfiguration erforderlich. Das Plugin funktioniert sofort.
Grundlegende API-Nutzung
Section titled “Grundlegende API-Nutzung”Laden Sie ein Update herunter
Section titled “Laden Sie ein Update herunter”import { CapacitorUpdater } from '@capgo/capacitor-updater';
const bundle = await CapacitorUpdater.download({ url: 'https://example.com/update.zip', version: '1.0.1'});
console.log('Downloaded bundle:', bundle.id);Aktives Bundle festlegen
Section titled “Aktives Bundle festlegen”// Set bundle to be used on next app startawait CapacitorUpdater.set({ id: bundle.id});Mit neuem Bundle neu laden
Section titled “Mit neuem Bundle neu laden”// Reload app immediately with new bundleawait CapacitorUpdater.reload();Bundles auflisten
Section titled “Bundles auflisten”const { bundles } = await CapacitorUpdater.list();console.log('Available bundles:', bundles);Ein Bundle löschen
Section titled “Ein Bundle löschen”await CapacitorUpdater.delete({ id: 'bundle-id'});Holen Sie sich das aktuelle Bundle
Section titled “Holen Sie sich das aktuelle Bundle”const { bundle } = await CapacitorUpdater.current();console.log('Current bundle:', bundle.version);Ereignis-Listener
Section titled “Ereignis-Listener”Achten Sie auf Aktualisierungsereignisse:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progressCapacitorUpdater.addListener('download', (info) => { console.log('Download progress:', info.percent);});
// Listen for download completionCapacitorUpdater.addListener('downloadComplete', (bundle) => { console.log('Download complete:', bundle.version);});
// Listen for update failuresCapacitorUpdater.addListener('updateFailed', (error) => { console.error('Update failed:', error);});
// Listen for successful updatesCapacitorUpdater.addListener('updateAvailable', (info) => { console.log('Update available:', info.version);});Konfigurationsoptionen
Section titled “Konfigurationsoptionen”Konfigurieren Sie das Plugin in Ihrem capacitor.config.ts:
{ plugins: { CapacitorUpdater: { // Auto-update settings autoUpdate: true, updateUrl: 'https://api.example.com/updates',
// Update behavior resetWhenUpdate: true, directUpdate: false,
// Version settings version: '1.0.0',
// Security allowModifyUrl: false,
// Stats collection statsUrl: 'https://api.example.com/stats',
// Channel (for Capgo cloud) defaultChannel: 'production' } }}Integrationsmuster
Section titled “Integrationsmuster”Mit Capgo Cloud
Section titled “Mit Capgo Cloud”Der einfachste Einstieg:
// Install the Capgo CLInpm install -g @capgo/cli
// Login to Capgonpx @capgo/cli login
// Upload your first bundlenpx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloudWeitere Informationen finden Sie in der Haupt-Schnellstartanleitung.
Selbstgehostete Updates
Section titled “Selbstgehostete Updates”Hosten Sie Ihren eigenen Update-Server:
// Configure your update endpoint{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-server.com/api/check-update' } }}Ihr Server sollte Folgendes zurückgeben:
{ "version": "1.0.1", "url": "https://your-server.com/updates/1.0.1.zip"}Ausführliche Informationen finden Sie unter Selbstgehosteter Modus.
Manueller Aktualisierungsablauf
Section titled “Manueller Aktualisierungsablauf”Vollständige Kontrolle über Updates:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
async function checkAndUpdate() { // Check for updates from your server const response = await fetch('https://api.example.com/check-update'); const { version, url } = await response.json();
// Download the update const bundle = await CapacitorUpdater.download({ url, version });
// Notify bundle is ready await CapacitorUpdater.notifyAppReady();
// Set as next version await CapacitorUpdater.set({ id: bundle.id });
// Reload when ready await CapacitorUpdater.reload();}Bewährte Methoden
Section titled “Bewährte Methoden”- Rufen Sie immer
notifyAppReady()auf, wenn Ihre App erfolgreich geladen wird - Testen Sie Updates gründlich, bevor Sie sie in die Produktion überführen
- Implementieren Sie eine ordnungsgemäße Fehlerbehandlung bei Netzwerkausfällen
- Verwenden Sie konsistent Versionsnummern
- Halten Sie die Paketgrößen klein, um schnellere Downloads zu ermöglichen
- Überwachen Sie die Erfolgsraten von Updates
Nächste Schritte- Plugin API Referenz - Vollständige API Dokumentation
Section titled “Nächste Schritte- Plugin API Referenz - Vollständige API Dokumentation”– Plugin-Einstellungen – Alle Konfigurationsoptionen – Ereignisse – Verfügbare Update-Ereignisse
- Selbstgehosteter Modus – Führen Sie Ihren eigenen Update-Server aus – Lokale Entwicklung – Updates lokal testen – Debugging – Anleitung zur Fehlerbehebung
Unterstützung
Section titled “Unterstützung”– Bekannte Probleme – Häufige Probleme und Lösungen
- GitHub Diskussionen - Community-Unterstützung
- Discord – Echtzeit-Chat