StudySmarter - École & université
App d'éducation où les changements de cours et d'abonnement nécessitent une revue par les parties prenantes.
- Installations Google Play
- 6,5 M
- Note du store
- 4.8
Votre CI envoie le web build de chaque pull request sur son propre canal Capgo. Les relecteurs scannent un QR code ou changent de canal dans l'app pour l'essayer sur leur appareil, et le canal est supprimé à la fermeture de la PR. Les changements au code natif nécessitent toujours un nouveau build.
Essai gratuit illimité de 14 jours. Aucune carte bancaire requise Garantie de remboursement de 14 jours. Résiliable à tout moment.
Besoin d'une offre Enterprise ? Parler à notre équipe
Le problème
Le développeur ouvre une PR
Le changement est prêt pour la revue, mais personne ne peut encore l'essayer sur un téléphone.
Build, signature et upload
Quelqu'un génère un binaire natif pour la branche, le signe, l'envoie sur TestFlight ou un canal de test Play Store, puis attend le traitement.
Inviter et installer
Les relecteurs doivent être ajoutés comme testeurs et installer ce build précis.
Répéter pour chaque correction
Chaque commentaire de revue modifiant code signifie un nouveau build, un nouvel upload et une nouvelle installation.
Chaque cycle de revue dépend d'un build natif, même si seul le JavaScript a changé.
Chaque build
Attend le traitement du store
Chaque build que vous envoyez sur TestFlight ou sur un canal de test Play est traité avant que les testeurs ne puissent l'installer. Cela s'applique à chaque build.
Chaque PR
Nécessite son propre build natif pour le test
Sans Live Update, les reviewers ne peuvent tester une branche qu'après qu'un binaire a été buildé, signé et envoyé, même pour un changement purement web.
Feedback tardif
La revue a lieu après le départ de l'auteur
Lorsque la revue attend les builds, les retours arrivent tardivement, l'auteur est déjà sur une autre tâche et la branche s'éloigne de la branche main.
Comment ça marche
Quatre étapes CI : configurez une clé limitée une fois, envoyez à chaque push, partagez la preview et nettoyez à la fermeture. Chaque commande ci-dessous provient de la doc Capgo.
Un admin crée une clé App Preview API pour la CI. Elle peut créer des canaux de preview et envoyer des bundles, mais ne peut pas modifier votre canal par défaut ou de production. Les previews s'activent une seule fois par application.
# once, run by an admin (not the preview key)
npx @capgo/cli@latest app set com.example.app --preview
Clés App Preview API
À chaque push, la CI compile l'application web et l'envoie avec une version de bundle unique. bundle upload --channel crée le canal pr-<number> s'il n'existe pas et lie le bundle à celui-ci.
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"
Les previews de PR dans la doc des canaux
get-qr génère un QR code pour le canal, ou les URLs de preview avec --url, afin que la CI puisse les ajouter en commentaire de PR.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
Référence get-qr
Exécutez ceci lors de l'événement de fermeture de la pull request. Avec une clé App Preview, il supprime uniquement le canal et le bundle lié créés par cette clé.
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
Référence CLI du canal
Les deux nécessitent un canal permettant l'auto-assignation. Une clé App Preview ne le configure pas ; avec cette clé, partagez le QR de preview ou définissez un device override dans la console.
Activez le menu par secousse dans vos builds internes. Les testeurs secouent l'appareil pour ouvrir le menu de test de Capgo, et le sélecteur de canal par secousse leur permet de choisir un canal.
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
Ajoutez un champ channel à un écran de paramètres développeur et appelez setChannel() avec le nom du canal de la PR.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
Référence setChannel()
Toute personne examinant la pull request peut la tester sur un téléphone, pas seulement l'auteur.
Trouvez la solution adaptée aux besoins de votre équipe
Apps développées avec Capacitor
Les apps d'apprentissage, d'événements ou communautaires peuvent avoir des changements d'onboarding, de pratique, de session live ou d'abonnement en cours de révision simultanément. Les PR previews permettent aux équipes produit, QA et support d'inspecter un build prêt pour le mobile avant le merge.
App d'éducation où les changements de cours et d'abonnement nécessitent une revue par les parties prenantes.
App d'engagement en direct où les flux d'événements doivent être testés avant le merge.
Une application communautaire où les écrans de tournoi et d'analyse profitent des aperçus d'appareil.
Témoignages clients
CTO, Privé
« L'installation a pris moins d'une journée. Les déploiements progressifs par canal me permettent de tester sur mon propre appareil avant de toucher les utilisateurs en production. »
nethead emeritors
« Beau travail sur le plugin updater. Il fonctionne parfaitement pour moi, et les live updates sont un super accélérateur pour tester rapidement. »
Développeur, Webincode
« Pouvoir ajouter des Device ID à certains groupes et n'envoyer les changements qu'à certains groupes, ça nous sauve la vie. »
FAQ
Des réponses claires pour ceux qui mettent en place la CI et pour les relecteurs.
Pas si la PR ne modifie que la couche web. Les relecteurs installent l'app une seule fois, et le JavaScript, le HTML, le CSS et les assets de chaque PR arrivent dans son propre canal. Si la PR ajoute un plugin ou modifie du code natif, un build natif est nécessaire. Lancez build needed dans la CI pour le détecter.
Ce qui nécessite un build natifPas avec une clé App Preview API. Elle peut créer des canaux de preview, envoyer des bundles, et supprimer uniquement le canal et le bundle qu'elle a créés. Elle ne peut pas modifier le canal par défaut ou principal. Dans les GitHub Actions, lancez le job sur pull_request, pas sur pull_request_target, et limitez-l’aux PR provenant du même dépôt.
Clés App Preview APIUn admin active les previews une seule fois avec app set --preview. Ensuite, get-qr affiche un QR code pour le canal de la PR, et --url affiche l'URL de la preview web et le deep link. Postez-les dans un commentaire de PR.
Référence get-qrAjoutez un job sur l'événement pull request closed qui exécute channel delete avec --delete-bundle et --success-if-not-found. Avec une clé App Preview, cela supprime le canal et le bundle qui lui est lié. Les bundles des pushes précédents peuvent être supprimés avec bundle cleanup, à condition d'utiliser une clé disposant des droits de suppression.
référence du canal CLIOui. Les étapes utilisent des commandes Capgo CLI, elles s'exécutent donc dans n'importe quelle CI. La doc contient des guides d'intégration pour GitHub Actions, GitLab CI, Bitbucket Pipelines et Azure DevOps.
Intégrations CI/CDAjoutez les étapes d'upload, de QR et de nettoyage à votre CI et testez-les sur votre propre app pendant l'essai gratuit.
Essayez les prévisualisations de PR Capgo : chaque pull request sur son propre canal live update.
support humain par Martin
Essai gratuit illimité de 14 jours. Aucune carte bancaire requise Garantie de remboursement de 14 jours. Résiliable à tout moment.
Essai gratuit de 14 jours, sans carte bancaire. Les changements natifs nécessitent toujours un nouveau build.