Saltare al contenuto principale

Etichettatura della versione nei Capacitor App

Scopri le basi dell'etichettatura della versione nelle Capacitor app, compresi i migliori metodi per gli aggiornamenti, la sincronizzazione e l'automazione.

Martin Donadieu

Martin Donadieu

Content Marketer

Version Tagging in Capacitor Applicazioni

La versione tagging è essenziale per la gestione delle Capacitor applicazioni. Assicura aggiornamenti fluidi, traccia le modifiche e migliora la affidabilità dell'applicazione su iOS, Android e piattaforme web. Ecco un'overview rapida:

  • Perché è importante: Traccia gli aggiornamenti, abilita i rollback e assicura deployment stabili.
  • Semantic Versioning: Utilizza MAJOR.MINOR.PATCH per indicare le modifiche di rottura, le nuove funzionalità o i bug fix.
  • Sincronizza su tutte le piattaforme: Allinea i numeri di versione in package.json, iOS Info.plist, e Android build.gradle.
  • Automazione: Automare gli aggiornamenti con i script npm e gli strumenti CI/CD.
  • Aggiornamenti in tempo reale: Gli strumenti come Capgo inviano aggiornamenti a 95% degli utenti entro 24 ore.
  • Gestione della versione beta: Utilizza canali strutturati per le versioni alpha, beta e di produzione.

Confronto Rapido

Caratteristica Scopo Esempio
Versione Semantica Segnala le modifiche in modo chiaro 1.2.3 → 2.0.0
Sincronizza le versioni Allinea su tutte le piattaforme npx cap sync
Automazione Aggiorna le versioni velocemente npm version patch
Aggiornamenti in tempo reale Adozione rapida degli utenti Capgo’s 95% in 24 ore
Canali Beta Fasi di testing controllate 1.3.0-beta.1

La versione di taglio semplifica Aggiornamenti dell'applicazione,che mantiene gli utenti felici e assicura che gli sviluppatori possano gestire le rilasci in modo efficace.

Come configurare automaticamente il tuo Capacitor progetto ⚡️

Capacitor Framework Documentazione del Sito Web

Configurazione della versione in Capacitor

Segui questi passaggi per garantire una gestione della versione coerente su tutte le piattaforme nel tuo Capacitor app.

Impostazione della Versione in package.json

Il package.json file rappresenta la principale fonte per i dettagli sulla versione del tuo app. Ecco un esempio di come impostarlo:

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

Quando si aggiorna il numero di versione, utilizza le regole di semantic versioning (SemVer):

  • Versione maggiore (1.x.x): Introduce modifiche di rottura.
  • Versione minore (x.2.x): Aggiunge nuove funzionalità compatibili con il passato.
  • Versione di patch (x.x.3): Corregge bug o apporta miglioramenti minimi.

Assicura che le versioni delle piattaforme siano sincronizzate.

È importante allineare i numeri di versione su tutte le piattaforme per una corretta distribuzione dell'applicazione.

Piattaforma File di configurazione Chiave di versione
iOS Info.plist CFBundleShortVersionString
Android build.gradle versionName
Web package.json versione

Dopo l'aggiornamento della versione in package.json, utilizza questo comando per sincronizzare le modifiche con le configurazioni della piattaforma nativa:

npx cap sync

Utilizza Capacitor CLI per la gestione delle versioni

La Capacitor CLI offre comandi utili per la gestione delle versioni:

# 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

Tenere aggiornata la Capacitor CLI garantisce la compatibilità con le funzionalità specifiche delle versioni e riduce i potenziali disallineamenti. Seguendo questi passaggi, potrai mantenere una versioning corretta nel tuo app.

Configurazione della versione semantica

Principi di versione semantica

Versioning semantico (SemVer) utilizza il formato MAJOR.MINOR.PATCH, dove ogni parte indica un tipo specifico di modifica:

Componente di Versione Scopo
MAJOR Introduce modifiche di rottura al API
MINOR Aggiunge nuove funzionalità compatibili con le versioni precedenti
PATCH Corregge bug o migliora le prestazioni senza rompere la compatibilità

Questo sistema garantisce che gli sviluppatori possano comunicare in modo chiaro gli aggiornamenti senza compromettere la compatibilità tra le diverse versioni dell'applicazione. Ad esempio, passare da 1.2.3 a 2.0.0 indica aggiornamenti di versione principali, di rottura, che richiedono un piano di aggiornamento accurato.

Quando aggiornare i numeri di versione

Ecco come decidere quale numero di versione aggiornare:

Tipo di Aggiornamento Quando Usare Esempio di Modifica di Versione
Aggiornamento Maggiore Per modifiche di base API o per una ristrutturazione UI di grandi dimensioni 1.2.3 → 2.0.0
Aggiornamento Minore Quando si introducono nuove funzionalità o si segnalano funzionalità come obsolete 1.2.3 → 1.3.0
Aggiornamento di Patch Per correzioni di bug o piccoli miglioramenti di prestazioni 1.2.3 → 1.2.4

“Pratichiamo lo sviluppo agile e @Capgo è critico per la consegna continuativa ai nostri utenti!” - Rodrigo Mantica [1]

Ora vediamo come automatizzare questi aggiornamenti per semplificare la gestione delle release.

Aggiornamento della versione automatico

L'automazione degli aggiornamenti di versione può risparmiare tempo e ridurre gli errori nel tuo progetto Capacitor . Ecco come configurarlo:

  1. Script della versione NPM

Aggiungi questi script al tuo package.json file per gestire gli aggiornamenti di versione in modo facile:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. Integrazione CI/CD
    Incorpora gli aggiornamenti di versione nel tuo pipeline CI/CD. Capgo supporta strumenti come GitHub Actions, GitLab CI, e Jenkinsrendendo il processo automatico molto semplice.

“@Capgo è uno strumento imprescindibile per i developer che cercano produttività evitando lunghi revisioni di bugfix.” - Bessie Cooper [1]

Metodi di Etichettatura della Versione

Etichette di Versione Git

Gli etichetti di versione Git sono un modo affidabile per tenere traccia di Capacitor rilasci dell'app. Per creare etichette chiare e informative, combina la versioning semantica con una breve descrizione:

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

Per mantenere la consistenza all'interno della tua squadra, utilizza un formato di etichettatura standardizzato:

Componente dell'Etichetta Formato Esempio
Versione di Rilascio v[MAJOR].[MINOR].[PATCH] v1.2.3
Rilascio Beta v[VERSION]-beta.[NUMBER] v1.2.3-beta.1
Candidato per il Rilascio v[VERSION]-rc.[NUMBER] v1.2.3-rc.2

Integrazione del Numero di Costruzione

Il numero di costruzione aiuta a tracciare i singoli costruzioni all'interno di ogni versione. Per entrambi iOS e Android, incrementa il numero di costruzione con ogni invio:

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

Il numero di costruzione dovrebbe sempre aumentare, anche se la versione rimane la stessa. Ciò assicura che ogni invio per le app store sia univocamente identificato, mantenendo la versioning chiaro per gli utenti.

Gestione della Versione Beta

Il processo di gestione delle versioni beta richiede un approccio strutturato per distribuire i build di test. Capgo’s sistema dei canali semplifica questo con i seguenti passaggi:

  1. Configurazione del canale

Crea canali separati per ogni fase di testing:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. Controllo dell'accesso degli utenti

Configura le autorizzazioni per controllare chi ha accesso alle versioni beta. Ciò assicura che solo i tester approvati ricevano i build beta mentre gli utenti di produzione ricevono rilasci stabili.

  1. Progressione della versione

Utilizza un sistema di progressione della versione chiaro per tracciare le fasi di sviluppo:

Fase Formato della versione Scopo
Questo approccio garantisce una verifica approfondita e transizioni liscie tra le fasi di sviluppo, mantenendo la gestione delle versioni organizzata e trasparente nel corso del processo. 1.3.0-alpha.1 Test interni
Beta 1.3.0-beta.1 Gruppo di test esterno
RC (Candidato per la rilascio) 1.3.0-rc.1 Test finale prima del rilascio
Produzione 1.3.0 Rilascio pubblico

Questa approccio garantisce una verifica approfondita e transizioni liscie tra le fasi di sviluppo, mantenendo la gestione delle versioni organizzata e trasparente nel corso del processo.

Versione dell'App

Mostrare informazioni di versione accurate nell'app è fondamentale per tenere informati gli utenti e gestire gli aggiornamenti in modo efficace.

Ottenere Versione con Capacitor

Puoi recuperare i dettagli di versione utilizzando Capacitor con questo code:

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

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

Per un approccio più fluido, crea una funzione riutilizzabile:

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

Questa funzione semplifica il processo di visualizzazione delle informazioni di versione nell'interfaccia dell'app.

Implementazione dell'Interfaccia di Versione

Ecco un esempio di come integrare la visualizzazione della versione in un componente di impostazioni:

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

I posti comuni per mostrare i dettagli di versione includono:

Posizione Scopo Implementazione
Schermata delle Impostazioni Versione completa e build Informazioni sulla versione dettagliate
Pagina Informazioni Visualizzazione di base della versione Numero di versione solo
Piede Pagina dell'App Visualizzazione minima Categoria di versione condensata

Inoltre, integrando un sistema di controllo delle aggiornamenti può migliorare l'esperienza utente.

Sistema di controllo delle Aggiornamenti

An update check system ensures users have access to the latest features and fixes. Capgo provides real-time notifications and controlled update channels to manage this process:

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
    });
  }
}

“Pratichiamo lo sviluppo agile e @Capgo è fondamentale per consegnare continuamente ai nostri utenti!” - Rodrigo Mantica [1]

Puoi anche aggiungere una notifica di aggiornamento per l'utente, come questo:

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

Per le app aziendali, il sistema dei canali di Capgo consente di controllare la distribuzione degli aggiornamenti:

Canale Tipo di Aggiornamento Pubblico di Destinatari
Produzione Rilasci stabili Tutti gli utenti
Beta Versioni pre-release Gruppo di test
Critico Risoluzione di emergenza Utenti interessati

Questa metodologia garantisce la affidabilità dell'applicazione mentre traccia le prestazioni degli aggiornamenti attraverso il dashboard di analisi di Capgo.

Soluzioni per la gestione delle versioni

Scendiamo a fondo nelle soluzioni avanzate per la gestione delle versioni dell'applicazione in modo efficace.

Opzioni per lo strumento di gestione delle versioni

Quando si selezionano gli strumenti di controllo delle versioni, è importante concentrarsi su quelli che semplificano gli aggiornamenti, proteggono il tuo code e supportano sia le rilasci delle app store che gli aggiornamenti in tempo reale.

Ecco alcune caratteristiche chiave da cercare:

Caratteristica Importanza Impatto
Aggiornamenti in tempo reale Cruciale Minimizza i ritardi causati dalle recensioni delle app store
Sicurezza Essenziale Garantisce l'integrità dei dati degli utenti e code
Analisi Importante Misura il successo degli aggiornamenti e l'adozione degli utenti
Integrazione CI/CD Utile Semplifica i processi di distribuzione
Efficacia del Costo Strategico Influenza la pianificazione a lungo termine del budget

Un'importante risorsa in questo spazio è Capgo, che offre funzionalità specificamente progettate per Capacitor app.

Capgo Funzionalità di Controllo delle Versioni

Capgo Dashboard di Aggiornamento in Tempo Reale

Capgo fornisce capacità di gestione delle versioni robuste, tra cui:

  • 23,5 milioni di aggiornamenti riusciti consegnati
  • 95% degli utenti aggiornati entro 24 ore
  • 82% di successo globale
  • 434ms average API response time worldwide

Ecco un esempio di come utilizzare Capgo per il controllo delle versioni:

// 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
    });
  }
};

“Stiamo provando a utilizzare @Capgo dal momento che Appcenter ha smesso di supportare le aggiornamenti live per le app ibride e @AppFlow è troppo costoso.” - Simon Flack [1]

Soluzioni per la dimensione del team

Capgo offre piani flessibili per accogliere team di tutte le dimensioni, rendendo la gestione delle versioni scalabile ed efficiente.

Dimensione del team Piano Caratteristiche chiave
Developatore singolo Hosting cloud di base Aggiornamenti live, 1.000 MAU
Piccolo team (2-5) Piano del Maker 10.000 MAU, 500 GB di banda
Team medio (6-20) Piano del Team 100.000 MAU, autorizzazioni
Impresa Pagamento a consumo personalizzato Senza limiti MAU, supporto dedicato

Per le squadre più grandi, il sistema dei canali di Capgo consente un controllo preciso sulla distribuzione delle versioni:

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

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

“Pratichiamo lo sviluppo agile e @Capgo è essenziale per consegnare continuamente ai nostri utenti!” - Rodrigo Mantica [1]

Capgo include anche un dashboard di analisi per monitorare le tassi di adozione delle versioni e rilevare potenziali problemi in anticipo. Con crittografia integrata e opzioni di hosting personalizzabili, le squadre possono mantenere la sicurezza mentre scalano i loro flussi di distribuzione.

Conclusione

La gestione delle versioni è fondamentale per semplificare i processi di sviluppo e di distribuzione. Ecco un rapido riassunto delle principali idee e dei passaggi da seguire per iniziare.

Prese di posizione chiave

La gestione delle versioni aiuta gli sviluppatori a mantenere aggiornamenti fluidi e affidabili. Un controllo delle versioni corretto offre vantaggi chiari:

Beneficio Impatto Esito
Aggiornamenti istantanei Tempi di revisione più brevi Adozione da parte degli utenti più rapida [1]
Gestione delle versioni Gestione dei code più efficiente Tassi di successo più alti [1]
Aggiornamento Tracciamento Monitoraggio in tempo reale Risoluzione dei problemi più veloce [1]
Controllo della distribuzione Esecuzione mirata Sostegno a più piattaforme

Ecco i risultati che evidenziano l'importanza dell'utilizzo di strumenti di gestione delle versioni efficaci.

Come Iniziare

Per mettere in pratica questi benefici, segui questi passaggi:

  • Configura il tracciamento delle versioni: Utilizza la versione semantica nel tuo package.json file e integra i plugin necessari.
  • Aggiungi controlli di aggiornamento: Implementa sistemi per verificare e tracciare gli aggiornamenti di versione.
  • Configura i canali di distribuzione: Crea ambienti separati per la produzione, beta e sviluppo.

Infine, considera l'aggiunta di un sistema di aggiornamento in tempo reale per garantire che le distribuzioni siano sia veloci che sicure.

Continua da qui Version Tagging in Capacitor Applicazioni

Se stai utilizzando Version Tagging in Capacitor Applicazioni per pianificare il rollback e il controllo delle versioni, connettilo con Rollbacks per i dettagli di implementazione in Rollbacks, Version Targeting per i dettagli di implementazione nella Version Targeting, Comportamento di Aggiornamento per i dettagli di implementazione nel Comportamento di Aggiornamento, pacchetto per i dettagli di implementazione nel pacchetto, e Capgo Aggiornamenti in Tempo Reale per il flusso di lavoro del prodotto in Capgo Aggiornamenti in Tempo Reale.

Aggiornamenti in tempo reale per le Capacitor app

Quando un bug del layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.