Préface
Lorsque vous commencez à apprécier le système de mise à jour de Capgo, comme moi pour mes applications, vous commencez à vous demander “Et si je voulais plus ?”
J’ai eu ce sentiment aussi, mais étant le créateur de Capgo, j’ai pu y jeter un coup d’œil !
Comme tout est open-source, vous avez aussi ce pouvoir :)
La prochaine difficulté que j’ai rencontrée dans le processus de distribution d’applications Capacitor est de faire tester les mises à jour par d’autres membres de l’équipe !
Avec TestFlight, le problème est simple, faire entrer des personnes dans votre équipe et leur faire comprendre comment l’obtenir prend du temps !
Et bien sûr, chaque fois que vous envoyez à Apple, vous avez un processus d’examen aléatoire par un bot qui peut prendre 5 minutes ou 5 heures, on ne sait jamais.
J’ai eu plusieurs fois ma présentation retardée à cause de cela…
Et pour Google, c’est encore pire, le grand mystère de ma vie, publier une version de production prend moins de 2 heures, mais publier une bêta fermée prend 1 à 2 jours.
Solution
Pour résoudre ce problème, j’ai créé le système de Canaux dans Capgo
npx @capgo/cli@latest bundle upload -c production
mettra à jour tous les utilisateurs (si le canal de production est défini par défaut)
Si vous faites npx @capgo/cli@latest bundle upload -c development
, alors la version atterrit sur un canal différent, cela peut être automatisé dans GitHub action
Ensuite, vous avez 2 façons de permettre aux utilisateurs d’obtenir les mises à jour du canal
Méthode super automatique
Cela peut être utile lorsque vous ne voulez pas créer votre propre backend pour la configuration des canaux, c’est rapide à mettre en œuvre
Avec celle-ci, la seule chose que vous devez faire est d’autoriser l’un de vos canaux à être auto-configurable
Ensuite, ajoutez ceci dans le code de votre application Ionic, pour une meilleure expérience, utilisez-le après que l’utilisateur clique sur un bouton comme “s’inscrire à la bêta”
Méthode manuelle
Cela peut être utile pour votre équipe interne, c’est rapide à mettre en œuvre Permettez aux utilisateurs de copier leur deviceID depuis votre application et de vous l’envoyer manuellement, ce code vous aidera à l’obtenir :
Cachez un bouton quelque part dans votre application, ou montrez le bouton uniquement aux utilisateurs connectés avec un rôle admin
, par exemple
Ensuite, allez dans l’application Web ou native Capgo, connectez-vous en tant qu’administrateur de l’application, sélectionnez votre application, cliquez sur la liste des appareils
Puis mettez dans la barre de recherche le deviceID, cliquez sur celui trouvé puis cliquez sur le lien Canal, choisissez development
, demandez à votre coéquipier d’ouvrir à nouveau l’application, attendez 30 secondes et ouvrez fermez
Il devrait obtenir votre version
Méthode automatique
Cela peut être utile pour vos testeurs bêta, c’est plus long à mettre en œuvre
Comme pour la méthode manuelle, vous devez obtenir le deviceID
Mais cette fois, vous devez l’envoyer automatiquement à votre backend, je vous laisse décider comment vous le faites
Je vous suggère simplement de le stocker dans une base de données, cela vous facilitera la vie plus tard
Ensuite, dans votre backend, vous devez l’envoyer au backend de Capgo aussi. Voici deux exemples de code :
NodeJS
Cloudflare
Et envoyez simplement votre device_id dans le corps de la requête à l’URL déployée avec la méthode POST pour ajouter et la méthode DELETE pour supprimer
Après cette configuration, essayez d’ajouter un bouton dans votre application pour s’inscrire au canal, et vérifiez dans l’application web si cela a été défini
Vous pouvez également envoyer null
pour supprimer le remplacement
Si vous avez besoin de vérifier programmatiquement quel remplacement est défini sur un appareil, vous pouvez obtenir sur la même URL