Zum Inhalt springen

Native Builds ohne Live-Updates testen

Wenn Sie ein neues natives Binärtesten, stellen Sie sicher, dass es von den im Binär-Web-Assets verpackten Assets startet – nicht von einem zuvor heruntergeladenen Live-Update. Verwenden Sie eine oder kombinieren Sie die folgenden Sicherheitsvorkehrungen.

Setzen CapacitorUpdater.version von der für Ihre native Veröffentlichung verwendeten Version und erhöhen es für jeden native Build. Ein neueres native Baseline macht die installierte Binärdatei von älteren Paketen unterscheidbar und, mit der Standard resetWhenUpdate: true, entfernt heruntergeladene Pakete, wenn das neuere native App installiert ist.

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

Beispiel: Ein mit version: '1.4.1' erstelltes Binär hat eine höhere native Baseline als ein bestehendes 1.4.0 Paket. Verwenden Sie nicht eine native Version, wenn Sie die in den gebundenen Assets überprüfen müssen.

2. Emulator- und Entwicklungsbau-Updates in der Konsole blockieren

Abschnitt mit Titel „2. Emulator- und Entwicklungsbau-Updates in der Konsole blockieren“

Öffnen Sie Ihre App im Capgo-Konsole, gehen Sie zu , wählen Sie den von der Build verwendeten Kanal und öffnen Sie die Information Channels Schalt. Aus aus beide Ermögliche Entwicklungsbuilds und context: Seite/ Bereich: Capgo-Marketing-Website. Rolle: Kurzer UI-Label oder Navigationspunkt. Anzeige in: Seite trust.astro. Schlüsselwort `und` (Und)..

Capgo channel Information tab showing the Allow development build and Allow Emulators settings
__CAPGO_KEEP_0__ Kanal-Informationen-Tabelle, die Einstellungen für Ermögliche Entwicklungsbuilds und Ermögliche Emulatoren

Die Screenshot zeigt, wo die Einstellungen zu finden sind; die hervorgehobenen Schaltflächen sind aktiviert. Schalten Sie beide Schaltflächen aus, um einen Kanal zu konfigurieren, der keine Live-Updates an Entwicklungsbuilds oder Emulatoren liefern muss. Dieser Kanal-richtlinie blockiert die Update-Übermittlung nur für die ausgewählten Build-Typen. Physikalische Geräte, die mit einem Produktionszertifikat signiert sind, können weiterhin Updates erhalten, abhängig von den anderen Einstellungen des Kanals.

3. Nur Live-Updates in CI-Builds aktivieren

Abschnitt: 3. Nur Live-Updates in CI-Builds aktivieren

Für Teams, die lokale, Emulator- und Entwickler-Builds standardmäßig sicher machen möchten, machen Sie Live-Updates über eine Umgebungsvariable opt-in. Die folgende Konfiguration deaktiviert die Update-Überprüfungen, es sei denn CAPGO_LIVE_UPDATES ist genau true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

Setzen Sie die Variable nur in dem CI-Schritt, der die native App synchronisiert und baut:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

Ausführen npx cap sync nachdem die Variable gesetzt wurde, weil Capacitor diese Konfiguration in die native Projekte während der Synchronisierung kopiert. Ohne die Variable führen lokale Builds und Emulator-Builds autoUpdate: false und prüfen nicht nach Live-Updates.

Rapid-Überprüfungsliste

Abschnitt: Rapid-Überprüfungsliste
  1. Erhöhen Sie die verwendete Version für CapacitorUpdater.version den native Binärdatei.
  2. Deaktivieren Entwicklungsbuild zulassen und context: Capgo Marketing-Website. Rolle: Kurzer UI-Label oder Navigationselement. Gesehen in: Seite trust.astro. Nachrichtsschlüssel `und` (Und). Emulatoren zulassen
  3. auf dem Kanal, wenn Sie diese Build-Typen testen. CAPGO_LIVE_UPDATES.
  4. Lokal ohne CAPGO_LIVE_UPDATES=true Setzen npx cap sync nur vor
Zugehörige