Zum Hauptinhalt springen

Betaversionen

Senden Sie Web-Änderungen an Beta-Testern ohne einen neuen TestFlight-Build

Testern installieren Sie Ihre App einmal. Anschließend gehen jede JavaScript-, HTML- oder CSS-Änderung in einen von ihnen beigetretenen Beta-Kanal und sie erhalten es bei der nächsten Update-Überprüfung. Änderungen an nativen code gehen jedoch weiterhin über TestFlight oder einen Play-Test-Track.

Unterstützung durch Martin

Testern können sich von der App aus anmelden

Sie können die Selbstzuweisung auf einem Kanal mit --self-assign zulassen. Ihre App listet Kanäle mit listChannels() und bewegt das Gerät mit setChannel(), sodass ein Tester sich von einer Einstellungen-Seite aus für die Beta anmelden kann.

setChannel() Referenz

Ein Gerät auf der Konsole pinnen

Setzen Sie in der Capgo-Konsole ein Gerät überschreiben, um ein einzelnes Testgerät ohne Änderung der App auf einen Kanal zu setzen. Die Überschreibungen werden 90 Tage nach der letzten Einstellung entfernt.

Geräteüberschreibungen

Ein Build mit einem QR-code teilen

Aktivieren Sie Vorabansichten für die App einmal. Dann drucken Sie mit get-qr oder --qr-preview bei der Hochladen eines Bundles oder Kanals ein QR-code und Vorabansichtslinks aus, die Sie in Ihrem QA-Thread posten können.

get-qr-Referenz

Native Änderungen bleiben bei TestFlight

Live-Updates ändern JavaScript, HTML, CSS und Assets. Wenn Sie ein Plugin hinzufügen oder native code ändern, senden Sie eine neue TestFlight- oder Play-Testversion und iterieren Sie dann weiterhin mit Kanälen.

Was benötigt eine native Build

TestFlight und Capgo-Kanäle haben unterschiedliche Aufgaben

  • Ein neues Build an Testgeräte senden

    TestFlight/Play-Testen
    Build, sign, upload, and wait for store processing
    Capgo beta channel
    Hochladen eines Bundles mit dem CLI. Tester erhalten es bei der nächsten Update-Überprüfung
  • Hinzufügen eines Testers

    TestFlight / Play-Testen
    Einladen in App Store Connect oder dem Play Console
    Capgo beta channel
    Sich dem Kanal von Ihrem App beitreten oder eine Geräte-Überschreibung setzen
  • Ein Tester auf einen anderen Build verschieben

    TestFlight / Play-Testen
    Ein anderes Build installieren
    Capgo beta channel
    Kanal wechseln in der App mit setChannel()
  • Nativ code und Plugin-Änderungen

    TestFlight / Play-Testen
    Ja
    Capgo-Beta-Kanal
    Nein, ein neues Binär senden

Die Tester installieren die App einmal, von TestFlight, einer Play-Testspur oder dem Store. Die Kanäle übernehmen dann für Änderungen im Weblayer. Wat benötigt eine native Build

Wie es funktioniert

How QA teams run a beta with Capgo

Ein installiertes Build, ein Kanal, an dem sich Tester beteiligen können, und eine CLI-Upload pro Änderung. Jeder Befehl unten stammt aus den Capgo-Dokumenten.

  1. Beta-Tester erstellen, den Testern zur Verfügung gestellt

    Selbstzuweisung ermöglicht es der App, ein Gerät auf diesen Kanal zu verschieben. Lassen Sie ihn auf Ihrem Produktionskanal aus.

    npx @capgo/cli@latest channel add beta com.example.app --self-assign
    Kanaldokumentation
  2. Ein Join-Beta-Switch in Ihrer App hinzufügen

    setChannel() fragt Capgo ab, ob der Kanal Selbstzuweisung zulässt, dann speichert es auf dem Gerät. triggerAutoUpdate startet einen Update-Check sofort.

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    // Join beta and check for its bundle now
    await CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true })
    
    // Leave beta and go back to the default channel
    await CapacitorUpdater.unsetChannel({ triggerAutoUpdate: true })
    setChannel() Referenz
  3. Jeder Änderung auf den Beta-Kanal hochladen

    Aktivieren Sie einmal Vorabansichten. Danach drucken Sie ein QR-code mit jeder Upload, damit Tester und Rezensionen die neue Bundle öffnen können.

    # once
    npx @capgo/cli@latest app set com.example.app --preview
    # every change
    npx @capgo/cli@latest bundle upload --channel beta --qr-preview
    get-qr Referenz
  4. Was QA erfolgreich durchgeführt hat, fördern

    Verbinden Sie das getestete Bundle mit der Produktion oder rollen Sie es zunächst auf einen Teil der Produktionsgeräte aus. Tester bleiben bis sie es verlassen auf Beta.

    npx @capgo/cli@latest channel set production com.example.app \
      --bundle 1.4.2
    # or roll it out to 10% of production first
    npx @capgo/cli@latest channel set production com.example.app \
      --rollout-bundle 1.4.2 --rollout-percentage 10 --rollout-enable
    Dokumentation zu progressiven Rollouts

notifyAppReady() und automatische Rollover

Internes QA

QA hält eine installierte Version und wechselt zwischen qa, beta und feature-Kanälen anstatt für jeden JavaScript-Änderung neu zu installieren.

Opt-in-Beta-Nutzer

Hinzufügen eines Join-Beta-Schalters, der setChannel() aufruft. Benutzer, die aufhören, rufen unsetChannel() auf und gehen zurück auf den Standardkanal.

Stakeholder-Berichte

Senden eines QR-Codes code von get-qr, damit Produktbesitzer den Vorschau-Bereich eines bestimmten Pakets oder Kanals öffnen können.

Apps, die mit Capacitor entwickelt wurden

Community-Apps benötigen sorgfältige Funktionen

Hochverbrauchende Verbraucher-Apps können Spiel-, Lern- oder Vorhersage-Flows mit einer geschlossenen Tester-Gruppe validieren, bevor jeder Benutzer die neue Erfahrung erhält.

lichess • Kostenlose Online-Schach-App Spielbrett

lichess • Kostenlose Online-Schach

Große Community-App, bei der Turniere, Analysen und soziale Funktionen sorgfältig überprüft werden müssen.

Google Play-Installationen
11,3 Mio.
Store-Bewertung
4.3
StudySmarter - Bildschirmschoner für Schule & Uni STUDIUM

StudySmarter - Schule & Uni

Bildungsdienste, bei denen sich Anmeldung und Übung ändern sollten, bevor sie veröffentlicht werden.

Google Play-Installationen
6,5 Mio.
Store-Bewertung
4.8
Windy.com - Wettervorhersage-App-Icon WEATHER

Windy.com - Wettervorhersage

Voraussage und Abbildung von Interaktionen, bei denen Produktänderungen vor der Erweiterung Vertrauen benötigen.

Google Play installiert
32,9M
Store-Bewertung
4.7

Kundenbeweis

Was Teams mit Capgo sagen

5.0/5 Bewertet von Entwicklerteams 9,400+ Teams Les Rezensionen lesen

Nate van Jole

CTO, Privat

‚Die Einrichtung dauerte weniger als einen Tag. Channel-basierte Rollouts ermöglichen es mir, auf meinem eigenen Gerät zu testen, bevor etwas die Produktionsbenutzer erreicht.’

kein Ton @ Webincode

Entwickler, Webincode

‚Es ist ein Leben rettender Vorteil, bestimmte Geräte-IDs zu bestimmten Gruppen hinzufügen und die Änderungen nur an diesen Gruppen durchführen zu können.’

Portrait von Michael Haberler

Michael Haberler

Netzwerk-Testbetreiber

Großartige Arbeit am Updater-Plugin. Es funktioniert für mich fehlerfrei und Live-Updates sind ein Super-Boost für schnelle Testzyklen.

FAQ

Frägen, die QA- und Produktteams stellen

Was Tester, Builds und was noch TestFlight benötigt

Kann Capgo TestFlight oder Play-internal-Testing ersetzen?

Ersetzt Capacitor nur Änderungen am Weblayer. Tester installieren Ihre App einmal über TestFlight, eine Play-Testspur oder den Store. Danach können JavaScript, HTML, CSS und Asset-Änderungen über einen Kanal erreichen. Die Hinzufügung eines Plugins, das Upgrade von Capacitor oder die Änderung von native code oder Capacitor Konfigurationen erfordern ein neues Binär.

Wofür benötigt eine native Build

Wie kann sich ein Tester der Beta anschließen oder verlassen?

Schalten Sie die Selbstzuweisung für den Beta-Kanal ein, dann rufen Sie setChannel({ channel: 'beta' }) von einer Bildschirmseite in Ihrer App auf. Capgo überprüft, ob der Kanal es erlaubt und das Gerät speichert die Wahl. unsetChannel() sendet das Gerät zurück auf den Standardkanal. Der Standardkanal selbst kann nicht mit setChannel() beigetreten werden.

Kanal setzen() Referenz

Kann man ein Testgerät ohne Änderung der App umziehen?

Ja. Öffnen Sie das Gerät im Capgo-Konsole und setzen Sie einen Kanal-Übertrag. Es kann bis zu 2 Minuten dauern, bis alle Edge-Server erreicht sind, und es wird nach 90 Tagen entfernt, nachdem es zuletzt gesetzt wurde. Kanäle, die mit setChannel() im App gewählt wurden, erscheinen nicht in dieser Liste.

Geräte-Überschreibungen

Wie testen wir ein neues natives Build ohne ein altes live update darüber?

Erhöhen Sie die Version von CapacitorUpdater für jedes natives Build. Mit den Standard-Einstellungen werden die heruntergeladenen Pakete für das ältere Build entfernt, wenn das neue installiert wird. Sie können auch die Updates für Entwicklungsbauten und Emulatoren auf dem Kanal ausschalten.

Testen Sie natives Builds ohne Live-Updates

Was passiert, wenn ein Beta-Paket beim Start abstürzt?

Rufen Sie notifyAppReady() auf, sobald Ihre App geladen ist. Wenn ein neues Paket es innerhalb von 10 Sekunden nicht aufruft, markiert das Gerät es als fehlgeschlagen und geht zurück zum vorher funktionierenden Paket.

notifyAppReady() und automatische Rollover

Einrichten Sie einen Beta-Kanal für Ihre eigene App

Erstellen Sie einen Kanal, den Tester beitreten können, fügen Sie den Switch hinzu und senden Sie Ihr erstes Paket während der 14-tägigen kostenlosen Testphase. Keine Kreditkarte erforderlich.

Unterstützung durch Martin