Zum Inhalt springen

Native Builds ohne Live-Updates testen

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

Einstellen CapacitorUpdater.version aus 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' hat ein höheres native Baseline als ein bestehendes 1.4.0 Paket. Verwenden Sie nicht eine native Version, wenn Sie die gebundenen Assets überprüfen müssen.

2. Blockieren Sie Emulator- und Entwicklungsbau-Updates im Konsole

Abschnitt mit dem Titel „2. Blockieren Sie Emulator- und Entwicklungsbau-Updates im Konsole“

Öffnen Sie Ihre App in der Capgo Konsole, gehen Sie zu KanäleKontext: Capgo-Releasekanäle-Funktion. Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurzer UI-Label oder Navigationselement. Gesehen in: Seite Lösungen/White-Label.astro. Nachrichten Schlüssel `solutions_white_label_visual_cell2_value` (Lösungen White-Label Visual Cell2 Wert). , wählen Sie den von der Build verwendeten Kanal und öffnen Sie die Schalt. Ausschalten aus beide Entwicklungsbau erlauben und Emulatoren erlauben.

Capgo Kanalinformationen: Die Einstellungen für Entwicklungsbau und Emulatoren
Diese Einstellungen befinden sich in der Kanalinformationen. Deaktivieren Sie beide hervorgehobenen Einstellungen, um Entwicklungsbau und Emulatoren auf ihren verbundenen Web-Assets zu belassen.

Dieser Kanalrichtlinie blockiert die Update-Übermittlung nur für die ausgewählten Bauarten. Produktionssignierte physische Geräte können nach wie vor Updates entsprechend den anderen Einstellungen des Kanals erhalten.

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, können Sie Live-Updates über eine Umgebungsvariable aktivieren. 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, da Capacitor diese Konfiguration während der Synchronisierung in die native Projekte kopiert. Ohne die Variable führen lokale Builds und Emulator-Builds aus autoUpdate: false und prüfen nicht nach Live-Updates.

Rapid-Überprüfungsliste

Abschnitt: Rapid-Überprüfungsliste
  1. Erhöhen Sie die verwendete Version durch CapacitorUpdater.version für das native Binärdatei.
  2. Deaktivieren Zulassen Entwicklungsbuild und Zulassen Emulatoren ohne lokale
  3. Setzen CAPGO_LIVE_UPDATES.
  4. nur vor CAPGO_LIVE_UPDATES=true in der native CI-Aufgabe, die Live-Updates erhalten soll. npx cap sync Zugehörige
Bezogene Inhalte