Einstieg
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-updater`
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/docs/plugins/updater/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.
Installation
Abschnitt mit dem Titel „Installation“bun add @capgo/capacitor-updaterbunx cap syncyarn add @capgo/capacitor-updaterbunx cap syncpnpm add @capgo/capacitor-updaterbunx cap syncbun add @capgo/capacitor-updaterbunx cap syncSchnellstart
Abschnitt mit dem Titel „Schnellstart“Für die meisten Benutzer empfehlen wir, sich anhand des Haupt-Schnellstartanleitungs zu orientieren, der sowohl die Plugin-Installation als auch Capgo die Cloudintegration abdeckt.
Diese Anleitung zur Einführung konzentriert sich auf die technischen Plugin-Details für fortgeschrittene Benutzer, die die zugrunde liegenden Mechanismen verstehen möchten oder selbst gehostete Updates implementieren möchten.
Übersicht
ÜbersichtDer Capacitor-Updater-Plugin ermöglicht über das Internet (OTA) Updates für Ihre Capacitor-Anwendungen. Dies ermöglicht es Ihnen, Updates an Ihre App ohne die Überprüfung durch das App-Store zu pushen.
Wie es funktioniert
Wie es funktioniert- Bundle-DownloadDer Plugin herunterlädt Update-Bundles (ZIP-Dateien, die Ihre Web-Assets enthalten)
- ExtraktionBundles werden auf das Gerätespeicher extrahiert
- Hot-ReloadDie App wechselt zu dem neuen Bundle ohne eine Neustart zu erfordern
- Fallback: Wenn ein Update fehlschlägt, kehrt die App zur vorherigen funktionierenden Version zurück
Verwendungsmöglichkeiten
Abschnitt mit dem Titel „Verwendungsmöglichkeiten“1. Automatischer Update-Modus (Empfohlen)
Abschnitt mit dem Titel „1. Automatischer Update-Modus (Empfohlen)“Der einfachste Weg, das Plugin mit automatischer Update-Verwaltung zu verwenden:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.tsHinzufügen zu deinem capacitor.config.ts:
{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-update-server.com/api/updates' } }}2. Manueller Modus
Abschnitt mit dem Titel „2. Manueller Modus“Für eine fortgeschrittene Kontrolle über den Update-Prozess:
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();Plattform-Konfiguration
Abschnitt mit dem Titel „Plattform-Konfiguration“Keine weitere Konfiguration erforderlich. Der Plugin funktioniert direkt aus der Box.
Keine weitere Konfiguration erforderlich. Der Plugin funktioniert direkt aus der Box.
Grundlegende API Verwendung
Abschnitt mit dem Titel „Grundlegende API Verwendung“Download einer Aktualisierung
Abschnitt mit dem Titel „Ein Update herunterladen“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 setzen
Abschnitt mit dem Titel „Aktives Bundle setzen“// Set bundle to be used on next app startawait CapacitorUpdater.set({ id: bundle.id});Mit neuem Bundle neu laden
Abschnitt mit dem Titel „Mit neuem Bundle neu laden“// Reload app immediately with new bundleawait CapacitorUpdater.reload();Bundles auflisten
Abschnitt mit dem Titel „Bundles auflisten“const { bundles } = await CapacitorUpdater.list();console.log('Available bundles:', bundles);Ein Bundle löschen
Abschnitt mit dem Titel „Ein Bundle löschen“await CapacitorUpdater.delete({ id: 'bundle-id'});Aktuelles Bundle abrufen
Abschnitt mit dem Titel „Aktuelles Bundle abrufen“const { bundle } = await CapacitorUpdater.current();console.log('Current bundle:', bundle.version);Ereignis-Listener
Abschnitt mit dem Titel „Ereignis-Listener“Für Aktualisierungsereignisse abrufen:
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
Abschnitt mit dem Titel „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' } }}Integrationsschemata
Abschnitt mit dem Titel „Integrationsschemata“Mit Capgo Cloud
Abschnitt mit dem Titel „Mit Capgo Cloud“Der einfachste Weg, loszulegen:
// Install the Capgo CLIbun add -g @capgo/cli
// Login to Capgonpx @capgo/cli login
// Upload your first bundlenpx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloudSiehe den Haupt-Quickstart-Leitfaden für Details.
Selbstgehostete Updates
Abschnitt mit dem Titel „Selbstgehostete Updates“Ihr eigenen Update-Server hosten:
// 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"}Siehe Selbstgeführter Modus für weitere Details.
Manueller Update-Flow
Abschnitt mit dem Titel “Manueller Update-Flow”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();}Gute Praktiken
Abschnitt mit dem Titel “Best Practices”- Rufen Sie immer auf
notifyAppReady()wenn Ihre App erfolgreich geladen wird - Testen Sie Updates gründlich, bevor Sie sie in die Produktion puschen
- Implementieren Sie eine ordnungsgemäße Fehlerbehandlung für Netzwerkfehler
- Verwenden Sie Versionsnummern konsistent
- Halten Sie die Größe der Pakete klein, um die Herunterladegeschwindigkeit zu erhöhen
- Überwachen Sie die Erfolgsraten von Updates
Weitere Schritte
Abschnitt mit dem Titel “Weitere Schritte”- Plugin API-Referenz - Fertigstellen Sie die API-Dokumentation
- Einstellungen für Plugins - Alle Konfigurationsoptionen
- Events - Verfügbare Aktualisierungsereignisse
- Eigenständiger Modus - Führen Sie Ihren eigenen Update-Server aus
- Lokale Entwicklung - Testen Sie Updates lokal
- Fehlersuche - Fehlersuchleitfaden
Support
- Unterstützung- Known Issues - Gemeinsame Probleme und Lösungen
- GitHub Diskussionen - Gemeinschaftsunterstützung
- Discord - Echtzeit-Chat