StudySmarter - Schule & Uni
Bildungs-App, bei der Änderungen an Lektionen, Kursen oder Abos ein Review durch Stakeholder erfordern.
- Google Play-Installationen
- 6,5 Mio.
- Store-Bewertung
- 4.8
Deine CI lädt den Web-Build jedes Pull Requests in einen eigenen Capgo Channel hoch. Reviewer scannen einen QR-code oder wechseln in der App den Channel, um es auf ihrem Gerät zu testen; der Channel wird gelöscht, sobald der PR geschlossen wird. Änderungen am nativen code erfordern weiterhin einen neuen Build.
14 Tage unbegrenzt testen. Keine Kreditkarte nötig 14 Tage Geld-zurück-Garantie. Jederzeit kündbar.
Enterprise-Anforderungen? Sprich mit unserem Team
Das Problem
Developer öffnet einen PR
Die Änderung ist bereit fürs Review, aber niemand kann sie bisher auf einem Handy testen.
Build, Sign und Upload
Jemand baut ein Native Build für den Branch, signiert es, lädt es bei TestFlight oder einem Play Testing Track hoch und wartet auf die Verarbeitung.
Einladen und Installieren
Reviewer müssen als Tester hinzugefügt werden und genau diesen Build installieren.
Wiederholung bei jedem Fix
Jeder Review-Kommentar, der code ändert, bedeutet einen weiteren Build, einen weiteren Upload und eine weitere Installation.
Jede Review-Runde wartet auf ein Native Build, selbst wenn nur JavaScript geändert wurde.
Jeder Build
Wartet auf Store-Verarbeitung
Jeder Build, den du zu TestFlight oder einem Play-Testing-Track hochlädst, muss erst verarbeitet werden, bevor Tester ihn installieren können. Das gilt für jeden Build.
Jeder PR
Braucht einen eigenen Native Build zum Testen
Ohne Live Updates können Reviewer einen Branch erst testen, nachdem jemand eine neue Binary gebaut, signiert und hochgeladen hat – selbst bei reinen Web-Änderungen.
Spätes Feedback
Review kommt, wenn der Autor schon weiter ist
Wenn Reviews auf Builds warten müssen, kommt Feedback zu spät, der Autor bereits an etwas anderem arbeitet und der Branch vom main-Branch abweicht.
So funktioniert es
Vier CI-Schritte: Einmal einen Scoped Key einrichten, pro Push hochladen, die Preview teilen, beim Schließen aufräumen. Alle Befehle stammen aus der Capgo Doku.
Ein Admin erstellt einen App Preview API Key für die CI. Dieser kann Preview-Channels erstellen und Bundles hochladen, aber keine Default- oder Production-Channels ändern. Previews werden pro App einmalig aktiviert.
# once, run by an admin (not the preview key)
npx @capgo/cli@latest app set com.example.app --preview
App Preview API Keys
Bei jedem Push baut die CI die Web-App und lädt sie mit einer eindeutigen Bundle-Version hoch. bundle upload --channel erstellt den pr-<number> Channel, falls dieser noch nicht existiert, und verknüpft das Bundle damit.
npx @capgo/cli@latest bundle upload com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--path ./dist \
--channel "pr-$PR_NUMBER" \
--bundle "1.2.3-pr.$PR_NUMBER.$GITHUB_RUN_NUMBER"
PR-Previews in der Channel-Doku
get-qr gibt einen QR code für den Channel aus, oder die Preview-URLs mit --url, damit die CI diese in einen PR-Kommentar einfügen kann.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
get-qr-Referenz
Führe dies beim „pull request closed“-Event aus. Mit einem App Preview Key werden nur der Channel und das verknüpfte Bundle gelöscht, die dieser Key erstellt hat.
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
Channel CLI Referenz
Beide benötigen einen Channel mit Self-Assignment. Ein App Preview Key setzt dies nicht; teile daher mit diesem Key den QR-Preview oder setze einen Device Override in der Console.
Aktiviere das Shake-Menü in internen Builds. Tester schütteln das Gerät, um das Testmenü von Capgo zu öffnen, und über den Shake-Channel-Selector können sie einen Channel auswählen.
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
Füge ein Channel-Feld in den Developer Settings hinzu und rufe setChannel() mit dem PR-Channelnamen auf.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
setChannel()-Referenz
Jeder, der den Pull Request reviewt, kann ihn auf einem Smartphone testen – nicht nur der Author.
Finde die Lösung, die zu deinem Team passt
Mit Capacitor gebaute Apps
Lern-, Event- und Community-Apps können Onboarding-, Practice-, Live-Session- und Subscription-Changes gleichzeitig unter Review haben. PR Previews ermöglichen es Product, QA und Support, einen mobile-ready Build vor dem Merge zu inspizieren.
Bildungs-App, bei der Änderungen an Lektionen, Kursen oder Abos ein Review durch Stakeholder erfordern.
Interaktive App, bei der Event-Flows vor dem Merge getestet werden müssen.
Community-App, bei der Turnier- und Analyse-Screens von Device-Previews profitieren.
Kundenstimmen
CTO, Privat
„Das Setup war in weniger als einem Tag erledigt. Mit Channel-basierten Rollouts kann ich erst auf meinem eigenen Gerät testen, bevor etwas bei den Production-Usern ankommt.“
nethead emeritors
„Tolle Arbeit am Updater-Plugin. Bei mir läuft es einwandfrei, und Live Updates sind ein echter Beschleuniger für schnelle Testzyklen.“
Entwickler, Webincode
„Geräte-IDs zu bestimmten Gruppen hinzuzufügen und Änderungen nur an diese Gruppen zu pushen, ist ein echter Gamechanger.“
FAQ
Klare Antworten für alle, die CI einrichten oder Pull Requests reviewen.
Nicht, wenn der PR nur den Web-Layer ändert. Reviewer installieren die App einmal, und das JavaScript, HTML, CSS sowie die Assets jedes PRs gehen in einen eigenen Channel. Wenn der PR ein Plugin hinzufügt oder natives code ändert, ist ein Native Build nötig. Nutze einen Build-Check in der CI, um das zu erkennen.
Was einen Native Build erfordertNicht mit einem App Preview API Key. Er kann Preview-Channels erstellen, Bundles hochladen und nur den Channel sowie das Bundle löschen, das er selbst erstellt hat. Er kann den Default- oder Main-Channel nicht ändern. Führe in GitHub Actions den Job auf pull_request aus (nicht pull_request_target) und beschränke ihn auf PRs aus demselben Repository.
App Preview API KeysEin Admin aktiviert die Previews einmalig mit app set --preview. Danach druckt get-qr einen QR code für den PR-Channel aus, und --url gibt die Web-Preview-URL sowie den Deep Link aus. Poste diese einfach als PR-Kommentar.
get-qr-ReferenzFüge einen Job für das Event 'pull request closed' hinzu, der channel delete mit --delete-bundle und --success-if-not-found ausführt. Mit einem App Preview Key werden so der Channel und das zugehörige Bundle gelöscht. Bundles aus früheren Pushes können per Bundle Cleanup mit einem Key gelöscht werden, der entsprechende Löschrechte besitzt.
Channel CLI ReferenzJa. Die Schritte sind Capgo CLI-Befehle und laufen daher in jeder CI. In der Doku gibt es Integrations-Guides für GitHub Actions, GitLab CI, Bitbucket Pipelines und Azure DevOps.
CI/CD-IntegrationenFüge die Upload-, QR- und Cleanup-Schritte zu deiner CI hinzu und teste sie während der kostenlosen Testphase mit deiner eigenen App.
Teste Capgo PR-Previews: jeder Pull Request auf seinem eigenen live update Channel.
persönlicher Support von Martin
14 Tage unbegrenzt testen. Keine Kreditkarte nötig 14 Tage Geld-zurück-Garantie. Jederzeit kündbar.
14 Tage kostenlos testen, keine Kreditkarte nötig. Native Änderungen erfordern weiterhin einen neuen Build.