Native Kompatibilität
Wie Capgo native Paketdrift erkennt und was unkompatibel für Geräte bedeutet.
Einen Setup-Befehl mit den Installations-Schritten und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Ein gängiger Capgo Setup verwendet eine Entwicklungskanal Produktionskanal context: Seite/ Bereich: Produktseite für Live-Updates. Rolle: Kurzer Benutzeroberflächentitel oder Navigationspunkt. Nachrichtenschlüssel `live_update_dynamic_label_production` (Live-Update-Dynamischer Bezeichner Produktionskanal). Kanal. CI lädt alle OTA-Bundles hoch und devdann promotet sie zu production wenn Sie bereit sind. Teams fügen oft hinzu --fail-on-incompatible damit CI versehentlich keine lebende Aktualisierung mit neuen nativen code versendet.
Diese Seite beantwortet die Nachfrage: Was tun Sie, wenn Sie absichtlich eine Paketversion benötigen, die mit den aktuellen nativen Paketen des Kanals inkompatibel ist?
Wenn Sie die Hintergrundinformationen über, warum Capgo nativen Pakete vergleicht, benötigen, beginnen Sie mit Native Kompatibilität. Für eine vollständige CI-Zweig, der OTA vs Capgo Build automatisch auswählt, sehen Sie sich bitte Auto OTA oder Native.
Diese Anleitung geht davon aus, dass die dev und production Kanäle bereits existieren. Erstellen Sie sie zuerst, wenn nötig:
npx @capgo/cli@latest channel add production com.example.appnpx @capgo/cli@latest channel add dev com.example.app| Kanal | Wer bekommt es | Typischer Upload |
|---|---|---|
dev | Interne / QA-Builds | Jeder CI-Push von JS (und absichtliche native Baselines) |
production | Benutzer des Speichers | Wird nur dann hochgeladen, wenn das Release bereit ist |
--fail-on-incompatible ist eine gute Standard-Einstellung für beide Kanäle für alltägliche OTA-Uploads. Es vergleicht die native Pakete in der zu hochladenden Bundle mit dem derzeit live auf diesem Kanal verfügbaren Bundle Wenn sie sich unterscheiden, verlässt die Upload mit einem nicht-null-Wert und nichts wird verschicktAlltägliche OTA (Flag behalten)
Terminal-Fenster
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible blockt einen ungewollten nativen Abdrift. --auto-min-update-version erforderlich bei jedem Upload, sobald das Kanal den metadata Strategie (empfohlen unten) verwendet. Wenn der Kanal noch nicht auf metadata ist, können Sie dies --auto-min-update-version bis Sie umschalten.
Optional CI-Sperre vor dem Upload:
npx @capgo/cli@latest bundle releaseType com.example.app --channel production# → OTA safe to upload with --fail-on-incompatible# → native stop; ship a native binary first (see below)Sie kann nicht ein Bundle hochladen, das eine neue native code benötigt, während man --fail-on-incompatible. Diese Flag ist vorhanden, um genau diesen Fall zu blockieren. Wenn ein Plugin, die Capacitor Version oder eine andere native Abhängigkeit absichtlich geändert wird:
--fail-on-incompatible.--auto-min-update-version mit dem Kanal auf der metadata Strategie, damit Geräte, die noch auf der alten Binärdatei sind, das neue Bundle nicht erhalten, bis sie die neue App installieren.--fail-on-incompatible Wieder auf normale OTA CI (und behalten --auto-min-update-version Während der Kanal weiterhin auf metadata).Eine einmalige pro Kanal: Aktivieren Sie die Metadaten-Gatterung
npx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadataWiederholen Sie dies für dev ob dieser Kanal auch absichtlich native Grundlagen erhält. Nach diesem Wechsel müssen alle Uploads an den Kanal die neue native Basis enthalten --auto-min-update-version oder --min-update-version.
Kanalmeldung
Die native Binärdatei versenden
Die iOS/Android-App erstellen und einreichen, die die neuen Plugins oder native Änderungen enthält. Bis die Benutzer diese Binärdatei installieren, können sie eine Abhängigkeit von diesen native Paketen nicht sicher ausführen. --fail-on-incompatible)
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --auto-min-update-versionDies registriert die neuen native Pakete auf dem Kanal. Später bundle releaseType / --fail-on-incompatible prüfen die Baseline.
OTA-Uploads wieder aufnehmen
Spätere JS-only-Veröffentlichungen verwenden beide Flags erneut:
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible Kann ich --fail-on-inkompatibel lassen und trotzdem einen native-inkompatiblen Bundle pushen?wenn Sie können). --auto-min-update-version Ist eine einmalige Upload ohne den Flag die richtige Vorgehensweise?
Ja. Das ist die unterstützte Methode, um die native Basis des Kanals nach dem Versand eines neuen Binärs voranzutreiben. Lassen Sie den Flag auf jedem anderen OTA-Upload, damit unbeabsichtigter native Drift immer noch CI versagt.
dev Zuerst, dann production?Ja, wenn das Ihrem Prozess entspricht. Führen Sie die gleichen Regeln auf jedem Channel durch pro Channel: Die Kompatibilitätsprüfung erfolgt gegen das aktuelle Live-Content auf dem Ziel-Channel. Fördern oder hochladen Sie nur nachdem production nur nachdem dev sich gut anfühlt, und verwenden Sie eine native-Baseline-Hochladung (keine --fail-on-incompatible) auf jedem Channel, das die neuen native Pakete aufnehmen muss.
Der CI-Fehler und Capgo werden nicht geliefert. Das ist die erwartete Ausgabe. Entweder war der Fehler versehentlich (korrigieren Sie die native Pakete und versuchen Sie es erneut als OTA), oder es war absichtlich (verwenden Sie den native Weg oben).
| Pfad | Wenn | Upload-Flags |
|---|---|---|
| OTA | JS nur; native Pakete entsprechen dem Kanal | --fail-on-incompatible + --auto-min-update-version Wird benötigt, wenn der Kanal auf metadata) |
| Native Basis | Neuer natives Binär + passende JS-Bundle | Nein --fail-on-incompatible; behalten --auto-min-update-version |
Native Kompatibilität
Wie Capgo native Paketdrift erkennt und was unkompatibel für Geräte bedeutet.
Auto OTA oder Native
Wire bundle releaseType GitHub Aktionen oder GitLab so, dass CI den richtigen Weg wählt.
Zielgruppennavigation
context: Seite/ Bereich: Capgo-Lösungen-Marketingseite. Rolle: Abschnitt oder Seitenüberschrift. Gesehen in: Seite Lösungen/Zielgruppennavigation.astro. Nachrichtenschlüssel `solutions_version_targeting_title` (Lösungen Zielgruppennavigation Titel). | Seite/ Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurze Benutzeroberflächenebene oder Navigationselement. Gesehen in: Seite Lösungen/Zielgruppennavigation.astro. Nachrichtenschlüssel `solutions_version_targeting` (Lösungen Zielgruppennavigation)
CLI: bundle
__CAPGO_KEEP_0__: Paket
Wenn Sie Native + OTA-Kanal-Workflow verwenden Native + OTA-Kanal-Workflow um Live-Updates sicher über Native-Ausgaben zu halten, verbinden Sie es mit Native-Kompatibilität zur Verwendung von Paketvergleichsregeln Auto OTA oder Native zur Verwendung von CI-Branching Zielversionierung zum Kontext von Version-Targeting (Seite/Area: Capgo-Lösungen-Marketing-Seite. Rolle: Abschnitt oder Seiteüberschrift. Gesehen in: Seite Lösungen/Zielversionierung.astro. Nachrichtenschlüssel `solutions_version_targeting_title` (Lösungen-Zielversionierung-Titel). | Seite/Area: Capgo-Lösungen-Marketing-Seite. Rolle: Kurzer Benutzerschnittstelle-Label oder Navigationselement. Gesehen in: Seite Lösungen/Zielversionierung.astro. Nachrichtenschlüssel `solutions_version_targeting` (Lösungen-Zielversionierung)) Capgo CLI bundle reference __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ Bundle-Referenz zur Verwendung von Uploadflags.