Versionzielung
Einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Diese Anleitung erklärt, wie Sie automatisch dem neuesten kompatiblen Bundle an Benutzer liefern können, basierend auf ihrer native App-Version. Ähnlich wie Ionic AppFlows Ansatz.. Dies stellt eine vereinfachte Update-Verwaltung und schnellere Bereitstellungen sicher, während gleichzeitig Kompatibilitätsprobleme verhindert werden.
Übersicht
Sektion mit dem Titel „Übersicht“Capgo's Versionsziel-System ermöglicht Ihnen:
- Automatisch kompatible Updates bereitzustellen benötigten Benutzern auf der Grundlage ihrer native App-Version
- Verhindern Sie Änderungen, die die Anwendung beschädigen von inkompatiblen App-Versionen
- Verwalten Sie mehrere App-Versionen gleichzeitig ohne komplexes Logik
- Erledigen Sie Updates ohne Unterbrechung benötigten Benutzern bestimmte Segmente
Weshalb Version-Zielgruppierung wichtig ist (Besonders für AppFlow-Nutzer)
Sektion mit dem Titel “Weshalb Version-Zielgruppierung wichtig ist (Besonders für AppFlow-Nutzer)”Wenn Sie mit Ionic AppFlow vertraut sind , wissen Sie, wie wichtig es ist, sicherzustellen, dass Benutzer nur kompatible Updates erhalten. AppFlow matchte automatisch Live-Update-Bundles mit native App-Versionen, um inkompatibles JavaScript von älteren native __CAPGO_KEEP_0__ zu verhindern., you know how critical it is to ensure users receive only compatible updates. AppFlow automatically matched live update bundles to native app versions, preventing incompatible JavaScript from being delivered to older native code.
Capgo bietet die gleichen Sicherheitsgarantien, mit zusätzlichen Funktionen:
- Feinere Kontrolle über die Versionsübereinstimmung
- Mehrfache Strategien (Kanäle, semver, native Einschränkungen)
- Bessere Sichtbarkeit in die Versionsverteilung
- API und CLI steuern neben der Dashboard-Verwaltung
Diese Vorgehensweise ist insbesondere nützlich, wenn:
- Sie haben Benutzer auf verschiedenen Hauptversionen Ihrer App (z.B. v1.x, v2.x, v3.x)
- Sie müssen die rückwärtskompatiblen Änderungen aufrechterhalten, während Sie die unterbrechenden Änderungen einführen
- Sie möchten verhindern, dass neue Pakete ältere native code beschädigen
- Sie migrieren die Benutzer allmählich von einer Version zur anderen
- Sie migrieren von AppFlow und möchte die gleiche Update-Sicherheit aufrechterhalten
Wie es funktioniert
Abschnitt mit dem Titel „Wie es funktioniert“Capgo verwendet eine mehrschichtige Ansicht, um Benutzer mit kompatiblen Updates zu verbinden:
- Native Version Constraints: Verhindert, dass Pakete an inkompatiblen native Versionen geliefert werden
- Channel-Based Routing: Routet verschiedene App-Versionen zu verschiedenen Update-Kanälen
- Semantic Versioning Controls: Blockiert automatisch Updates über Major-/Minor- bzw. Patch-Grenzen
- Device-Level Overrides: Zieht spezifische Geräte oder Benutzergruppen ins Visier
Versionsübereinstimmungs-Flow
Abschnitt mit dem Titel „Versionsübereinstimmungs-Flow“graph TD A[User Opens App] --> B{Check Device Override} B -->|Override Set| C[Use Override Channel] B -->|No Override| D{Check local plugin channel} D -->|setChannel value| E[Use local setChannel channel] D -->|No local channel| F{Check defaultChannel in App} F -->|Has defaultChannel| G[Use App's defaultChannel] F -->|No defaultChannel| H[Use Cloud Default Channel] C --> I{Check Version Constraints} E --> I G --> I H --> I I -->|Compatible| J[Deliver Update] I -->|Incompatible| K[Skip Update]Strategie 1: Kanalbasierte Versionsrouting
Abschnitt mit dem Titel „Strategie 1: Kanalbasierte Versionsrouting“Dies ist die empfohlene Vorgehensweise für die Verwaltung von Bruchänderungen und wichtigen Versionsupdates. Sie ähnelt dem Liefermodell von AppFlow.
Beispiel-Szenario
Abschnitt mit dem Titel „Beispiel-Szenario“- App v1.x (100.000 Benutzer) →
productionKanal - App v2.x (50.000 Benutzer mit Änderungen, die den Betrieb beeinträchtigen) →
v2Kanal - App v3.x (10.000 Beta-Benutzer) →
v3Kanal
Implementierung
Abschnitt mit dem Titel „Implementierung“Schritt 1: Konfigurieren Sie Kanäle für jede Hauptversion
Abschnitt mit dem Titel „Schritt 1: Konfigurieren Sie Kanäle für jede Hauptversion“// capacitor.config.ts for version 1.x buildsimport { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', defaultChannel: 'production', // or omit for default } }};
export default config;// capacitor.config.ts for version 2.x buildsconst config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', defaultChannel: 'v2', // Routes v2 users automatically } }};// capacitor.config.ts for version 3.x buildsconst config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', defaultChannel: 'v3', // Routes v3 users automatically } }};Schritt 2: Erstellen von Kanälen
Abschnitt mit dem Titel „Schritt 2: Erstellen von Kanälen“# Create channels for each major versionnpx @capgo/cli channel create productionnpx @capgo/cli channel create v2npx @capgo/cli channel create v3
# Enable self-assignment so apps can switch channelsnpx @capgo/cli channel set production --self-assignnpx @capgo/cli channel set v2 --self-assignnpx @capgo/cli channel set v3 --self-assignSchritt 3: Hochladen von Versionsspezifischen Paketen
Abschnitt mit dem Titel „Schritt 3: Hochladen von Versionsspezifischen Paketen“# For v1.x users (from v1-maintenance branch)git checkout v1-maintenancenpm run buildnpx @capgo/cli bundle upload --channel production
# For v2.x users (from v2-maintenance or main branch)git checkout mainnpm run buildnpx @capgo/cli bundle upload --channel v2
# For v3.x users (from beta/v3 branch)git checkout betanpm run buildnpx @capgo/cli bundle upload --channel v3- Zero code changes Keine __CAPGO_KEEP_0__-Änderungen
- - Der Kanalrouting erfolgt automatisch - Jede Version hat ihren eigenen Update-Pipeline
- - Flexible Zielsetzung - Push-Updates an bestimmte Versionen senden
- - Sichere Rollouts - Bruchstellen ändern nie inkompatible Versionen
Strategie 2: Kontrolle über semantische Versionen
Überschrift: ‘Strategie 2: Kontrolle über semantische Versionen’Verwenden Sie Capgo’s eingebauten semantische Versionskontrolle um Updates über Versionsgrenzen zu verhindern.
Automatische Updates über Hauptversionen deaktivieren
Überschrift: ‘Automatische Updates über Hauptversionen deaktivieren’# Create a channel that blocks major version updatesnpx @capgo/cli channel create stable --disable-auto-update majorDiese Konfiguration bedeutet:
- Benutzer mit der App-Version 1.2.3 werden Updates bis zu 1.9.9
- Benutzer erhalten NICHT keine Version 2.0.0 automatisch
- Verhindert, dass bruchiale Änderungen älteren native code
- Die Vergleichung verwendet die native Basislinie, die als
version_build
Feingranulare Kontrollmöglichkeiten
Abschnitt mit dem Titel “Feingranulare Kontrollmöglichkeiten”# Block target bundles outside the native major.minor line (1.2.x won't get 1.3.0)npx @capgo/cli channel set stable --disable-auto-update minor
# Block target bundles outside the exact native MAJOR.MINOR.PATCH core (1.2.3 won't get 1.2.4)npx @capgo/cli channel set stable --disable-auto-update patch
# Allow all updatesnpx @capgo/cli channel set stable --disable-auto-update noneStrategie 3: Native Version Constraints
Abschnitt mit dem Titel „Strategie 3: Native Version Constraints“Legen Sie eine Mindestversion des native Apps (min_update_version) auf jedem Bundle fest, damit Capgo nur an Geräten mit einer neuen genügend großen native Binärdatei geliefert wird.
Dies verwendet die Kanal Metadaten--disable-auto-update metadataStrategie ( --min-update-version oder --auto-min-update-version __CAPGO_KEEP_0__ --native-version CLI flag.
Abschnitt: Enable metadata targeting auf dem Kanal
Terminalfenster# one-time: require min_update_version metadata on uploads to this channelnpx @capgo/cli@latest channel set production --disable-auto-update metadataAbschnitt: Setzen Sie eine Mindestversion für native Apps auf Upload
Wenn Sie ein Bundle hochladen, geben Sie die niedrigste native Version an, die es empfangen kann:Terminalfenster
# This bundle requires native version 2.0.0 or highernpx @capgo/cli@latest bundle upload \ --channel production \ --min-update-version "2.0.0"Oder lassen Sie Capgo die Grenze von der nativen Paketkompatibilität setzen:
npx @capgo/cli@latest bundle upload \ --channel production \ --auto-min-update-versionAnwendungsfälle
Abschnitt mit dem Titel “Verwendungsfälle”-
Neuer Native-Plugin erforderlich
Terminal-Fenster # Bundle needs Camera plugin added in v2.0.0npx @capgo/cli@latest bundle upload \--channel production \--min-update-version "2.0.0" -
Kritische Native API-Änderungen
Terminal-Fenster # Bundle uses new Capacitor 6 APIsnpx @capgo/cli@latest bundle upload \--channel production \--min-update-version "3.0.0" -
Schrittweiser Umstieg
Terminal-Fenster # one-time: enable metadata gating on betanpx @capgo/cli@latest channel set beta --disable-auto-update metadata# Test bundle only on latest native versionnpx @capgo/cli@latest bundle upload \--channel beta \--min-update-version "2.5.0"
Strategie 4: Vermeidung von automatischen Downgrades
Abschnitt mit dem Titel “Strategie 4: Vermeidung von automatischen Downgrades”Verhindere, dass Benutzer Pakete erhalten, die älter sind als ihre aktuelle native Version.
Enable in Kanal-Einstellungen
Sektion mit dem Titel “Enable in Kanal-Einstellungen”Im Capgo-Dashboard:
- Gehe zu Kanäle Kanal
- → Wähle deinen Kanal Enable
- “Deaktiviere automatische Downgrade unter native”
Or via CLI:
npx @capgo/cli@latest channel set production --no-downgrade- Geräte des Benutzers: Native Version 1.2.5
- Kanal-Paket: Version 1.2.3
- Ergebnis: Aktualisierung wird blockiert (würde eine Downgrade darstellen)
Dies ist nützlich, wenn:
- Benutzer haben eine neuere Version manuell aus dem App-Store installiert
- Sie sicherstellen müssen, dass Benutzer immer die neuesten Sicherheitspatches erhalten
- Sie möchten Regressionsfehler verhindern
Strategie 5: Gerätebasierte Zielgruppenabgrenzung
Abschnitt mit dem Titel “Strategie 5: Geräteebene Zielsetzung”Überschreiben Sie die Kanalzuweisung für bestimmte Geräte oder Benutzergruppen.
Zwingende Spezifische Version für Tests
Abschnitt mit dem Titel “Zwingende Spezifische Version für Tests”import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Force beta testers to use v3 channelasync function assignBetaTesters() { const deviceId = await CapacitorUpdater.getDeviceId()
// Check if user is beta tester if (isBetaTester(userId)) { await CapacitorUpdater.setChannel({ channel: 'v3' }) }}Übersicht Geräteüberschreibung
Abschnitt mit dem Titel “Übersicht Geräteüberschreibung”In der Capgo-Übersicht:
- Gehe zu Geräte → Gerät finden
- Klicken Set Kanal oder Set Version
- Überschreiben mit spezifischem Kanal- oder Bundle-Version
- Das Gerät erhält Updates aus dem überschriebenen Quellcode
Vollständiger AppFlow-Style Workflow
Abschnitt mit dem Titel „Vollständiger AppFlow-Style Workflow“Hier ist ein vollständiges Beispiel, das alle Strategien kombiniert:
1. Initialisierung (App v1.0.0)
Abschnitt mit dem Titel “1. Initial Setup (App v1.0.0)”# Create production channel, then enable metadata min-version gatingnpx @capgo/cli@latest channel add productionnpx @capgo/cli@latest channel set production \ --disable-auto-update metadata \ --no-downgradeconst config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', defaultChannel: 'production', } }};2. Release Breaking Change (App v2.0.0)
Abschnitt mit dem Titel “2. Release Breaking Change (App v2.0.0)”# Create v2 channel for new versionnpx @capgo/cli@latest channel add v2npx @capgo/cli@latest channel set v2 \ --disable-auto-update metadata \ --no-downgrade \ --self-assign
# Create git branch for v1 maintenancegit checkout -b v1-maintenancegit push origin v1-maintenance// capacitor.config.ts for v2.0.0const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', defaultChannel: 'v2', // New users get v2 channel } }};3. Push Updates zu Beiden Versionen
Abschnitt mit dem Titel “3. Push Updates zu Beiden Versionen”# Update v1.x users (bug fix)git checkout v1-maintenance# Make changesnpx @capgo/cli@latest bundle upload \ --channel production \ --min-update-version "1.0.0"
# Update v2.x users (new feature)git checkout main# Make changesnpx @capgo/cli@latest bundle upload \ --channel v2 \ --min-update-version "2.0.0"4. Versionsverteilung überwachen
Abschnitt "4. Versionsverteilung überwachen"Verwende das Capgo-Dashboard, um zu überwachen:
- Wie viele Benutzer sind auf v1 gegenüber v2
- Zuordnungsrate pro Version
- Fehler oder Abstürze pro Version
5. Veraltete Version deaktivieren
Abschnitt "5. Veraltete Version deaktivieren"Wenn die v1-Nutzung unter der Schwellenwert fällt:
# Stop uploading to production channel# Optional: Delete v1 maintenance branchgit branch -d v1-maintenance
# Move all remaining users to default# (They'll need to update via app store)Kanalvorrang
Abschnitt mit dem Titel „Kanalvorrang“Wenn mehrere Kanalkonfigurationen existieren, verwendet Capgo diese Vorrangreihenfolge:
- Geräteüberschreibung (Dashboard oder API) - Höchster Priorität und sichtbar in der Geräteüberschreibungs-UI
- Lokaler Pluginkanal via
setChannel()- Auf dem Gerät nur gespeichert und nicht in der Geräteüberschreibungs-UI angezeigt - defaultChannel in capacitor.config.ts
- Standardkanal (Cloudflare-Einstellung) - Niedrigste Priorität
Empfehlungen
Sektion mit dem Titel "Empfehlungen"1. Stellen Sie immer die Standardkanal-Einstellung für Hauptversionen ein
Abschnitt mit dem Titel „1. Setze immer defaultChannel für große Versionen“// ✅ Good: Each major version has explicit channel// v1.x → production// v2.x → v2// v3.x → v3
// ❌ Bad: Relying on dynamic channel switching// All versions → production, switch manually2. Verwende semantische Versionsnummerierung
Abschnitt mit dem Titel „2. Verwende semantische Versionsnummerierung“# ✅ Good1.0.0 → 1.0.1 → 1.1.0 → 2.0.0
# ❌ Bad1.0 → 1.1 → 2 → 2.53. Halte separate Zweige aufrecht
Abschnitt mit dem Titel „3. Halte separate Zweige aufrecht“# ✅ Good: Separate branches per major versionmain (v3.x)v2-maintenance (v2.x)v1-maintenance (v1.x)
# ❌ Bad: Single branch for all versions4. Teste vor der Veröffentlichung
Abschnitt mit dem Titel „4. Teste vor der Veröffentlichung“# one-time: create beta and enable metadata gating# (production is set up in the complete workflow above)npx @capgo/cli@latest channel add betanpx @capgo/cli@latest channel set beta --disable-auto-update metadata
# Test on beta channel firstnpx @capgo/cli@latest bundle upload \ --channel beta \ --auto-min-update-version
# Monitor for issues, then promote to productionnpx @capgo/cli@latest bundle upload \ --channel production \ --auto-min-update-version5. Versionsverteilung überwachen
Abschnitt mit dem Titel „5. Versionsverteilung überwachen“Überprüfen Sie regelmäßig Ihr Dashboard:
- Stellen Benutzer eine Upgrade auf neueren native Versionen vor?
- Bekommen alte Versionen noch viel Traffic?
- Sollten Sie alte Kanäle deprecieren?
Vergleich mit Ionic AppFlow
Abschnitt mit dem Titel „Vergleich mit Ionic AppFlow“Für Teams, die von Ionic AppFlow migrieren Ionic AppFlow, hier ist der Vergleich von Capgo’s Version-Zielgruppierung:
| Feature | Ionischer AppFlow | Capgo |
|---|---|---|
| Version-basierte Routenführung | Automatisch basierend auf nativer Version | Automatisch über defaultChannel + mehrere Strategien |
| Semantische Versionsnummer | Grundlegende Unterstützung | Erweitert mit --disable-auto-update (Major/Minor/Patch) |
| Native Version Einschränkungen | Manuelle Konfiguration im AppFlow-Dashboard | Integriert --min-update-version / --auto-min-update-version mit Metadatenkanälen |
| Kanalverwaltung | Web-UI + CLI | Web-UI + CLI + API |
| Geräteüberschreibungen | Eingeschränkte Geräteeinflussnahme | Vollständige Kontrolle über das Dashboard/API |
| Verhinderung von Downgraden | Ja | Ja über --no-downgrade |
| Multi-Version-Wartung | Manuelle Verwaltung von Branchen/Canälen | Automatisiert mit Vorrang vor dem Kanal |
| Selbsthosting | Nein | Ja (vollständige Kontrolle) |
| Versionen-Analyse | Grundlegend | Detaillierte pro-Version-Metriken |
Schwierigkeitsfälle
Abschnitt mit dem Titel ‘Schwierigkeitsfälle’Benutzer erhalten keine Updates
Abschnitt mit dem Titel ‘Benutzer erhalten keine Updates’Überprüfen Sie Folgendes:
-
Kanalzuweisung: Überprüfen Sie, ob das Gerät auf dem richtigen Kanal ist
const channel = await CapacitorUpdater.getChannel()console.log('Current channel:', channel) -
Versionsbeschränkungen: Überprüfen Sie, ob das Bundle native Versionen anfordert
- Dashboard → Bundles → Überprüfen Sie die Spalte „Native Version“
-
Semver-Einstellungen: Überprüfen Sie die des Kanals
disable-auto-updateEinstellungTerminalfenster npx @capgo/cli channel list -
Geräteüberschreibung: Überprüfen Sie, ob das Gerät eine manuelle Überschreibung hat
- Dashboard → Geräte → Gerät suchen → Kanal/Versionsnummer überprüfen
Bundle wurde an falsche Version geliefert
Abschnitt mit dem Titel „Bundle wurde an falsche Version geliefert“- Überprüfen Sie die Standardkanal: Stellen Sie sicher, dass der richtige Kanal in
capacitor.config.ts - Überprüfen Sie die Bundle-Uploads: Überprüfen Sie, ob die Bundle auf den beabsichtigten Kanal hochgeladen wurde
- Überprüfen Sie die Mindestaktualisierungsversion: Bestätigen Sie
--min-update-version(oder--auto-min-update-version) wurde festgelegt und der Kanal verwendet--disable-auto-update metadata
Änderungen, die ältere Versionen betreffen
Abschnitt mit dem Titel “Änderungen, die ältere Versionen betreffen”- Eilmaßnahme: Aktivieren Sie die betroffenen Geräte auf die sichere Bundle
- Zentrale Oberfläche → Geräte → Masseauswahl → Versionsnummer setzen
- Langfristige Korrektur: Erstellen Sie kanalisierte Versionen und pflegen Sie separate Zweige
- Prävention: Testen Sie Updates immer auf repräsentativen Geräten vor der Ausrollung
Migration von Ionic AppFlow
Abschnitt mit dem Titel “Migration von Ionic AppFlow”Wenn Sie von Ionic AppFlow migrieren Ionic AppFlow, funktioniert die Versionszielelementierung ähnlich in Capgo, mit verbessertem Flexibilität:
Konzeptkarte
Abschnitt mit dem Titel “Konzeptkarte”| AppFlow Konzept | Capgo Äquivalent | Hinweise |
|---|---|---|
| Deploy-Kanal | Capgo Kanal | Selbst gleicher Konzept, aber mächtiger |
| Native Version-Sperre | --min-update-version / --auto-min-update-version | Mehr feinere Kontrolle |
| Kanal-Priorität | Kanal-Vorrang (Übergeordnet → Cloud → Standard) | Mehr transparenter Vorrang |
| Zielsystem für die Bereitstellung | Kanal + semver-Kontrol | Mehrere Strategien verfügbar |
| Produktionskanal | production Kanal (oder beliebiger Name) | Flexible Namensgebung |
| Git-basierte Bereitstellung | CLI Bundle-Upload aus der Branch | Selbe Workflow |
| Automatische Versionszuordnung | defaultChannel + Versionsbeschränkungen | Verbessert mit mehreren Strategien |
Schlüsselunterschiede für AppFlow-Nutzer
Abschnitt mit dem Titel “Hauptunterschiede für AppFlow-Nutzer”- Mehr Kontrolle: Capgo bietet Ihnen mehrere Strategien (Kanäle, semver, native Version) die kombiniert werden können
- Bessere Sichtbarkeit: Das Dashboard zeigt die Versionsverteilung und Kompatibilitätsprobleme
- API Zugriff: Vollständige programmatische Kontrolle über die Versionszieleinstellungen
- Selbst-Hosting: Option zum Betreiben Ihres eigenen Update-Servers mit gleicher Versionslogik
Migrationsschritte
Abschnitt mit dem Titel “Migrationsschritte”- Ihre AppFlow-Kanäle zuordnen zu Capgo Kanälen (üblicherweise 1:1)
- Setzen
defaultChannelincapacitor.config.tsfür jede Hauptversion - Konfigurieren Sie semver-Regeln wenn Sie eine automatische Blockierung an Versionsgrenzen wünschen
- Hochladen von Versionsspezifischen Paketen mit
--min-update-version(Der Kanal muss die Metadatenstrategie verwenden) - Überwachen der Versionsverteilung in Capgo Dashboard
Erweiterte Muster
Abschnitt mit dem Titel “Erweiterte Muster”Schrittweise Einführung durch Version
Abschnitt mit dem Titel “Schrittweise Einführung durch Version”// Gradually migrate v1 users to v2async function migrateUsers() { const deviceId = await CapacitorUpdater.getDeviceId() const rolloutPercentage = 10 // Start with 10%
// Hash device ID to get deterministic percentage const hash = hashCode(deviceId) % 100
if (hash < rolloutPercentage) { // User is in rollout group - migrate to v2 await CapacitorUpdater.setChannel({ channel: 'v2' }) }}Funktionen durch Version
Abschnitt mit dem Titel “Funktionen durch Version”// Enable features based on native versionasync function checkFeatureAvailability() { const info = await CapacitorUpdater.getDeviceId() const nativeVersion = info.nativeVersion
if (compareVersions(nativeVersion, '2.0.0') >= 0) { // Enable features requiring v2.0.0+ enableNewCameraFeature() }}A/B-Testung über Versionen
A/B-Testung über Versionen// Run A/B tests within same native versionasync function assignABTest() { const nativeVersion = await getNativeVersion()
if (nativeVersion.startsWith('2.')) { // Only A/B test on v2 users const variant = Math.random() < 0.5 ? 'v2-test-a' : 'v2-test-b' await CapacitorUpdater.setChannel({ channel: variant }) }}Zusammenfassung
Abschnitt mit dem Titel “Zusammenfassung”Capgo bietet mehrere Strategien für die versionsspezifische Lieferung von Updates:
- Kanalbasierte Routing: Automatische Versionsunterscheidung via
defaultChannel - Semantische Versionsnummer: Verhindere Updates über Major/Minor/Patch-Grenzen
- Nativversionenbeschränkungen: Erforderliche Mindestnativversion für Bundles
- Verhinderung der automatischen Downgrade: Nie liefern Sie ältere Pakete an neueren native Versionen
- Geräteüberschreibungen: Manueller Kontrolle für Tests und Zielsetzung
Indem Sie diese Strategien kombinieren, können Sie eine AppFlow-ähnliche automatische Aktualisierungsbereitstellung mit noch mehr Flexibilität und Kontrolle erreichen. Wählen Sie die geeignete Ansatz, der Ihren Anwendungsversionierung und -bereitstellung Workflow am besten entspricht.
Weitere Informationen zu bestimmten Funktionen:
- Leitfaden für Änderungen - Detaillierte Kanalversionierungstrategie
- Kanalverwaltung - Vollständige Kanalkonfigurationsreferenz
- Aktualisierungsverhalten - Native Versionen verzögern und Bedingungen
Weiter mit der Zielgruppenverfolgung
Abschnitt mit dem Titel “Weitermachen mit Version-Zielsetzung”Wenn Sie Version-Zielsetzung verwenden Version-Zielsetzung zum Planen der Kanalroutings und der schrittweisen Veröffentlichung, verbinden Sie es mit Kanäle zur Implementierungsdetail in Kanäle zur Implementierungsdetail in Kanäle zur Implementierungsdetail in Kanäle Zielgruppen-Testlösung zum Produktworkflow in Zielgruppen-Testlösung und zum Produktworkflow in Zielgruppen-Testlösung und zum Produktworkflow in Zielgruppen-Testlösung und Versionziel-Lösung für das Produktworkflow in Versionziel-Lösung.