Zum Hauptinhalt springen

Version-Tagging in Capacitor Apps

Erfahre alles Wichtige über Version-Tagging in Capacitor Apps – inklusive Best Practices für Updates, Synchronisation und Automatisierung.

Version Tagging in Capacitor Apps Capgo Blog-Illustration

Version-Tagging ist entscheidend für das Management von Capacitor Apps. Es sorgt für reibungslose Updates, trackt Änderungen und erhöht die App-Zuverlässigkeit auf iOS, Android und Web. Hier ein kurzer Überblick:

  • Warum das wichtig ist: Trackt Updates, ermöglicht Rollbacks und sorgt für stabile Deployments.
  • Semantische Versionierung: Nutze MAJOR.MINOR.PATCH um Breaking Changes, neue Features oder Bugfixes anzuzeigen.
  • Plattformübergreifender Sync: Versionsnummern angleichen in package.json, iOS Info.plist, und Android build.gradle.
  • Automatisierung: Updates automatisieren mit npm Skripten und CI/CD-Tools.
  • Capgo Live Updates: Tools wie Capgo Updates innerhalb von 24 Stunden an 95 % der Nutzer ausliefern.
  • Beta-Management: Nutze strukturierte Channels für Alpha-, Beta- und Produktionsversionen.

Schneller Vergleich

Funktion Zweck Beispiel
Semantische Versionierung Änderungen klar nachverfolgen 1.2.3 → 2.0.0
Versionen synchronisieren Plattformübergreifend abgleichen npx cap sync
Automatisierung Beschleunigt Versions-Updates npm version patch
Capgo Live Updates Schnelle Nutzerakzeptanz 95 % in 24 Stunden mit Capgo
Beta-Channels Kontrollierte Testphasen 1.3.0-beta.1

Version-Tagging vereinfacht App-Updates, hält Nutzer zufrieden und sorgt dafür, dass Entwickler Releases effektiv verwalten können.

So konfigurierst du AUTOMATISCH dein Capacitor Projekt ⚡️

Capacitor Framework-Dokumentations-Website

Versions-Setup in Capacitor

Folge diesen Schritten für ein konsistentes Versionsmanagement über alle Plattformen deiner Capacitor App hinweg.

Version festlegen in package.json

Der package.json Diese Datei dient als Hauptquelle für die Versionsdetails deiner App. Hier ist ein Beispiel für die Einrichtung:

{
  "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"
  }
}

Nutze beim Aktualisieren der Versionsnummer die SemVer-Regeln (Semantic Versioning):

  • Major-Version (1.x.x): Führt Breaking Changes ein.
  • Minor-Version (x.2.x): Fügt neue, abwärtskompatible Funktionen hinzu.
  • Patch-Version (x.x.3): Behebt Fehler oder bringt kleine Verbesserungen.

Plattform-Versionen synchron halten

Es ist wichtig, Versionsnummern auf allen Plattformen abzustimmen, um ein reibungsloses App-Deployment zu gewährleisten. Jede Plattform hat ihre eigene Konfigurationsdatei für die Versionierung:

Plattform Konfigurationsdatei Versions-Schlüssel
iOS Info.plist CFBundleShortVersionString
Android build.gradle versionName
Web package.json- Version

Nachdem du die Version in package.json, verwenden Sie diesen Befehl, um die Änderungen mit den nativen Plattformkonfigurationen zu synchronisieren:

npx cap sync

Versionsverwaltung mit Capacitor CLI

Capacitor CLI bietet hilfreiche Commands für die Versionsverwaltung:

# 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

Wenn du Capacitor CLI aktuell hältst, stellst du die Kompatibilität mit versionsspezifischen Features sicher und reduzierst mögliche Versionskonflikte. Mit diesen Schritten behältst du eine korrekte Versionierung in deiner App bei.

Semantic-Version-Setup

Semantic-Version-Grundlagen

Semantische Versionierung (SemVer) verwendet das Format MAJOR.MINOR.PATCH, wobei jeder Teil eine bestimmte Art von Änderung angibt:

Versionskomponente Zweck
MAJOR Führt Breaking Changes an der API ein
MINOR Fügt neue Features hinzu, die abwärtskompatibel sind
PATCH Behebt Bugs oder verbessert die Performance ohne Breaking Changes

Dieses System stellt sicher, dass Entwickler Updates klar kommunizieren können und dabei die Kompatibilität zwischen App-Versionen erhalten bleibt. Zum Beispiel signalisiert der Wechsel von 1.2.3 zu 2.0.0 Major-Updates mit Breaking Changes, die eine sorgfältige Planung erfordern.

Wann Versionsnummern aktualisiert werden sollten

So entscheidest du, welche Versionsnummer du aktualisierst:

Update-Typ Wann verwenden Beispiel für Versionsänderung
Großes Update Für Breaking Changes an API oder große UI-Redesigns 1.2.3 → 2.0.0
Kleines Update Beim Einführen neuer Features oder wenn Features als deprecated markiert werden 1.2.3 → 1.3.0
Patch-Update Für Bugfixes oder kleine Performance-Optimierungen 1.2.3 → 1.2.4

„Wir setzen auf agile Entwicklung und @Capgo ist geschäftskritisch, um unseren Nutzern kontinuierlich Updates zu liefern!“ - Rodrigo Mantica [1]

Schauen wir uns an, wie man diese Updates automatisiert, um das Release-Management zu vereinfachen.

Automatisierung von Version-Updates

Automatisierung von Versionsupdates kann Zeit sparen und Fehler in deinem Capacitor-Projekt reduzieren. So richtest du es ein:

  1. NPM Versions-Skripte

Füge diese Skripte zu deinem package.json Datei, um Versionsupdates einfach zu verwalten:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CD-Integration
    Integriere Versionsupdates in deine CI/CD-Pipeline. Capgo unterstützt Tools wie GitHub Aktionen, GitLab CI, und Jenkins, was die Automatisierung des Prozesses vereinfacht.

„@Capgo ist ein Must-have-Tool für Entwickler, die langwierige Bugfix-Reviews umgehen und so produktiver sein wollen.“ – Bessie Cooper [1]

Version-Tag-Methoden

Git-Versions-Tags

Git-Versionstags sind eine zuverlässige Methode, um den Überblick über Capacitor App-Releases. Um klare und informative Tags zu erstellen, kombiniere Semantic Versioning mit einer kurzen Beschreibung:

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

Um die Konsistenz im Team zu wahren, nutze ein standardisiertes Tagging-Format:

Tag-Komponente Format Beispiel
Release-Version v[MAJOR].[MINOR].[PATCH] v1.2.3
Beta-Release v[VERSION]-beta.[NUMBER] v1.2.3-beta.1
Release Candidate v[VERSION]-rc.[NUMBER] v1.2.3-rc.2

Build-Nummer-Integration

Build-Nummern helfen dabei, einzelne Builds innerhalb jeder Version zu tracken. Erhöhe sowohl bei iOS als auch bei Android die Build-Nummer bei jeder Einreichung:

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

Die Build-Nummer sollte immer steigen, auch wenn die Version gleich bleibt. So wird jede App-Store-Einreichung eindeutig identifiziert, während die Versionierung für Nutzer klar bleibt.

Beta-Version-Management

Das Verwalten von Beta-Versionen erfordert einen strukturierten Prozess, um Test-Builds zu verteilen. Capgo Channel-System vereinfacht das mit folgenden Schritten:

  1. Channel-Setup

Erstelle separate Channels für jede Testphase:

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

Richte Berechtigungen ein, um zu kontrollieren, wer Zugriff auf Beta-Versionen bekommt. So erhalten nur freigegebene Tester Beta-Builds, während Nutzer in der Produktion stabile Releases bekommen.

  1. Versionsfortschritt

Nutzen Sie ein klares Versionsfortschrittssystem, um die Entwicklungsphasen zu verfolgen:

Phase Versionsformat Zweck
Alpha 1.3.0-alpha.1 Internes Testen
Beta 1.3.0-beta.1 Externe Testgruppe
RC (Release Candidate) 1.3.0-rc.1 Abschließende Tests vor dem Release
Produktion 1.3.0 Öffentliches Release

Dieser Ansatz gewährleistet gründliche Tests und reibungslose Übergänge zwischen den Entwicklungsphasen, wodurch das Version-Tracking während des gesamten Prozesses organisiert und transparent bleibt.

App-Version anzeigen

Präzise Versionsinformationen in deiner App anzuzeigen, ist entscheidend, um Nutzer auf dem Laufenden zu halten und Updates effektiv zu verwalten.

Version mit Capacitor abrufen

Du kannst Versionsdetails mit Capacitor und diesem code abrufen:

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 einen effizienteren Ansatz erstelle eine wiederverwendbare Funktion:

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

Diese Funktion vereinfacht das Anzeigen der Versionsinformationen in der Benutzeroberfläche deiner App.

UI-Implementierung der Version

Hier ist ein Beispiel, wie du die Versionsanzeige in eine Settings-Komponente integrierst:

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

Typische Orte für Versionsdetails sind:

Ort Zweck Implementierung
Einstellungen Vollständige Version und Build Detaillierte Versionsinfos
Über uns-Seite Einfache Versionsanzeige Nur Versionsnummer
App-Footer Minimale Anzeige Kürzerte Versionszeichenkette

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

Update-Check-System

Ein Update-Check-System stellt sicher, dass Nutzer auf die neuesten Funktionen und Fixes zugreifen können. Capgo bietet Echtzeit-Benachrichtigungen und kontrollierte Update-Kanä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
    });
  }
}

„Wir setzen auf agile Entwicklung und @Capgo ist geschäftskritisch, um unseren Nutzern kontinuierlich Updates zu liefern!“ - Rodrigo Mantica [1]

Sie können auch eine nutzerorientierte Update-Benachrichtigung hinzufügen, zum Beispiel:

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

Für Enterprise-Apps ermöglicht das Kanalsystem von Capgo die Kontrolle über die Verteilung von Updates:

Kanal Update-Typ Target Audience
Produktion Stabile Releases Alle Nutzer
Beta Pre-Release-Versionen Testgruppe
Kritisch Notfall-Fixes Betroffene Nutzer

Diese Methode sichert die App-Stabilität und trackt die Update-Performance über das Analytics-Dashboard von Capgo.

Lösungen für das Versionsmanagement

Schauen wir uns fortgeschrittene Lösungen für ein effektives App-Versionsmanagement genauer an.

Optionen für Version-Tools

Bei der Wahl von Version-Control-Tools ist es wichtig, auf solche zu setzen, die Updates vereinfachen, dein code absichern und sowohl App Store Releases als auch Live Updates unterstützen.

Hier sind die wichtigsten Features im Überblick:

Funktion Bedeutung Auswirkung
Capgo Live Updates Kritisch Minimiert Verzögerungen durch App-Store-Reviews
Sicherheit Essenziell Schützt Benutzerdaten und die Integrität von code
Analytics Wichtig Misst Update-Erfolg und Nutzerakzeptanz
CI/CD-Integration Nützlich Optimiert Deployment-Prozesse
Kosteneffizienz Strategisch Beeinflusst die langfristige Budgetplanung

Ein herausragendes Tool in diesem Bereich ist Capgo, das speziell dafür entwickelte Funktionen bietet Capacitor Apps.

Capgo Versionskontroll-Funktionen

Capgo Live Update Dashboard-Interface

Capgo bietet robuste Funktionen fürs Versionsmanagement, darunter:

  • 23,5 Mio. erfolgreich ausgelieferte Updates
  • 95 % der Nutzer aktualisieren innerhalb von 24 Stunden
  • 82 % globale Erfolgsrate
  • 434 ms durchschnittliche API-Antwortzeit weltweit

Hier ein Beispiel, wie du Capgo zur Versionskontrolle nutzt:

// 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 testen gerade @Capgo, da Appcenter den Live-Update-Support für Hybrid-Apps eingestellt hat und @AppFlow viel zu teuer ist.“ - Simon Flack [1]

Lösungen für jede Teamgröße

Capgo bietet flexible Pläne für Teams jeder Größe, damit Versionsmanagement skalierbar und effizient bleibt.

Teamgröße Plan Kernfunktionen
Solo-Entwickler Basis-Cloud-Hosting Live Updates, 1.000 MAU
Kleines Team (2-5) Maker-Plan 10.000 MAU, 500 GB Bandbreite
Mittleres Team (6-20) Team-Plan 100.000 MAU, Berechtigungen
Enterprise Individuelles PAYG Unbegrenzte MAU, dedizierter Support

Für größere Teams ermöglicht das Channel-System von Capgo eine präzise Kontrolle über die Versionen-Deployment:

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 setzen auf agile Entwicklung und @Capgo ist geschäftskritisch, um unseren Nutzern kontinuierlich Updates zu liefern!“ - Rodrigo Mantica [1]

Capgo enthält außerdem ein Analytics-Dashboard, um die Adoptionsraten von Versionen zu überwachen und potenzielle Probleme frühzeitig zu erkennen. Mit integrierter Verschlüsselung und anpassbaren Hosting-Optionen können Teams die Sicherheit aufrechterhalten, während sie ihre Deployment-Workflows skalieren.

Fazit

Das Verständnis von Version Tagging ist der Schlüssel, um Entwicklungs- und Deployment-Prozesse zu vereinfachen. Hier ist eine kurze Zusammenfassung der wichtigsten Ideen und Schritte zum Einstieg.

Wichtigste Erkenntnisse

Version Tagging hilft Entwicklern, reibungslose und zuverlässige Updates zu gewährleisten. Eine ordnungsgemäße Versionskontrolle bietet klare Vorteile:

Vorteil Auswirkung Ergebnis
Sofortige Updates Kürzere Review-Zeiten Schnellere Nutzerakzeptanz [1]
Versionskontrolle Besseres code-Management Höhere Erfolgsraten [1]
Update-Tracking Echtzeit-Monitoring Schnellere Fehlerbehebung [1]
Distributionskontrolle Gezielte Rollouts Multiplattform-Support

Diese Ergebnisse unterstreichen die Bedeutung effektiver Tools für das Versionsmanagement.

Erste Schritte

Um diese Vorteile umzusetzen, befolgen Sie diese Schritte:

  • Versionsverfolgung einrichten: Semantische Versionierung in package.json -Datei und integrieren Sie die erforderlichen Plugins.
  • Update-Prüfungen hinzufügen: Implementieren Sie Systeme zur Überprüfung und Verfolgung von Versionsupdates.
  • Distributionskanäle konfigurieren: Erstellen Sie separate Umgebungen für Produktion, Beta und Entwicklung.

Schließlich sollten Sie ein live update-System hinzufügen, um sicherzustellen, dass Deployments sowohl schnell als auch sicher sind.

Weiter mit Version Tagging in Capacitor Apps

Wenn du es nutzt Version-Tagging in Capacitor Apps um Rollbacks und die Versionskontrolle zu planen, verbinde es mit Rollbacks für die Implementierungsdetails in Rollbacks, Version-Targeting für die Implementierungsdetails in Version Targeting, Update-Verhalten für die Implementierungsdetails im Update-Verhalten, Bundle für die Implementierungsdetails im Bundle und Capgo Live Updates für den Produkt-Workflow in Capgo Live Updates.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.