Zum Inhalt springen

Teste native Builds ohne Live-Updates

Wenn Sie einen neuen nativen Binärtest durchführen, stellen Sie sicher, dass er von den im Binärdatei verpackten Web-Ressourcen ausgeht – nicht von einem zuvor heruntergeladenen Live-Update. Verwenden Sie eine oder kombinieren Sie die folgenden Sicherheitsmaßnahmen.

Setzen Sie CapacitorUpdater.version vom für Ihre native Veröffentlichung verwendeten Version und erhöhen Sie sie für jeden nativen Build. Eine neuerere native Basis macht die installierte Binärdatei von älteren Paketen unterscheidbar und entfernt die heruntergeladenen Pakete, wenn die neueren native App installiert wird. resetWhenUpdate: trueZum Clipboard kopieren

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;

eine höhere native Basis als ein bestehendes version: '1.4.1' Paket. Verwenden Sie nicht eine nativen Version, wenn Sie die verpackten Ressourcen überprüfen müssen. 1.4.0 1. Bump the Native Baseline Version

2. Block Emulator und Entwicklungsbau-Updates in der Konsole

Abschnitt mit dem Titel “2. Block Emulator und Entwicklungsbau-Updates in der Konsole”

Öffnen Sie Ihre App in der Capgo-Konsole, gehen Sie zu Kanäle , wählen Sie den von der Bauart verwendeten Kanal aus und öffnen Sie das Informationen Fenster. Schalten Sie ab beide Entwicklungsbau erlauben und Emulatoren zulassen.

Capgo Kanal-Informationseinstellungen, die die Einstellungen für die Entwicklungsbau und die Einstellungen für Emulatoren anzeigen
Diese Kontrollen befinden sich in der Kanal-Informationseinstellungen. Deaktivieren Sie beide hervorgehobenen Einstellungen, um die Entwicklungsbau und Emulatoren auf ihren verbundenen Web-Ressourcen zu halten.

Diese Kanalrichtlinie blockiert die Lieferung von Updates nur für die ausgewählten Bauarten. Produktionssignierte physische Geräte können nach wie vor Updates entsprechend den anderen Einstellungen des Kanals erhalten.

Für Teams, die lokale, Emulatoren- und Entwicklerbausätze als sicher haben möchten, machen Sie Live-Updates über eine Umgebungsvariable opt-in. Die Konfiguration unten deaktiviert die Überprüfung von Updates, es sei denn CAPGO_LIVE_UPDATES 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 kopiert diese Konfiguration in die native Projekte während des Synchronisierens. Ohne die Variable, bleiben lokale Builds und Emulatoren-Builder autoUpdate: false und prüfen nicht nach Live-Updates.

  1. Erhöhen Sie die verwendete Version CapacitorUpdater.version für das native Binärdatei.
  2. Deaktivieren Zulassen Sie den Entwicklungsbuild und Zulassen Sie Emulatoren während der Überprüfung dieser Build-Typen im Kanal.
  3. Lokal ohne Schutz ohne CAPGO_LIVE_UPDATES.
  4. Setzen CAPGO_LIVE_UPDATES=true nur vorher npx cap sync in der nativen CI-Job, die live aktualisierte Updates erhalten soll.