Passer au contenu

FAQ

Si vous avez des questions sans réponse ici, n’hésitez pas à les poser ! Le dépôt d’un problème ou la demande sur Discord fonctionnent.

Code Push, également appelé « mises à jour par liaison radio » (OTA), est un service cloud permettant aux développeurs Capacitor de déployer des mises à jour de leurs applications en production. Capgo fonctionne actuellement sur Android, iOS et Electron.

« Code Push » est une référence au nom d’une fonctionnalité de déploiement utilisée par la communauté React Native de Microsoft et Expo, dont aucun ne prend en charge Capacitor.

Quelle est la différence entre un bundle et une version ?

Section titled “Quelle est la différence entre un bundle et une version ?”

Nous utilisons le terme « release » pour désigner la préparation d’un binaire pour les magasins d’applications. Afin de générer ultérieurement un bundle, Capgo doit connaître le binaire exact qui a été expédié aux magasins d’applications.

Nous utilisons le terme « bundle » pour désigner un correctif qui peut être appliqué à une version pour la mettre à jour avec un nouveau code. La commande npx @capgo/cli@latest bundle upload est utilisée pour générer un bundle à partir de votre nouveau code local qui est ensuite envoyé à vos utilisateurs.

Nos tableaux de projets sont également publics et disponibles à : https://github.com/orgs/Cap-go/projects

Notre équipe opère également en public, afin que vous puissiez voir à tout moment sur quoi nous travaillons. Nous serons heureux de répondre à toutes vos questions sur notre feuille de route ou nos priorités via les problèmes Github ou Discord.

Puis-je utiliser Capgo avec mon équipe ?

Section titled “Puis-je utiliser Capgo avec mon équipe ?”

Oui ! Tous les forfaits prennent en charge un nombre illimité de développeurs. Nous limitons uniquement les métriques des applications (MAU, stockage et bande passante) à chaque organisation.

Voir Équipes pour plus d’informations.

Non. Les serveurs Capgo ne voient jamais votre code source. Lorsque vous exécutez npx @capgo/cli@latest bundle upload, Capgo stocke un fichier zip du code minifié/compilé - le même code qu’un navigateur recevrait, pas votre code source.

Pour plus de sécurité, vous avez deux options :

  • Chiffrement de bout en bout : chiffrez votre bundle avant de le télécharger, ce qui empêche Capgo de lire ou de modifier le contenu.
  • Téléchargement d’URL externe : stockez le bundle sur votre propre serveur et fournissez uniquement à Capgo le lien de téléchargement avec l’option --external <url>

Voir également notre politique de confidentialité : https://capgo.app/privacy

Puis-je utiliser Capgo depuis mon système CI ?

Section titled “Puis-je utiliser Capgo depuis mon système CI ?”

Oui. Capgo est destiné à être utilisé à partir des systèmes CI. Nous avons publié un guide pour Android et Github Actions et iOS, ainsi que pour GitLab. Les autres systèmes CI devraient être similaires.

N’hésitez pas à nous contacter pour les problèmes GitHub ou Discord si vous rencontrez des problèmes.### Quel est le rapport avec Firebase Remote Config ou Launch Darkly ?

Le code push permet d’ajouter un nouveau code/de remplacer le code sur l’appareil. Firebase Remote Config et Launch Darkly sont tous deux des systèmes de configuration. Ils vous permettent de modifier la configuration de votre application sans avoir à expédier une nouvelle version. Ils ne sont pas destinés à remplacer le code.

Quelle empreinte de dépendance cela ajoute-t-il ?

Section titled “Quelle empreinte de dépendance cela ajoute-t-il ?”

Je n’ai pas mesuré récemment, mais je m’attends à ce que la bibliothèque de code push ajoute moins d’un mégaoctet aux applications Capacitor. Nous savons comment réduire ce montant lorsque cela devient une priorité. Si la taille vous bloque, faites-le-nous savoir !

Est-ce que Capgo fonctionne sur le simulateur iOS 18.4 ?

Section titled “Est-ce que Capgo fonctionne sur le simulateur iOS 18.4 ?”

Non. En raison d’un problème en amont affectant le simulateur iOS 18.4, Capgo n’y fonctionne pas de manière fiable. Veuillez tester sur un appareil réel ou utiliser une autre version du simulateur iOS.

Voir les détails dans le problème React Native : facebook/react-native#50510

Le code push fonctionne-t-il avec les grandes applications ?

Section titled “Le code push fonctionne-t-il avec les grandes applications ?”

Oui. Il n’y a aucune limite sur la taille de l’application qui peut être mise à jour avec le code push. Comme indiqué ci-dessous, Capgo peut modifier n’importe quel code JS dans votre application, quelle que soit sa taille.

À noter : une taille plus grande rend plus difficile pour les utilisateurs de télécharger les mises à jour. Nous vous recommandons de garder votre application aussi petite que possible.

Pour quoi puis-je utiliser le code push Capgo ?

Section titled “Pour quoi puis-je utiliser le code push Capgo ?”

Nous avons vu diverses utilisations, notamment :

  • Correctifs d’urgence pour les applications de production.
  • Envoi de corrections de bugs aux utilisateurs des anciennes versions de votre application.
  • Expédition constante (par exemple toutes les heures).

Notez que la plupart des magasins d’applications interdisent les codes d’expédition qui modifient le comportement de l’application de manière significative. Veuillez consulter ci-dessous pour plus d’informations.

Qu’est-ce qui compte comme une “MAU” pour Capgo ?

Section titled “Qu’est-ce qui compte comme une “MAU” pour Capgo ?”

Un MAU est un « utilisateur actif mensuel ». Dans le contexte de Capgo, cela fait en fait référence à un appareil actif mensuel. Nous comptons une MAU comme tout appareil ayant contacté nos serveurs au cours des 30 derniers jours. Nous ne comptons pas les appareils qui n’ont pas contacté nos serveurs au cours des 30 derniers jours.

Important : À partir de la version du plugin v5.10.0, v6.25.0 et v7.25.0, l’ID de l’appareil persiste désormais lors des réinstallations d’applications. Avant ces versions, chaque réinstallation d’application générait un nouvel ID d’appareil et comptait comme une nouvelle MAU.Avec les versions actuelles : - DeviceID persiste lors des réinstallations d’applications (stocké en toute sécurité dans le trousseau sur iOS et EncryptedSharedPreferences sur Android)

  • La mise à jour de l’application ne crée pas de nouvel identifiant d’appareil
  • Pendant le développement, si vous utilisez une ancienne version du plugin (< v5.10.0 / v6.25.0 / v7.25.0), each reinstall still creates a new MAU

Note: TestFlight downloads and channel switches in Android may still generate new device registrations depending on your configuration.

Nous vous recommandons, après la première configuration, de désactiver les périphériques de développement et les émulateurs afin de réduire le nombre de périphériques dupliqués.

Pourquoi ne pouvons-nous pas utiliser le code push Capgo ?

Section titled “Pourquoi ne pouvons-nous pas utiliser le code push Capgo ?”

Comme ci-dessus, Capgo ne doit pas être utilisé pour enfreindre les politiques de l’App Store. Veuillez consulter ci-dessous pour plus d’informations.

De plus, Capgo ne prend pas en charge la modification du code natif (par exemple, Java/Kotlin sur Android ou Objective-C/Swift sur iOS). L’outil vous avertira lors d’une tentative de mise à jour si vous avez modifié le code natif.

Puis-je mettre à jour les modifications de condensateur.config.ts via Capgo ?

Section titled “Puis-je mettre à jour les modifications de condensateur.config.ts via Capgo ?”

Non. Les modifications apportées à capacitor.config.ts ne peuvent pas être envoyées via les mises à jour en direct de Capgo. Le fichier de configuration Capacitor est lu au moment de la construction native et compilé dans le binaire de l’application native. Cela signifie que toute modification apportée à capacitor.config.ts (telle que les configurations du plug-in, l’ID de l’application, les paramètres du serveur ou les options du plug-in natif) nécessite une nouvelle version native via App Store ou Google Play.

Capgo ne peut mettre à jour que les ressources Web (HTML, CSS, JavaScript) chargées au moment de l’exécution. Si vous devez modifier votre configuration Capacitor, vous devez :

  1. Mettez à jour capacitor.config.ts localement
  2. Reconstruisez votre application native (npx cap sync suivi d’une version native)
  3. Soumettez le nouveau binaire aux magasins d’applications

Est-ce que Capgo est soumis aux magasins pour moi ?

Section titled “Est-ce que Capgo est soumis aux magasins pour moi ?”

Capgo ne prend actuellement pas en charge la soumission aux magasins d’applications en votre nom. Nous prévoyons de l’ajouter à l’avenir, mais pour l’instant, vous devrez continuer à utiliser vos processus existants pour soumettre des candidatures aux magasins d’applications.

Vous pouvez utiliser notre guide CI Android pour automatiser ce processus et notre guide CI iOS.

Le programme de mise à jour Capgo (inclus dans votre application lorsque vous créez votre application) met en cache le dernier bundle téléchargé dans le seul répertoire que le condensateur permet de charger du code. Sur Android, il se trouve dans /data/user/0/com.example.app/code_cache/capgo_updater bien que la base de ce chemin soit fournie par le système Android et puisse changer dynamiquement au moment de l’exécution. Sur les appareils iOS, les données sont stockées sous Library/Application Support/capgo.

Les outils de ligne de commande Capgo (par exemple npx @capgo/cli@latest bundle upload) sont installés sur le disque dans les caches npm, vos connexions sont stockées dans votre répertoire personnel dans ~/.capgo.### Quel est le rapport avec Capacitor Hot Reload ?

Le rechargement à chaud de Capacitor est une fonctionnalité réservée au temps de développement. Le code push est destiné à la production.

Le rechargement à chaud est une fonctionnalité de Capacitor qui vous permet de modifier le code sur l’appareil pendant le développement. Cela nécessite de créer l’application Capacitor avec un proxy pour vous connecter à votre ordinateur local.

Code Push est une fonctionnalité qui vous permet de modifier le code sur l’appareil en production. Nous utiliserons différentes techniques pour rendre cela possible en fonction de la plateforme.

Quels types de modifications le code push Capgo prend-il en charge ?

Section titled “Quels types de modifications le code push Capgo prend-il en charge ?”

Capgo peut modifier n’importe quel code JS dans votre application. Cela inclut le code de l’application et le code généré. Vous pouvez également mettre à jour les dépendances dans package.json tant qu’elles ne nécessitent pas de modifications du code natif.

Nous ne prévoyons pas de prendre en charge la modification du code natif (par exemple Java/Kotlin sur Android ou Objective-C/Swift sur iOS), et l’outil vous avertira s’il détecte que vous avez modifié le code natif car il ne sera pas inclus dans le bundle.

Le code push n’est pas nécessaire pour le Web car le Web fonctionne déjà de cette façon. Lorsqu’un utilisateur ouvre une application Web, il télécharge la dernière version depuis le serveur si nécessaire.

Si vous avez un cas d’utilisation du code push avec le Web, nous serions ravis de le savoir !

Cela fonctionnera-t-il sur iOS, Android, Mac, Windows, Linux, etc ?

Section titled “Cela fonctionnera-t-il sur iOS, Android, Mac, Windows, Linux, etc ?”

Oui.

Jusqu’à présent, nous nous sommes concentrés sur la prise en charge de Android, iOS et Electron, et la diffusion de code est prête pour la production sur les trois.

Quelles versions de système d’exploitation sont prises en charge par Capgo ?

Section titled “Quelles versions de système d’exploitation sont prises en charge par Capgo ?”

Capgo prend en charge les mêmes versions de Android que Capacitor prend en charge.

Capacitor prend actuellement en charge Android API niveau 22+ et iOS 13.0+ : https://capacitorjs.com/docs/main/reference/support-policy

Quelles versions de Capacitor Capgo prend-il en charge ?

Section titled “Quelles versions de Capacitor Capgo prend-il en charge ?”

Capgo ne prend actuellement en charge que les versions stables récentes de Capacitor. Nous pourrions également prendre en charge les anciennes versions de Capacitor, mais nous n’avons tout simplement pas construit l’infrastructure nécessaire pour les maintenir au fil du temps. Nous avons l’intention de prendre en charge davantage de versions de Capacitor à l’avenir, y compris toute version destinée à nos clients entreprises. https://github.com/Cap-go/capgo/issues/1100

Capgo suit la version stable de Capacitor et se met généralement à jour quelques heures après toute version stable. Notre système permettant d’effectuer ces mises à jour est automatisé et son exécution prend quelques minutes. Nous effectuons ensuite une étape de vérification manuelle supplémentaire avant de publier sur nos serveurs.### Quel est le rapport avec le processus ou les politiques d’examen de l’application/Play Store ?

Les développeurs sont liés par leurs accords avec les fournisseurs de magasins lorsqu’ils choisissent d’utiliser ces magasins. Code Push est conçu pour permettre aux développeurs de mettre à jour leurs applications tout en respectant les politiques du magasin sur les canaux de diffusion iOS, Android et Electron. Semblable à la variété de produits commerciaux disponibles pour le faire avec React Native (par exemple Microsoft, Expo).

Microsoft publie également un guide sur la conformité de leur solution avec les app stores : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Le code push est une technique largement utilisée dans les magasins d’applications. Toutes les grandes applications que je connais utilisent du code push. La principale politique à prendre en compte est de ne pas modifier de manière significative le comportement de l’application. Veuillez consulter ci-dessous pour plus d’informations.

Capgo est-il conforme aux directives Play Store ?

Section titled “Capgo est-il conforme aux directives Play Store ?”

Oui.

Le Play Store propose deux restrictions relatives aux outils de mise à jour.

  1. Les mises à jour doivent utiliser un interpréteur ou une machine virtuelle (Capgo utilise JavaScript dans une WebView). https://support.google.com/googleplay/android-developer/answer/9888379?hl=en
An app distributed via Google Play may not modify, replace, or update itself
using any method other than Google Play's update mechanism. Likewise, an app
may not download executable code (such as dex, JAR, .so files) from a
source other than Google Play. *This restriction does not apply to code
that runs in a virtual machine or an interpreter* where either provides
indirect access to Android APIs (such as JavaScript in a webview or
browser).
Apps or third-party code, like SDKs, with interpreted languages (JavaScript,
Python, Lua, etc.) loaded at run time (for example, not packaged with the
app) must not allow potential violations of Google Play policies.
  1. Les modifications apportées à l’application ne doivent pas être trompeuses (par exemple, modification de l’objectif de l’application via une mise à jour). https://support.google.com/googleplay/android-developer/answer/9888077 Veuillez être clair avec vos utilisateurs sur ce que vous fournissez avec votre application et ne violez pas leurs attentes en modifiant leur comportement de manière significative grâce à l’utilisation de Capgo.

Capgo est conçu pour être compatible avec les directives Play Store. Cependant, Capgo est un outil et, comme tout outil, il peut être abusé. Abuser délibérément de Capgo pour enfreindre les directives de Play Store constitue une violation des Capgo Conditions d’utilisation et peut entraîner la résiliation de votre compte.

Enfin, les services de code push sont largement utilisés dans l’industrie (toutes les grandes applications que je connais les utilisent) et il existe plusieurs autres services de code push accessibles au public (par exemple expo.dev et appcenter.ms). C’est un chemin bien parcouru.

Microsoft publie également un guide sur la façon dont sa bibliothèque native “codepush” est conforme aux magasins d’applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Capgo est-il conforme aux directives App Store ?

Section titled “Capgo est-il conforme aux directives App Store ?”

Oui.

Semblable au Play Store, le App Store propose des restrictions techniques et politiques.

3.2.2
... interpreted code may be downloaded to an Application but only so long as
such code:
(a) does not change the primary purpose of the Application by providing
features or functionality that are inconsistent with the intended and
advertised purpose of the Application as submitted to the App Store,
(b) does not create a store or storefront for other code or applications, and
(c) does not bypass signing, sandbox, or other security features of the OS.

Capgo utilise JavaScript dans une WebView pour se conformer à la restriction d’interprétation uniquement pour les mises à jour sur iOS. Tant que votre application n’adopte pas de comportement trompeur via des mises à jour (par exemple, modifier l’objectif de l’application via une mise à jour), la mise à jour via Capgo (ou toute autre solution de code push) est une pratique standard de l’industrie et est conforme aux directives App Store.Abuser délibérément de Capgo pour enfreindre les directives de App Store constitue une violation des Capgo Conditions d’utilisation et peut entraîner la résiliation de votre compte.

Microsoft publie également un guide sur la conformité de sa bibliothèque native “codepush” avec les magasins d’applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Nous n’avons pas tenté de restreindre l’accès à Capgo depuis aucun pays.

Nous reconnaissons que certains pays imposent des restrictions quant aux URL accessibles depuis l’intérieur du pays. Capgo utilise actuellement Cloudflare Cloud pour l’hébergement, y compris le stockage R2 et les Workers Cloudflare.

Les URL suivantes sont utilisées par Capgo :

  • https://api.capgo.app — utilisé par les outils de ligne de commande npx @capgo/cli pour interagir avec les serveurs Capgo ainsi qu’avec le programme de mise à jour Capgo sur les appareils des utilisateurs pour rechercher des mises à jour.
  • https://*.r2.cloudflarestorage.com — utilisé par l’outil de ligne de commande npx @capgo/cli pour charger et télécharger le bundle

Si toutes ces URL sont accessibles depuis votre pays, alors Capgo devrait fonctionner.

Si votre région nécessite le blocage de l’accès à l’une de ces URL, veuillez nous en informer et nous pourrons travailler avec vous pour trouver une solution. Les serveurs proxy sont une option.

Oui, vous pouvez auto-héberger Capgo. Le guide n’est pas encore écrit, mais le code est open source et disponible sur https://github.com/cap-go/capgo

Le code push nécessite-t-il Internet pour fonctionner ?

Section titled “Le code push nécessite-t-il Internet pour fonctionner ?”

Oui. On pourrait imaginer exécuter un serveur pour distribuer les mises à jour séparément de l’Internet général, mais une certaine forme de connectivité réseau est requise pour transporter les mises à jour vers les appareils.

Comment Capgo est-il affecté par le manque de connectivité réseau ?

Section titled “Comment Capgo est-il affecté par le manque de connectivité réseau ?”

Le programme de mise à jour Capgo (inclus dans votre application lorsque vous créez votre application avec Capgo) est conçu pour être résilient aux problèmes de connectivité réseau.

Dans le comportement de mise à jour par défaut, lorsque l’application est lancée, elle alerte le programme de mise à jour Capgo, qui génère un thread distinct pour envoyer une requête réseau aux serveurs de Capgo et demander une mise à jour. Nous utilisons intentionnellement un thread séparé pour éviter de bloquer tout ce que l’application pourrait faire. Si la requête réseau échoue ou expire, le programme de mise à jour tentera simplement de vérifier à nouveau au prochain lancement de l’application.

Les outils de ligne de commande Capgo (par exemple npx @capgo/cli@latest bundle upload) nécessitent une connectivité réseau pour fonctionner. Si vous utilisez Capgo pour distribuer votre application, vous devez vous assurer que votre système CI dispose d’une connectivité réseau.

Que se passe-t-il si un utilisateur ne met pas à jour pendant une longue période et manque une mise à jour ?Notre implémentation envoie toujours une mise à jour spécifiquement adaptée à l’appareil qui la demande, mettant toujours à jour le demandeur vers la dernière version disponible. Ainsi, si un utilisateur ne met pas à jour pendant un certain temps, il « manquera » les mises à jour intermédiaires.

Section titled “Que se passe-t-il si un utilisateur ne met pas à jour pendant une longue période et manque une mise à jour ?Notre implémentation envoie toujours une mise à jour spécifiquement adaptée à l’appareil qui la demande, mettant toujours à jour le demandeur vers la dernière version disponible. Ainsi, si un utilisateur ne met pas à jour pendant un certain temps, il « manquera » les mises à jour intermédiaires.”

Le serveur de mise à jour peut être modifié pour prendre en charge la réponse avec la prochaine version incrémentielle ou la dernière version en fonction des besoins de votre application. Veuillez nous faire savoir si des comportements de mise à jour alternatifs sont importants pour vous.

Quel est le rapport entre Capgo et Capacitor ?

Section titled “Quel est le rapport entre Capgo et Capacitor ?”

Capgo est un plugin pour Capacitor qui ajoute du code push. Capgo ne remplace pas Capacitor. Vous pouvez continuer à utiliser les outils Capacitor que vous connaissez et aimez déjà.

Nous suivons la dernière version stable de Capacitor et mettons à jour notre plugin code push pour fonctionner avec elle.

Par défaut, le programme de mise à jour Capgo recherche les mises à jour au démarrage de l’application. Il s’exécute sur un thread d’arrière-plan et ne bloque pas le thread de l’interface utilisateur. Toutes les mises à jour seront installées pendant que l’utilisateur utilise l’application et seront appliquées au prochain redémarrage de l’application.

Il est également possible d’exécuter manuellement le programme de mise à jour Capgo à l’aide du package @capgo/capacitor-updater, grâce auquel il est possible de déclencher des mises à jour à tout moment, y compris via une notification push.

Le programme de mise à jour Capgo est conçu de telle sorte que lorsque le réseau n’est pas disponible ou que le serveur est en panne ou inaccessible, l’application continue de s’exécuter normalement. Si jamais vous choisissez de supprimer une mise à jour de nos serveurs, tous vos clients continueront de fonctionner normalement.

Nous avons ajouté la possibilité de restaurer les correctifs. Le plus simple est de simplement attacher un bundle précédent à votre chaîne pour l’annuler.

Non. Le app_id est inclus dans votre application et peut être rendu public en toute sécurité. Vous pouvez l’archiver dans le contrôle de version (même publiquement) sans vous soucier de l’accès de quelqu’un d’autre.

Une personne disposant de votre app_id peut récupérer la dernière version de votre application à partir des serveurs Capgo, mais elle ne peut pas envoyer de mises à jour de votre application ni accéder à tout autre aspect de votre compte Capgo.

Quelles informations sont envoyées aux serveurs Capgo ?

Section titled “Quelles informations sont envoyées aux serveurs Capgo ?”

Bien que Capgo se connecte au réseau, il n’envoie aucune information personnelle identifiable. L’inclusion de Capgo ne devrait pas affecter vos déclarations pour le Play Store ou le App Store.

Les requêtes envoyées depuis l’application aux serveurs Capgo incluent :- app_id (spécifié capacitor.config.json)

  • canal (facultatif dans capacitor.config.json)
  • release_version (versionName de AndroidManifest.xml ou CFBundleShortVersionString de Info.plist ou capacitor.config.json si défini dans CapacitorUpdater.version )
  • version_number (généré dans le cadre de npx @capgo/cli@latest bundle upload)
  • os_version (par exemple ‘11.2.1’)
  • plate-forme (par exemple « Android », nécessaire pour envoyer le bon patch) C’est tout. Le code pour cela est dans updater/library/src/network.rs
  • device_id (généré sur l’appareil lors de la première exécution, utilisé pour dédupliquer les installations par appareil et nous permettre de facturer en fonction des utilisateurs installés (par exemple, utilisateurs actifs mensuels), plutôt que du nombre total de correctifs ou du nombre total d’installations de correctifs)
  • custom_id ( facultatif, défini lors de l’exécution par le développeur, utilisé pour vous permettre de lier un appareil à un utilisateur de votre système)

Quelles plates-formes sont prises en charge par Capgo ?

Section titled “Quelles plates-formes sont prises en charge par Capgo ?”

Actuellement, Capgo prend en charge Android, iOS et Electron. Tous sont prêts pour la production.

L’utilisation de Capgo pour iOS, Android ou Electron peut être une décision indépendante. Vous pouvez définir votre stratégie de canal pour Android et un ipa construit pour le App Store, ou les canaux Electron, selon vos besoins.

Capgo peut (relativement facilement) être conçu pour prendre en charge des cibles de bureau ou intégrées. Si ceux-ci sont importants pour vous, veuillez nous le faire savoir.

Comment Capgo interagit-il avec les pistes de test de lecture ou Apple TestFlight ?

Section titled “Comment Capgo interagit-il avec les pistes de test de lecture ou Apple TestFlight ?”

Chacune des boutiques d’applications dispose de mécanismes distincts pour distribuer des applications à des groupes limités d’utilisateurs (par exemple, « tests internes », « bêta fermée », etc.). Ce sont tous des mécanismes permettant de segmenter vos utilisateurs en groupes et de distribuer à chacun des versions spécifiques de vos applications.

Malheureusement, tous ces mécanismes ne permettent pas à des tiers de détecter quand des applications sont installées dans une piste de test spécifique ou via TestFlight. Ainsi, nous n’avons pas de visibilité fiable sur la composition de ces groupes et ne pouvons pas contrôler de manière fiable l’accès aux correctifs Capgo basés sur ces groupes. https://stackoverflow.com/questions/53291007/can-an-android-application-identify-the-test-track-within-google-play https://stackoverflow.com/questions/26081543/how-to-tell-at-runtime-whether-an-ios-app-is-running-through-a-testflight-beta-i

Si vous souhaitez segmenter la disponibilité du pack Capgo, il existe 4 options potentielles :1. Utilisez un canal séparé pour chaque groupe. Il s’agit de l’approche la plus simple, mais elle nécessite la gestion de plusieurs canaux. Vous disposez peut-être déjà de chaînes de développement et de chaînes de production avec des disponibilités différentes. Vous pouvez ainsi mettre à jour vos canaux de développement, le vérifier puis mettre à jour séparément vos canaux de production. Nous vous recommandons d’utiliser des branches/balises dans votre contrôle de version pour vous aider à garder une trace des sources associées à chaque version. 2. Suivez votre propre ensemble d’utilisateurs opt-in, désactivez les mises à jour automatiques et déclenchez les mises à jour uniquement pour certains utilisateurs via le package @capgo/capacitor-updater. Cela fonctionne aujourd’hui, mais vous oblige à gérer votre propre liste d’adhésion. 3. Capgo permet de créer son propre mécanisme d’adhésion pour chaque appareil (similaire à Test Tracks ou TestFlight, uniquement indépendant de la plate-forme). Cela permet à votre équipe d’assurance qualité d’accepter le regroupement avant qu’ils ne soient promus auprès du grand public. 4. Capgo ont des déploiements basés sur un pourcentage. Cela ne vous permet pas de choisir les appareils vers lesquels envoyer l’envoi, mais peut vous aider à déployer progressivement et à revenir en arrière en cas de problème.

Comment puis-je mettre à niveau ou rétrograder mon forfait ?

Section titled “Comment puis-je mettre à niveau ou rétrograder mon forfait ?”

Vous pouvez mettre à niveau ou rétrograder votre forfait à tout moment dans votre tableau de bord : https://console.capgo.app/settings/organization/plans

Quand ma période de facturation est-elle réinitialisée ?

Section titled “Quand ma période de facturation est-elle réinitialisée ?”

Les périodes de facturation sont automatiquement réinitialisées chaque mois le mois de votre premier abonnement à Capgo. Par exemple, si vous vous êtes abonné le 15 du mois, votre période de facturation sera réinitialisée le 15 de chaque mois.

Vous pouvez annuler votre abonnement à tout moment dans votre tableau de bord : https://console.capgo.app/settings/organization/plans

Oui, vous pouvez le faire à tout moment dans votre tableau de bord : https://console.capgo.app/settings/organization/plans

Les statistiques de votre tableau de bord sont mises à jour tous les minuit UTC. Les statistiques sont calculées en fonction du nombre de MAU qui ont été installés sur vos appareils.

Comment l’ID de l’appareil est généré

Section titled “Comment l’ID de l’appareil est généré”

L’ID de l’appareil est généré sur l’appareil lors de la première exécution et est utilisé pour dédupliquer les installations par appareil et nous permettre de facturer en fonction des utilisateurs installés (par exemple, utilisateurs actifs mensuels), plutôt que du nombre total de correctifs ou du nombre total d’installations de correctifs.

MAU est une meilleure solution que le nombre d’installations pour fixer le prix de Capgo, car il est plus précis et reflète le coût réel de Capgo par appareil.Persistance de l’ID de périphérique (mis à jour dans les versions 6.25.0 et 7.25.0) :

  • Comportement actuel : l’ID de périphérique persiste désormais lors des réinstallations d’applications. Il est stocké en toute sécurité dans le trousseau de l’appareil (iOS) ou dans les préférences partagées cryptées (Android), nous permettant de suivre le même appareil même après la désinstallation/réinstallation.
  • Comportement précédent (avant la version 6.25.0/v7.25.0) : pour des raisons de confidentialité liées aux politiques du magasin Apple et Google, l’ID de l’appareil a été réinitialisé à chaque réinstallation d’application, ce qui a rendu impossible le suivi du même appareil lors des réinstallations.

Les règles de confidentialité sont appliquées par Apple et Google, et la mise en œuvre de Capgo est conforme à leurs meilleures pratiques en matière d’identification des appareils.

L’ID de l’appareil ne sera pas répertorié dans votre liste d’appareils jusqu’à ce que leur premier correctif soit installé.

Pourquoi mon numéro d’appareil est différent de celui de ma MAU ?

Section titled “Pourquoi mon numéro d’appareil est différent de celui de ma MAU ?”

Actuellement, la liste des appareils n’est pas mise à jour aussi souvent que la MAU.

La liste des appareils est mise à jour uniquement lorsqu’un appareil installe une mise à jour.

Alors que le MAU est mis à jour à chaque lancement d’application. Il s’agit d’une limitation actuelle de la plateforme. Notre plateforme Analytics ne prend pas en charge les mises à jour brutes, nous utilisons donc une base de données conventionnelle pour la liste des appareils.

Pour limiter le nombre de requêtes de base de données, nous mettons à jour la ligne uniquement lors de la mise à jour de l’application.

Cette limitation sera supprimée à l’avenir.

Comment avoir une mise à jour différente par plateforme ?

Section titled “Comment avoir une mise à jour différente par plateforme ?”

Vous pouvez créer une chaîne pour chaque plateforme. et désactivez les mises à jour spécifiques à la plate-forme dans chaque canal.

Sur le canal iOS, désactivez les mises à jour Android et sur le canal Android, désactivez les mises à jour iOS.

Téléchargez ensuite un bundle sur chaque chaîne pour avoir une mise à jour différente pour chaque plateforme.

Si vous avez besoin de la même mise à jour pour les deux plates-formes, vous pouvez associer un forfait à plusieurs chaînes. Pas besoin de dupliquer le bundle.