Zum Hauptinhalt springen

Capacitor OTA-Updates: Versionierungsbest Practices

Lernen Sie die besten Praktiken für die Verwaltung von Capacitor OTA-Updates, einschließlich Versionierungsstrategien, gänglichen Fallen und Sicherheitsmaßnahmen.

Martin Donadieu

Martin Donadieu

Content Marketer

Capacitor OTA-Updates: Versionierungsbest Practices

Möchten Sie App-Updates sofort liefern, ohne auf die Genehmigung der App-Stores warten zu müssen? Capacitor's Über-der-Luft- (OTA)-Updates ermöglichen es Ihnen, Updates in Echtzeit an Ihre App's Webinhalte durchzuführen. Um jedoch eine glatte Bereitstellung sicherzustellen, benötigen Sie solide Versionskontrollpraktiken.

Hier erfahren Sie in diesem Leitfaden:

  • Warum OTA-Updates Zeit sparen: App-Store-Verzögerungen umgehen und die Effizienz um bis zu 81%.

  • Wie Versionen zu verwalten: Verwenden Sie die semantische Versionsnummerierung (MAJOR.MINOR.PATCH), um Aktualisierungen effektiv zu verfolgen.

  • Gemeinsame Fallen zu vermeiden: Falsche Builds, fehlgeschlagene Konfigurationen und Probleme bei der Aktualisierungsverfolgung.

  • Beste Werkzeuge für die Aufgabe: Werkzeuge wie capacitor-sync-version-cli und Capgo vereinfachen die Versionsverwaltung und -verteilung.

  • Aktualisierungsstrategien: Wählen Sie zwischen partiellen und vollständigen Updates, phasenweisen Rollouts und optionalen gegenüber verpflichtenden Updates.

Schnell-Tipp: Beginnen Sie mit der Version 0.1.0Erhöhen Sie MINOR für neue Funktionen und PATCH für Bugfixes. Validieren Sie immer Builds und Konfigurationen vor der Veröffentlichung.

Bereit, um Ihre Capacitor OTS-Updates? Lassen Sie uns loslegen.

Semantische Versionsnummerierung

Versionskontrollleitfaden für Capacitor

Capacitor Framework-Dokumentationswebsite

Die Verwaltung von Capacitor OTS-Updates erfordert eine klare Versionskontrollstrategie. Hier erfahren Sie, wie Sie Dinge stabil halten und sicherstellen, dass Updates reibungslos laufen.

Grundlagen der semantischen Versionsnummerierung

Die semantische Versionsnummerierung (SemVer) ist eine weit verbreitete Methode für Versionsnummern, die als MAJOR.MINOR.PATCH strukturiert ist. Jeder Teil hat eine spezifische Rolle:

Komponenten-VersionZweckWann aktualisieren?
MAJOR (X)Anzeigt wichtige ÄnderungenBei Einführung von API-Inkompatibilität
MINOR (Y)Fügt neue Funktionen hinzuBei Hinzufügen von rückwärtskompatiblen Funktionen
PATCH (Z)Behebt FehlerBei Implementierung von rückwärtskompatiblen Fixes

Apples Richtlinien für heruntergeladene code sind beachtenswert:

„Interpretierte code dürfen heruntergeladen werden, um eine Anwendung zu erstellen, solange diese code: (a) die Hauptfunktion der Anwendung nicht ändert, indem sie Funktionen oder Funktionalitäten bereitstellt, die mit dem vorgesehenen und beworbenen Zweck der Anwendung im App Store nicht übereinstimmen (b) keine Laden oder einen Laden für andere code oder Anwendungen erstellt (c) die Signierung, Sandbox oder andere Sicherheitsmerkmale des Betriebssystems nicht umgeht“ [2]

Implementierung der Versionskontrolle

Um Capacitor-Updates OTA effektiv zu verwalten, können Entwickler Werkzeuge wie capacitor-set-version und capacitor-sync-version-cliverwenden. Diese Werkzeuge vereinfachen die Versionsverwaltung, indem sie Updates über verschiedene Plattformen automatisieren.

Hier ist der Einstieg:

  • Automatische Versions-Synchronisierung: Verwenden Sie capacitor-sync-version-cli um die Versionsnummern auf allen Plattformen synchron zu halten.

  • Build-Prüfung: Konfigurationen vor jedem Build überprüfen, bevor Sie den Commit-Beweis bestätigen.

  • Konfigurationsvalidierung: Automatisieren Sie die Validierung von Capacitor-Einstellungen, um Konfigurationsfehler zu vermeiden.

Starten Sie bei Version 0.1.0, und erhöhen Sie die Minor-Version für jede neue Funktion. Durch die Befolgung dieser Schritte können Fehler reduziert werden, aber es gibt noch häufige Fehler, die vermieden werden sollten.

Gemeinsame Versionierungsfehler

Selbst mit guten Praktiken im Einsatz, können Fehler passieren. Werkzeuge wie capsafe können dabei helfen, Probleme auf jeder Plattform zu identifizieren und zu verhindern. Hier sind einige Dinge, auf die Sie achten sollten:

  • Build-Prüfung: Automatisieren Sie die Überprüfung von Commit-Evidenzdateien und stellen Sie sicher, dass die Build-Synchronisierung auf allen Plattformen erfolgt.

  • Plattform-spezifische VersionierungBleibe auf die iOS- und Android-Versionen achten, um Mismatches zu vermeiden.

  • AktualisierungsbewertungBestätige, dass OTA-Updates die Kernfunktionen der App nicht stören.

Für iOS-Builds capsafe sichert, dass das ios/App/public/commit-evidence.json Datei vorhanden ist. Dieser Schritt ist entscheidend, um veraltete Web-Builds zu vermeiden. [3]Proper Überprüfung sichert Updates und reduziert das Risiko von beschädigten Releases.

OTA-Update-Verwaltungsmethoden

Die Wahl der richtigen Liefermethoden, Teststrategien und Updatepolitiken ist für die Verwaltung von Capacitor OTA-Updates entscheidend. Hier ist eine Übersicht der wichtigsten Ansätze, um Updates reibungslos und effizient durchzuführen.

Teilweise vs. Vollständige Updates

Die Entscheidung zwischen teilweisen und vollständigen Updates kann sowohl die Anwendungsleistung als auch die Benutzererfahrung beeinflussen. Teilweise Updates konzentrieren sich auf Web-Assets wie JavaScript-BundlesEntsprechen Sie ihnen perfekt für schnelle Reparaturen oder kleine Anpassungen an der Benutzeroberfläche. Andererseits sind umfassende Updates erforderlich, wenn native code-Änderungen beteiligt sind, da sie das gesamte App-Bundle ersetzen.

Update-TypIdeal fürVorteileDinge, die beachtet werden sollten
TeilweiseFehlerbehebung, Anpassungen der BenutzeroberflächeKleinere Downloads, schnellere UpdatesBeschränkt auf Webinhalte. Stellen Sie sicher, dass sich Änderungen mit dem ursprünglichen Zweck der App decken [2].
VollständigNative code-UpdatesUmfassende ModifikationenGrößere Downloads und längere Installationszeiten.

Für partielle Updates können Sie das kompilierte App-Bundle aus dist/ oder www/ in das native Dateisystem einfügen, um bestimmte Assets ohne Ersetzung des gesamten Apps zu aktualisieren.

Phasische Veröffentlichungen und Tests

Phasische Veröffentlichungen ermöglichen Updates allmählich auszurollen, wodurch das Risiko reduziert und Ihnen Zeit gegeben wird, potenzielle Probleme zu erkennen. Durch die Verwendung des phasischen Veröffentlichungssystems von App Store Connect werden Updates über sieben Tage verteilt, wobei ein wachsender Prozentsatz der Benutzer den Update täglich erhält:Tag

Prozentsatz der BenutzerEmpfohlene MaßnahmenCrashberichte überwachen und Feedback sammeln.
1–21–2%Suggested Actions
3–45–10%Leistungsmetriken verfolgen.
5–620–50%Benutzen Sie die Benutzerinteraktion.
7100%Abschließen der Auslieferung.

Beispielsweise hat Supercell in ihrem Januar-Update 2024 für "Clash of Clans" diese Strategie eingesetzt. Während einer 10-prozentigen Rollout-Phase identifizierten sie einen kritischen Fehler und pausierten die Veröffentlichung, um ihn zu beheben, um so weit verbreitete Probleme für ihre globale Zielgruppe zu vermeiden. [4].

Erforderliche vs. Optional Updates

Ein Gleichgewicht zwischen Anwendungsfunktionalität und Benutzererfahrung ist bei der Entscheidung über erforderliche oder optionalen Updates von entscheidender Bedeutung. Für kritische Reparaturen kann eine Zwangsumstellung erforderlich sein, sollte aber sparsam eingesetzt werden, um Benutzer nicht zu frustrieren. Die Capacitor SDK bietet Optionen für Update-Modi, einschließlich:

“Wir empfehlen diese Modus normalerweise nicht, da er dazu führen kann, dass das Splash-Screen lange Zeit angezeigt wird, insbesondere wenn der Benutzer über eine schlechte Netzwerkverbindung ist.”
– Capacitor SDK Einrichtung – AppflowBezüglich der Zwangsvorlage

Um eine glatte Benutzererfahrung während kritischer Workflows wie der Authentifizierung zu gewährleisten, sollten Sie Mechanismen zur Blockierung von Updates in Betracht ziehen. Zum Beispiel:

// Before login  
localStorage.shouldBlockReload = true;

// After successful login  
localStorage.shouldBlockReload = false;

Alternativ können Hintergrundaktualisierungen ermöglichen, dass Benutzer die aktuelle Version weiterhin verwenden können, während die neue Version im Hintergrund heruntergeladen wird.

Diese Strategien bieten eine solide Grundlage für das effektive Management von Updates, wobei Störungen minimiert werden.

sbb-itb-f9944d2

Update-Regeln und Sicherheit

OTA-Updates erfordern die Einhaltung von App-Store-Richtlinien und strengen Sicherheitsprotokollen.

App-Store-Update-Richtlinien

Apple und Google Play erlassen strenge Regeln, um sicherzustellen, dass Apps sicher und von hoher Qualität bleiben. Zum Beispiel verlangt Google Play ab dem 31. August 2024, dass alle neuen Apps und Updates auf Android 14 (API Stufe 34) ausgerichtet sind.[8]Entwickler können eine Verlängerung bis zum 1. November 2024 beantragen, wenn sie mehr Zeit benötigen.

Hier sind einige zeitbasierte Update-Kontrollen, die in Betracht gezogen werden sollten:

Update-KontrollmethodeBeschreibungVorteile
Verspätete UpdatesPostponieren Sie Updates für 1–90 Tage nach der VeröffentlichungErmöglicht kontrollierte Tests und eine schrittweise Bereitstellung
VersionenverwaltungBestimmen Sie, welche App-Versionen Updates erhaltenUnterstützt die Bereitstellung und Testung in Stufen
Automatische UpdatesLegen Sie das Updateverhalten auf verwalteten Geräten festVereinfacht die Wartung

Um Fristen einzuhalten, verwenden Sie Systembenachrichtigungen. Forschungen zeigen, dass konsistente, gut geplante Updates die Benutzeraktivität um bis zu 200% erhöhen können[9]Über die Einhaltung der App-Store-Regeln hinaus ist die Sicherheit in Ihren Updates genauso wichtig

Sicherheitsstandards für Updates

Eine starke Versionsverwaltung ist für die Aufrechterhaltung der Updateintegrität unerlässlich, aber auch mehrschichtige Sicherheitsmaßnahmen sind gleich wichtig. Sichern Sie OTA-Updates mit Verschlüsselung, Authentifizierung und Integritätsprüfungen. Dr. James J. Hunt, Gründer, CEO und CTO von aicas, erklärt:

“Die Notwendigkeit von über die Luft übertragbaren Updates wird durch die industrielle Digitalisierung für Software und künstliche Intelligenz getrieben – beide erfordern, dass Lösungsanbieter den gesamten DevOps-Zyklus neu überdenken”[7]

Schlüsselsicherungsebenen umfassen:

SicherheitsschichtImplementierungZweck
VerschlüsselungTLS mit CA-gesicherten ZertifikatenSchützt Update-Pakete während der Übertragung
AuthentifizierungHardware-basierte SicherheitschlüsselBietet eine stärkere Schutzwirkung als Dateibasierte Schlüssel
IntegritätsprüfungKryptographische SignaturBestätigt die Authentizität der Aktualisierung
Rückgängig-MachungsschutzAutomatischer Fallback-MechanismusVerhindert das Beschädigen des Geräts während fehlgeschlagener Aktualisierungen

Schritte zur Verbesserung der Update-Sicherheit:

  1. Sichere Verbindungen herstellen
    Verwenden Sie TLS mit Hostnamen-Überprüfung und CA-gesicherten Zertifikaten, um sicherzustellen, dass Serververbindungen überprüft werden[5].

  2. Schützen Sie Aktualisierungspakete
    Verschlüsseln Sie Updates und fügen Sie digitale Signaturen nach der Verschlüsselung hinzu. Für maximale Sicherheit verwenden Sie air-gapped-Systeme für die digitale Signatur[5][6].

  3. Implementieren Sie Wiederherstellungsmechanismen
    Aktivieren Sie automatische Rückgängig-Machungsmerkmale, um fehlgeschlagene Aktualisierungen effektiv zu handhaben[6].

Dr. Hunt betont auch die Bedeutung von OTA-Updates in fortschrittlichen Technologien:

“OTA ist bereits ein wichtiger Faktor bei der Gewährleistung der Zuverlässigkeit autonomer Fahrzeugsysteme” - Dr. James J. Hunt, Gründer, CEO und CTO von aicas[7]

Die UNECE hat die UN-Regelungen (UN R155/R156) genehmigt, die ein Rahmenwerk für sichere OTA-Updates in verschiedenen Branchen bieten. Diese Standards sichern sicher und zuverlässige Updates.

OTA-Update-Software-Optionen

Die Wahl der richtigen OTA-Update-Software ist mehr als nur eine Sicherheitsmaßnahme - es ist entscheidend für eine glatte Bereitstellung, effektive Versionskontrolle und effiziente Release-Zyklen für Capacitor apps

Capgo: OTA Update Platform

Capgo: OTA Update Platform

Capgo has delivered übermittelt across 1.800 Apps, die Veröffentlichungseffizienz um ein beeindruckendes 81% [1]. Hier sind die Dinge, die es auszeichnen:

  • Sicherheit: Funktionen wie Ende-zu-Ende-Verschlüsselung und code-Signaturprüfung sichern die Sicherheit von Updates.

  • Integration: Funktioniert reibungslos mit CI/CD-Plattformen wie Azure DevOps, GitLab, GitHub, Jenkins, Cloudbees, und Travis.

  • Bereitstellung: Bietet Benutzerzuweisung und Phasenrollouts für präzise, sofortige Verteilungen.

  • Analytik: Integrierte Werkzeuge, um die Updateleistung zu tracken und die Nutzerakzeptanz zu messen.

Ein großartiges Beispiel? Colenso hat erfolgreich fast alle seiner 5.000+ Benutzerbasis in nur Minuten [1]erreicht. Wie Rodrigo Mantica berichtete:

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

Alternative Update-Tools

Während Capgo eine robuste Lösung bietet, bringen andere Tools unterschiedliche Ansätze zur Versionsverwaltung. Hier ist eine schnelle Vergleichsübersicht:

Tool AspektCapgoAppflow
Kostenstrukturca. 300 $/Monat für CI/CD-Kosten6.000 $ jährliche Abonnement
UpdatestrategienInstant-Deployment, BenutzerzuweisungHintergrund, Immer Neueste, Zwangsvorlage
IntegrationMehrere CI/CD-PlattformenIntegrierte CI/CD

Ein Benutzer teilte seine Erfahrung mit uns:

„Wir probieren gerade @Capgo aus, seit Appcenter live-Updates für hybride Apps nicht mehr unterstützt und @AppFlow ist viel zu teuer.“ [1]

Funktionen, auf die Sie achten sollten

Wenn Sie ein Tool für OTA-Updates auswählen, stellen Sie sicher, dass es folgende Funktionen bietet:

  • End-to-End-Verschlüsselung um Updates sicher zu halten

  • CI/CD-Integration um sich mit Ihrem Workflow zu synchronisieren

  • Benutzerzuweisung für kontrollierte Rollouts

  • Zuverlässigkeit im App Store um Verteilungsprobleme zu vermeiden [10]

Ihre Wahl des OTA-Update-Software kann einen großen Einfluss auf die Effizienz und den Erfolg Ihrer Team-Entwicklung haben. Nehmen Sie sich die Zeit, Ihre Bedürfnisse rund um Sicherheit, Versionskontrolle und Zusammenarbeit zu bewerten, um das beste passende Projekt für Ihre Projektanforderungen zu finden.

Zusammenfassung

Zusammenfassung

Durch das Gleichgewicht zwischen technischer Genauigkeit und Benutzererfahrung kann die OTA-Update-Verwaltung die Effizienz um 81% verbessern. Diese Vorgehensweise unterstützt eine effektive Versionskontrolle und zuverlässige OTA-Deployments. Hier sind die wichtigsten Punkte, die Sie im Auge behalten sollten, um erfolgreiche OTA-Updates zu gewährleisten: [1]Sicherheit

Sicherheit

  • Sicherheit: Verwenden Sie Ende-zu-Ende-Verschlüsselung und code-Signierungsprüfung, um die Integrität von Updates sicherzustellen [1].

  • Benutzererfahrung: Minimieren Sie Störungen, indem Sie Updates sorgfältig planen und die Benutzer während des Prozesses informieren [11].

  • Kongruenz: Stellen Sie sicher, dass Updates den Anforderungen von Apple und Google entsprechen [1].

Nächste Schritte

Um Ihr OTA-Update-Prozess zu verbessern, sollten Sie diese Maßnahmen in Betracht ziehen:

  1. Wählen Sie die richtigen Werkzeuge
    Wählen Sie Werkzeuge aus, die Ihren Sicherheitsbedürfnissen, Ihren Zielsetzungen für die Bereitstellung und Ihrem Budget entsprechen, basierend auf den Strategien, die diskutiert wurden

  2. Folgen Sie den besten Praktiken

    ‚Benutzer mögen auch zögern, ein OTA-Update durchzuführen, da dies ihre vertraute und angenehme Erfahrung mit der App stört und sie mit den technischen Aspekten des Produkts vertraut machen muss, mit denen sie normalerweise nicht vertraut sind‚ [11]

  3. Verfolgen und verbessern
    Überwachen Sie die Leistung Ihrer Updates und wie sich die Benutzer darauf reagieren. Verwenden Sie diese Daten, um Ihre Bereitstellungsmethode im Laufe der Zeit zu optimieren.

Zukünftige OTA-Updates sollten darauf abzielen, eine schnelle Bereitstellung mit einer glatten Benutzererfahrung zu kombinieren, um sowohl Effizienz als auch Zufriedenheit sicherzustellen.

Live-Updates für Capacitor-Anwendungen

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage auf die Genehmigung der App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Loslegen

Neuestes aus unserem Blog

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