Zum Hauptinhalt springen

Versionierung in Capacitor-Apps

Lernen Sie die Grundlagen der Versionsmarkierung in Capacitor-Anwendungen, einschließlich besten Praktiken für Updates, Synchronisierung und Automatisierung.

Martin Donadieu

Martin Donadieu

Content Marketer

Versionsmarkierung in Capacitor-Anwendungen

Versionsmarkierung ist für die Verwaltung von Capacitor Anwendungen unerlässlich. Sie sichert glatte Updates, verfolgt Änderungen und verbessert die Zuverlässigkeit von Anwendungen auf iOS, Android und Web-Plattformen. Hier ist eine kurze Übersicht:

  • Warum es wichtig ist: Verfolgt Updates, ermöglicht Rollbacks und sichert stabile Bereitstellungen.
  • : Verwenden Sie semantische Versionsierung: Verwenden Sie MAJOR.MINOR.PATCH um neue Funktionen, Bugfixes oder wichtige Änderungen anzuzeigen.
  • Über alle Plattformen synchronisieren: Versionen auf iOS, Android und Web synchronisieren package.jsonAutomation Info.plistAutomatisieren Sie Updates build.gradle.
  • mit __CAPGO_KEEP_0__-Skripten und CI/CD-Tools.: Live-Updates : Tools wie npm
  • Automatisieren Sie UpdatesÜber alle Plattformen synchronisieren Capgo deliver updates to 95% of users within 24 hours.
  • Beta-Management: Verwenden Sie strukturierte Kanäle für Alpha-, Beta- und Produktionsversionen.

Schnelle Vergleichsübersicht

FunktionZweckBeispiel
Semantische VersionsnummerierungVerfolgt Änderungen klar1.2.3 → 2.0.0
Synchronisiere VersionenSynchronisiere Versionen auf allen Plattformennpx cap sync
AutomatisierungBeschleunigt die Versionsaktualisierungennpm version patch
Live-UpdatesSchnelle NutzerakzeptanzCapgo’s 95% in 24 Stunden
Beta-KanäleKontrollierte Testphasen1.3.0-beta.1

Die Versionsmarkierung vereinfacht die App-Updates, hält die Nutzer zufrieden und ermöglicht es Entwicklern, die Releases effektiv zu verwalten.

Wie Sie EINMALIG Ihre Capacitor Projekt ⚡️

Capacitor Framework Dokumentationswebsite

Versionseinrichtung in Capacitor

Folgen Sie diesen Schritten, um eine konsistente Versionsverwaltung auf allen Plattformen in Ihrer Capacitor-Anwendung sicherzustellen.

Versionsnummer in " package.json

Die package.json Datei dient als Hauptquelle für die Versionsdetails Ihrer Anwendung. Hier ist ein Beispiel, wie Sie sie einrichten können:

{
  "name": "your-app-name",
  "version": "1.2.3",
  "private": true,
  "dependencies": {
    "@capacitor/core": "5.5.0",
    "@capacitor/ios": "5.5.0",
    "@capacitor/android": "5.5.0"
  }
}

Wenn Sie die Versionsnummer aktualisieren, verwenden Sie die SemVer-Regeln (SemVer):

  • Hauptversion (1.x.x): Einführung von Bruchänderungen.
  • Zweitversion (x.2.x): Hinzufügen von Funktionen, die rückwärts kompatibel sind.
  • Patchversion (x.x.3): Behebt Fehler oder macht kleine Verbesserungen.

Versionspflege für Plattformen

Es ist wichtig, dass die Versionsnummern auf allen Plattformen übereinstimmen, damit die App-Veröffentlichung reibungslos verläuft. Jede Plattform hat ihre eigene Konfigurationsdatei für die Versionsverwaltung:

PlattformKonfigurationsdateiVersionsschlüssel
iOSInfo.plistCFBundleShortVersionString
Androidbuild.gradleVersionsname
Webpackage.jsonVersion

Nachdem Sie die Version in package.jsonVerwenden Sie diesen Befehl, um die Änderungen mit den nativen Plattformkonfigurationen in Einklang zu bringen:

npx cap sync

Mit der Verwendung von Capacitor CLI für die Versionsverwaltung

Die Capacitor CLI bietet hilfreiche Befehle, um Versionen zu verwalten:

# Check the current version of Capacitor
npx cap --version

# Update Capacitor core and platform dependencies
npm install @capacitor/core@latest
npm install @capacitor/ios@latest
npm install @capacitor/android@latest

# Sync version changes to native platforms
npx cap sync

Das Aktualisieren Ihrer Capacitor CLI sichert die Kompatibilität mit versionsspezifischen Funktionen und reduziert potenzielle Inkonsistenzen. Folgen Sie diesen Schritten, um eine ordnungsgemäße Versionsverwaltung in Ihrer App sicherzustellen.

Semantische Versionsverwaltung

Semantische Versionsverwaltung-Grundlagen

Semantische Versionsverwaltung (SemVer) verwendet die Format MAJOR.MINOR.PATCHwobei jede Teilkomponente einen bestimmten Änderungstyp anzeigt:

Version KomponenteZweck
MAJOREinführt wichtige Änderungen an der API
MINORFügt neue Funktionen hinzu, die mit vorherigen Versionen kompatibel bleiben
PATCHBehebt Fehler oder verbessert die Leistung ohne die Kompatibilität zu brechen

Dieses System ermöglicht es Entwicklern, Updates klar zu kommunizieren, während die Kompatibilität zwischen Anwendungsversionen erhalten bleibt. Zum Beispiel beim Wechsel von 1.2.3 zu 2.0.0 wichtige, bremsende Updates, die sorgfältige Planung erfordern.

Wenn Updates der Versionsnummer vorgenommen werden sollen

Hier erfahren Sie, wie Sie entscheiden, welche Versionsnummer aktualisiert werden soll:

Update-TypWenn zu verwendenBeispiel für Versionsänderung
Großes UpdateBei bremsenden API Änderungen oder großen UI-Umgestaltungen1.2.3 → 2.0.0
Kleines UpdateBei der Einführung neuer Funktionen oder der Markierung von Funktionen als veraltet1.2.3 → 1.3.0
Patch-UpdateBei Bug-Fixes oder kleinen Leistungsverbesserungen1.2.3 → 1.2.4

“Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der kontinuierlichen Lieferung an unsere Benutzer!” - Rodrigo Mantica [1]

Lassen Sie uns nun diese Updates automatisieren, um die Release-Verwaltung zu vereinfachen.

Version Update Automation

Automatisierung von Versionsupdates Kann Zeit sparen und Fehler in Ihrem Capacitor-Projekt reduzieren. Hier ist, wie Sie es einrichten können:

  1. NPM Version Scripts

Fügen Sie diese Skripte Ihrem Datei hinzu, um Updates von Versionen leicht zu verwalten: package.json CI/CD-Integration

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. Inkorporieren Sie Updates von Versionen in Ihren CI/CD-Pipeline. __CAPGO_KEEP_0__ unterstützt Tools wie
    Capgo Actions GitHub Actions, Automatisierung von Versionsupdates kann Zeit sparen und Fehler in Ihrem __CAPGO_KEEP_0__-Projekt reduzieren.und Docker, es macht es einfach, den Prozess zu automatisieren.

“@Capgo ist ein unverzichtbares Werkzeug für Entwickler, die Produktivität durch die Umgehung langwieriger Bugfix-Reviews erzielen möchten.” - Bessie Cooper [1]

Versionstagsmethoden

Git-Versionstags

Git-Versionstags sind ein zuverlässiger Weg, um die Veröffentlichungen des __CAPGO_KEEP_0__-Apps zu verfolgen. Capacitor app releasesUm eine konsistente Tagformatierung innerhalb Ihres Teams zu gewährleisten:

git tag -a v1.2.3 -m "Release v1.2.3: Added offline mode support"

Tagkomponente

FormatJenkinsBeispiel
Veröffentlichungsversionv[MAJOR].[MINOR].[PATCH]v1.2.3
Beta-Versionv[VERSION]-beta.[NUMBER]v1.2.3-beta.1
Vorabversionv[VERSION]-rc.[NUMBER]v1.2.3-rc.2

Buildnummer-Integration

Buildnummern helfen dabei, einzelne Builds innerhalb jeder Version zu verfolgen. Für beide iOS und Android erhöhen Sie die Buildnummer mit jeder Einreichung:

{
  "ios": {
    "version": "1.2.3",
    "build": "10234"
  },
  "android": {
    "version": "1.2.3",
    "versionCode": "10234"
  }
}

Die Buildnummer sollte immer steigen, auch wenn die Version gleich bleibt. So wird jede App-Store-Abgabe eindeutig identifiziert, während die Versionsnummerierung für die Benutzer klar bleibt.

Beta-Versionen-Verwaltung

Die Verwaltung von Beta-Versionen erfordert einen strukturierten Prozess, um Testversionen zu verteilen. Capgo’s Kanal-System simplifies dies mit den folgenden Schritten:

  1. Kanal-Einstellung

Erstellen Sie separate Kanäle für jede Testphase:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. Zugriffssteuerung

Einstellen Sie Berechtigungen, um zu bestimmen, wer Zugriff auf Beta-Versionen erhält. So erhalten nur genehmigte Tester Beta-Versionen, während Produktionsbenutzer stabile Releases erhalten.

  1. Versionsfortschritt

Verwenden Sie ein klares Versionsfortschrittsystem, um die Entwicklungsstufen zu verfolgen:

StufeVersion FormatZweck
Alpha1.3.0-alpha.1Interne Testphase
Beta1.3.0-beta.1Externes Testteam
RC (Release Candidate)1.3.0-rc.1Letzter Test vor der Veröffentlichung
Produktion1.3.0Öffentliche Veröffentlichung

Diese Vorgehensweise sichert eine gründliche Überprüfung und eine glatte Übergang zwischen Entwicklungsstufen, wobei die Versionsverwaltung organisiert und transparent bleibt.

Anzeige der App-Version

Die Anzeige genauer Versionsinformationen in Ihrer App ist entscheidend, um Benutzer über Updates informiert zu halten und diese effektiv zu verwalten.

Abrufen der Version mit Capacitor

Sie können Versionsdetails mit Capacitor abrufen, indem Sie code verwenden.

import { App } from '@capacitor/app';

async function getAppInfo() {
  const info = await App.getInfo();
  console.log(`Version: ${info.version}`);
  console.log(`Build: ${info.build}`);
}

Für eine strömungsfähigere Vorgehensweise erstellen Sie eine wiederverwendbare Funktion:

export const getVersionString = async () => {
  const info = await App.getInfo();
  return `v${info.version} (${info.build})`;
};

Diese Funktion vereinfacht den Prozess der Anzeige von Versionsinformationen in der Schnittstelle Ihrer App.

Implementierung der Versionsanzeige

Hier ist ein Beispiel dafür, wie Sie die Versionsanzeige in einem Einstellungs-Komponenten integrieren können:

@Component({
  selector: 'app-settings',
  template: `
    <div class="version-info">
      <span>Version: {{ versionString }}</span>
      <span *ngIf="updateAvailable" class="update-badge">
        Update Available
      </span>
    </div>
  `
})

Gemeinsame Orte, an denen Versionsdetails angezeigt werden können:

StandortZweckImplementierung
Einstellungen BildschirmVollversion und BuildDetaillierte Versioneninformationen
Über SeiteGrundlegende Versionen AnzeigeNur Versionen Nummer
App FooterMinimal AnzeigeKonzentrierte Versionen Zeichenfolge

Neben der Anzeige der Versionsinformationen kann die Integration eines Update-Check-Systems die Benutzererfahrung verbessern.

Aktualisierungsprüfsystem

Ein Aktualisierungsprüfsystem stellt sicher, dass Benutzer Zugriff auf die neuesten Funktionen und Korrekturen haben. Capgo bietet Echtzeitbenachrichtigungen und kontrollierte Aktualisierungskanäle, um diesen Prozess zu verwalten:

import { CapacitorUpdater } from '@capgo/capacitor-updater';

async function checkForUpdates() {
  const current = await CapacitorUpdater.current();
  const latest = await CapacitorUpdater.getLatest();

  if (current.version !== latest.version) {
    await CapacitorUpdater.download({
      version: latest.version
    });
  }
}

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” - Rodrigo Mantica [1]

Wir praktizieren agiles Entwicklung und @__CAPGO_KEEP_0__ ist mission-kritisch bei der ständigen Bereitstellung für unsere Benutzer!

@Component({
  template: `
    <update-modal 
      [version]="newVersion"
      [features]="updateFeatures"
      (updateNow)="performUpdate()"
    />
  `
})

For enterprise apps, Capgo’s channel system allows you to control update distribution:

Für Unternehmensanwendungen ermöglicht __CAPGO_KEEP_0__'s Kanalsystem die Kontrolle der Aktualisierungszuweisung:KanalAktualisierungstyp
ZielgruppeProduktionStabile Versionen
Alle BenutzerVorabversionenTestgruppe
KritischNotfallkorrekturenBetroffene Benutzer

Diese Methode sichert die App- Zuverlässigkeit und verfolgt die Update-Performance über Capgo’s Analytics-Dashboard.

Versionen-Verwaltungslösungen

Lassen Sie uns tiefer in die fortgeschrittenen Lösungen für die effektive Verwaltung von App-Versionen eintauchen.

Versionstool-Optionen

Bei der Auswahl von Versionskontrolltools ist es wichtig, sich auf solche zu konzentrieren, die Updates vereinfachen, Ihre code sichern und sowohl App-Store-Veröffentlichungen als auch Live-Updates unterstützen.

Hier sind einige wichtige Funktionen, auf die Sie achten sollten:

FunktionWichtigkeitAuswirkung
Echtzeit-UpdatesKritischVerzögert durch App-Store-Bewertungen minimiert
SicherheitWichtigSichert Nutzerdaten und code Integrität
AnalytikWichtigMessen des Update-Erfolgs und der Nutzerakzeptanz
CI/CD-IntegrationNützlichStreamliniert die Bereitstellungsprozesse
KostenoptimierungStrategischInfluenciert die langfristige Budgetplanung

Ein hervorragendes Werkzeug in diesem Bereich ist Capgo, das spezielle Funktionen für Capgo-Anwendungen bietet Capacitor-Anwendungen.

Capgo Versionierungsmerkmale

Capgo Live-Update-Dashboard-Interface

Capgo bietet robuste Versionierungsverwaltungsfunktionen, einschließlich:

  • 23,5 Mio. erfolgreiche Updates geliefert
  • 95% der Nutzer aktualisierten sich innerhalb von 24 Stunden
  • 82% globale Erfolgsrate
  • 434ms durchschnittliche API Antwortzeit weltweit

Hier ist ein Beispiel dafür, wie man Capgo für Versionskontrolle verwendet:

// Capgo version control example
import { CapacitorUpdater } from '@capgo/capacitor-updater';

const versionControl = {
  async checkVersion() {
    const current = await CapacitorUpdater.current();
    return current.version;
  },

  async deployUpdate(version: string) {
    await CapacitorUpdater.setChannel({
      channel: 'production',
      version: version
    });
  }
};

“Wir probieren gerade @Capgo aus, seit Appcenter die Live-Updates für hybride Apps eingestellt hat und @AppFlow ist viel zu teuer.” - Simon Flack [1]

Team Größe Lösungen

Capgo bietet flexible Tarife, um Teams aller Größen zu unterstützen, was die Versionsverwaltung skalierbar und effizient macht.

Team GrößePläneHauptmerkmale
EinzelentwicklerGrundlegende Cloud-HostingEchtzeit-Updates, 1.000 MAU
Kleines Team (2-5)Maker-Plan10.000 MAU, 500 GB Bandbreite
Mittleres Team (6-20)Team-Plan100.000 MAU, Berechtigungen
UnternehmenBenutzerdefinierte PAYGUnbegrenzte MAU, dedizierte Support

Für größere Teams ermöglicht Capgo ein genaues Kontrollsystem über die Versionen:

const enterpriseVersionControl = {
  channels: {
    production: 'stable-releases',
    beta: 'early-access',
    internal: 'development'
  },

  async deployToChannel(channel: string, version: string) {
    await CapacitorUpdater.setChannel({
      channel: channel,
      version: version
    });
  }
};

„Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der ständigen Bereitstellung für unsere Benutzer!“ - Rodrigo Mantica [1]

Capgo umfasst auch eine Analyse-Dashboard, um die Versionsanpassungs-Raten zu überwachen und potenzielle Probleme frühzeitig zu erkennen. Mit eingebauter Verschlüsselung und anpassbaren Hostingoptionen können Teams die Sicherheit aufrechterhalten, während sie ihre Bereitstellungs-Workflows skalieren.

Zusammenfassung

Das Verständnis von Versionsbezeichnungen ist der Schlüssel, um die Entwicklung und Bereitstellung von Prozessen zu vereinfachen. Hier ist eine kurze Zusammenfassung der wichtigsten Ideen und Schritte, um loszulegen.

Hauptschlüssel

Die Versionsbezeichnung hilft Entwicklern, glatte und zuverlässige Updates bereitzustellen. Eine ordnungsgemäße Versionskontrolle bietet klare Vorteile:

VorteilEinflussErgebnis
Sofortige UpdatesKürzere Review-ZeiträumeSchnellere Nutzeranpassung [1]
VersionskontrolleBessere code-VerwaltungHöhere Erfolgsraten [1]
AktualisierungsverfolgungEchtzeit-MonitoringSchnellere Problemlösung [1]
VerteilungssteuerungZielgerichtete RolloutsUnterstützung für mehrere Plattformen

Diese Ergebnisse unterstreichen die Bedeutung der Verwendung effektiver Versionsverwaltungstools.

Wie man beginnt

Um diese Vorteile in die Tat umzusetzen, folgen Sie diesen Schritten:

  • Einrichten der Versionsverfolgung: Verwenden Sie semantische Versionsverwaltung in Ihrem package.json und integrieren Sie notwendige Plugins.
  • : Fügen Sie Update-Überprüfungen hinzu: Implementieren Sie Systeme, um Versionen zu überprüfen und zu verfolgen.
  • : Konfigurieren Sie Verteilungskanäle: Erstellen Sie separate Umgebungen für Produktion, Beta und Entwicklung.

Schließlich sollten Sie einen Live-Update-System hinzufügen, um sicherzustellen, dass die Bereitstellungen schnell und sicher sind.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Schicht lebt, liefern Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung genehmigt ist. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobilen App zu erstellen.