Aller au contenu principal

Tests bêta

Envoyez des changements web à vos bêta-testeurs sans nouveau build TestFlight

Les testeurs installent votre app une seule fois. Ensuite, chaque modification JS, HTML ou CSS est envoyée vers un canal bêta qu'ils ont rejoint via l'app, et ils la reçoivent lors de la prochaine vérification de mise à jour. Les changements sur le code natif passent toujours par TestFlight ou un canal de test Play Store.

Les testeurs s'inscrivent depuis l'app

Autorisez l'auto-affectation sur un canal avec --self-assign. Votre app liste les canaux avec listChannels() et fait passer l'appareil sur un autre canal avec setChannel(), ce qui permet à un testeur de rejoindre la bêta depuis un écran de réglages.

Référence setChannel()

Épinglez un appareil depuis la console

Configurez un override d'appareil dans la console Capgo pour placer le téléphone d'un testeur sur un canal sans modifier l'app. Les overrides sont supprimés 90 jours après avoir été définis pour la dernière fois.

Overrides par appareil

Partagez un build avec un QR code

Activez les previews pour l'app une seule fois. Ensuite, get-qr, ou --qr-preview à l'upload, affiche un QR code et des liens de preview pour un bundle ou un canal, à publier dans votre thread QA.

Référence get-qr

TestFlight reste dédié aux changements natifs

Les live updates modifient le JavaScript, le HTML, le CSS et les assets. Si vous ajoutez un plugin ou touchez au code natif, envoyez un nouveau build de test TestFlight ou Play, puis continuez à itérer avec les canaux.

Ce qui nécessite un build natif

TestFlight et les canaux Capgo ont des rôles différents

  • Envoyer un nouveau build aux testeurs

    Tests via TestFlight / Play
    Build, signature, upload et attente du traitement par le store
    Canal bêta Capgo
    Envoyez un bundle avec le CLI. Les testeurs le reçoivent à la prochaine vérification de mise à jour
  • Ajouter un testeur

    Tests via TestFlight / Play
    Invitez-les dans App Store Connect ou la Play Console
    Canal bêta Capgo
    Ils rejoignent le canal depuis votre app, ou vous définissez un override d'appareil
  • Passer un testeur à un autre build

    Tests via TestFlight / Play
    Installer un autre build
    Canal bêta Capgo
    Changer de canal dans l'app avec setChannel()
  • Changements de code natif et de plugins

    Tests via TestFlight / Play
    Oui
    Canal bêta Capgo
    Non, déployez un nouveau binaire

Les testeurs installent l'app une seule fois via TestFlight, un canal de test Play ou le store. Les canaux prennent ensuite le relais pour les changements de la couche web. Ce qui nécessite un build natif

Comment ça marche

Comment les équipes QA gèrent une bêta avec Capgo

Un build installé, un canal que les testeurs peuvent rejoindre, et un upload CLI par modification. Chaque commande ci-dessous provient de la doc Capgo.

  1. Créez un canal bêta pour les testeurs

    L'auto-assignation permet à l'app de basculer un appareil sur ce canal. Laissez cette option désactivée sur votre canal de production.

    npx @capgo/cli@latest channel add beta com.example.app --self-assign
    Doc sur les canaux
  2. Ajoutez un switch de participation à la bêta

    setChannel() demande à Capgo si le canal autorise l'auto-assignation, puis l'enregistre sur l'appareil. triggerAutoUpdate lance immédiatement une vérification de mise à jour.

    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 })
    Référence setChannel()
  3. Envoyez chaque modification vers la bêta

    Activez les previews une seule fois. Ensuite, affichez un QR code à chaque upload pour que les testeurs et relecteurs puissent ouvrir le nouveau bundle.

    # once
    npx @capgo/cli@latest app set com.example.app --preview
    # every change
    npx @capgo/cli@latest bundle upload --channel beta --qr-preview
    Référence get-qr
  4. Promouvez ce qui a passé la QA

    Liez le bundle testé à la production, ou effectuez un déploiement progressif sur une partie des appareils. Les testeurs restent sur la bêta jusqu'à ce qu'ils en sortent.

    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
    Docs sur le déploiement progressif

Qui utilise les canaux beta

QA interne

La QA conserve un build installé et bascule entre les canaux qa, beta et feature au lieu de réinstaller à chaque changement JS.

Utilisateurs beta opt-in

Ajoutez un switch « Rejoindre la beta » qui appelle setChannel(). Les utilisateurs qui quittent la beta appellent unsetChannel() et reviennent au canal par défaut.

Revues des parties prenantes

Envoyez un code QR depuis get-qr pour que les product owners puissent ouvrir l'aperçu d'un bundle ou d'un canal spécifique.

Apps développées avec Capacitor

Community apps need careful feature exposure

Les apps grand public très utilisées peuvent valider des flux de jeu, d'apprentissage ou de prévision avec un groupe fermé de testeurs avant que chaque utilisateur ne reçoive la nouvelle expérience.

Icône de l'application lichess • Free Online Chess PLATEAU DE JEU

lichess • Échecs en ligne gratuits

Grande app communautaire où les tournois, l'analyse et les fonctionnalités sociales exigent une validation rigoureuse.

Installations Google Play
11,3 M
Note du store
4.3
StudySmarter - Icône de l'app école et université ÉDUCATION

StudySmarter - École et université

Workflows éducatifs où l'onboarding et les changements de pratique doivent être revus avant la release.

Installations Google Play
6,5 M
Note du store
4.8
Icône de l'application Windy.com - Weather Forecast MÉTÉO

Windy.com - Prévisions météo

Prévisions et interactions cartographiques : valider les changements produit avant de les généraliser.

Installations Google Play
32,9 M
Note du store
4.7

Témoignages clients

Ce que disent les équipes qui déploient avec Capgo

5.0/5 noté par les équipes de développeurs 9,400+ équipes Lire les avis

Nate van Jole

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. »

no-tone @ Webincode

Développeur, Webincode

« Pouvoir ajouter des Device ID à certains groupes et n'envoyer les changements qu'à certains groupes, ça nous sauve la vie. »

Portrait de Michael Haberler

Michael Haberler

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. »

FAQ

Questions des équipes QA et produit

Réponses courtes sur les testeurs, les builds et ce qui nécessite encore TestFlight.

Capgo peut-il remplacer TestFlight ou les tests internes de Play ?

Uniquement pour les changements de la couche web. Les testeurs installent votre app une seule fois via TestFlight, une piste de test Play ou le store. Ensuite, les changements de JavaScript, HTML, CSS et d'assets peuvent les atteindre via un canal. L'ajout d'un plugin, la mise à jour de Capacitor ou la modification de la config native code ou Capacitor nécessitent un nouveau binaire.

Ce qui nécessite un build natif

Comment un testeur rejoint-il ou quitte-t-il la bêta ?

Activez l'auto-assignation pour le canal bêta, puis appelez setChannel({ channel: 'beta' }) depuis un écran de votre app. Capgo vérifie que le canal l'autorise et l'appareil enregistre le choix. unsetChannel() renvoie l'appareil au canal par défaut. On ne peut pas rejoindre le canal par défaut avec setChannel().

Référence setChannel()

Peut-on déplacer le téléphone d'un testeur sans modifier l'app ?

Oui. Ouvrez l'appareil dans la console Capgo et définissez un override de canal. Cela peut prendre jusqu'à 2 minutes pour atteindre chaque serveur edge, et l'override est supprimé 90 jours après sa dernière définition. Les canaux choisis dans l'app avec setChannel() n'apparaissent pas dans cette liste.

Overrides par appareil

Comment tester un nouveau build natif sans qu'un ancien live update ne s'applique par-dessus ?

Augmentez CapacitorUpdater.version pour chaque build natif. Avec les paramètres par défaut, les bundles téléchargés pour l'ancien build sont supprimés à l'installation du nouveau. Vous pouvez aussi désactiver les mises à jour pour les builds de développement et les émulateurs sur le canal.

Tester les builds natifs sans live updates

Que se passe-t-il si un bundle bêta plante au démarrage ?

Appelez notifyAppReady() une fois votre app chargée. Si un nouveau bundle ne l'appelle pas dans les 10 secondes, l'appareil le marque comme en échec et revient au bundle précédent qui fonctionnait.

notifyAppReady() et rollback automatique

Configurez un canal bêta sur votre propre app

Créez un canal que les testeurs peuvent rejoindre, ajoutez le switch et envoyez votre premier bundle pendant l'essai gratuit de 14 jours. Aucune carte bancaire requise.