Aller directement au contenu

FAQ

Si vous avez des questions non répondues ici, veuillez demander ! Les deux, ouvrir un ticket ou demander sur Discord travail.

Code push, également appelé « mises à jour en ligne » (OTA), est un service cloud qui permet aux développeurs de Capacitor de déployer des mises à jour dans leurs applications en production. Capgo fonctionne actuellement sur Android, iOS et Electron.

« Code Push » fait référence au nom d'une fonction de déploiement utilisée par la communauté React Native de Microsoft et Expo, qui ne supportent pas Capacitor.

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

Section intitulée « Quelle est la différence entre un bundle et une release ? »

Nous utilisons le terme « release » pour désigner la préparation d'un fichier binaire pour les magasins d'applications. Pour générer ultérieurement un bundle, Capgo doit connaître l'exacte version binaire qui a été envoyée aux magasins d'applications.

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

Nos tableaux de projet sont également publics et peuvent être trouvés à : https://github.com/orgs/Cap-go/projects

Notre équipe opère également en public, vous pouvez donc voir ce que nous travaillons en tout temps. Nous sommes heureux de répondre à toutes vos questions sur notre plan de développement ou nos priorités via les Github issues ou Discord.

Oui ! Toutes les offres supportent un nombre illimité de développeurs. Nous ne limitons que les métriques de l'application (MAU, stockage et bande passante) à chaque organisation.

Voir Équipes pour plus d'informations.

Non. Les serveurs Capgo ne voient jamais votre source code. 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 source code.

Pour une sécurité supplémentaire, vous avez deux options :

  • Chiffrement de bout en bout: Chiffrez votre bundle avant de l'uploader pour le protéger en stockage et en transit et pour empêcher les tiers de générer des mises à jour chiffrées valides sans votre clé privée. Cela ne rend pas les actifs web embarqués impossibles à décompiler car la clé publique est présente dans l'application distribuée.
  • Chargement de URL externe: Stockez le bundle sur votre propre serveur et n'offrez à Capgo que le lien de téléchargement avec l'option --external <url>

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

Puis-je utiliser Capgo à partir de mon système CI ?

Section intitulée “Puis-je utiliser Capgo à partir de mon système CI ?”

Oui. Capgo est conçu pour être utilisé à partir de systèmes CI. Nous avons publié un guide pour Android et Github Actions et iOSet pour GitLabLes autres systèmes CI devraient être similaires.

Veuillez ne pas hésiter à nous contacter sur les GitHub problèmes ou Discord si vous rencontrez des problèmes.

Comment cela se rapporte-t-il à Firebase Remote Config ou Launch Darkly ?

Sous-section intitulée « Comment cela se rapporte-t-il à Firebase Remote Config ou Launch Darkly ? »

Le Code push permet d'ajouter de nouveaux code / de remplacer code sur le dispositif. 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 à envoyer une nouvelle version. Ils ne sont pas destinés à remplacer code.

Je n'ai pas mesuré récemment, mais je pense que la bibliothèque de push code ajoutera moins d'un mégabyte aux applications Capacitor. Nous savons comment faire cela plus petit lorsque cela devient une priorité. Si la taille est un blocage pour vous, veuillez nous le faire savoir !

Fonctionne-t-il Capgo sur le simulateur iOS 18.4 ?

Section intitulée « Fonctionne-t-il Capgo sur le simulateur iOS 18.4 ? »

Non. En raison d'un problème upstream affectant le simulateur iOS 18.4, Capgo ne fonctionne pas de manière fiable là-bas. Veuillez tester sur un appareil réel ou utiliser une version différente du simulateur iOS.

Voir les détails dans l'incident React Native : facebook/react-native#50510

Fonctionne-t-il code Push avec des applications volumineuses ?

Section intitulée « Fonctionne-t-il code Push avec des applications volumineuses ? »

Oui. Il n'y a pas de limite sur la taille de l'application qui peut être mise à jour avec code Push. Comme indiqué en dessous, Capgo peut modifier n'importe quel code JS dans votre application, quel que soit la taille.

To note: une taille plus grande rendra plus difficile aux utilisateurs de télécharger les mises à jour. Nous recommandons de garder votre application aussi petite que possible.

Qu'est-ce que je peux utiliser Capgo code pour envoyer ?

Section intitulée “Qu'est-ce que je peux utiliser Capgo code pour envoyer ?”

On a vu une variété d'utilisations, notamment :

  • Fixes d'urgence pour les applications en production.
  • Expédition de correctifs de bogues vers les utilisateurs sur des versions plus anciennes de votre application.
  • Expédition constante (par exemple, toutes les heures).

Notez que la plupart des magasins d'applications interdisent l'expédition de code qui modifie le comportement de l'application d'une manière significative. Veuillez consulter ci-dessous pour plus d'informations.

Qu'est-ce qui compte comme un “MAU” pour Capgo ?

Quel est le lien direct pour Capgo ?

Un MAU est un « Utilisateur Actif Mensuel ». Dans le contexte de Capgo , cela fait référence en réalité à un appareil actif mensuel. Nous comptons un MAU comme n'importe quel appareil qui a 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, le deviceID persiste désormais à travers les réinstallations d'applications. Avant ces versions, chaque réinstallation d'applications générerait un nouveau deviceID et serait compté comme un nouveau MAU.

Avec les versions actuelles :

  • Le DeviceID persiste à travers les réinstallations d'applications (stocké de manière sécurisée dans Keychain sur iOS et EncryptedSharedPreferences sur Android)
  • La mise à jour de l'application ne crée pas de nouveau ID de Dispositif
  • Durant le développement, si vous utilisez une ancienne version du plugin (&#x3C; v5.10.0 / v6.25.0 / v7.25.0), chaque réinstallation crée toujours un nouveau MAU

Remarque : Les téléchargements TestFlight et les changements de canal sur Android peuvent toujours générer de nouvelles inscriptions de dispositifs en fonction de votre configuration.

On recommande de désactiver les appareils de développement et les émulateurs après la première configuration pour réduire le nombre de dispositifs dupliqués.

Qu'est-ce que nous ne pouvons pas utiliser Capgo code pour ?

Section intitulée « Qu'est-ce que nous ne pouvons pas utiliser Capgo code pour ? »

Comme ci-dessus, Capgo ne doit pas être utilisé pour violer les politiques de l'App Store. Voir ci-dessous pour plus d'informations. __CAPGO_KEEP_0__ ne prend pas en charge non plus la modification de __CAPGO_KEEP_1__ natif (par exemple Java/Kotlin sur Android ou Objective-C/Swift sur iOS). L'outil vous avertira pendant une mise à jour tentée si vous avez modifié __CAPGO_KEEP_2__ natif. Peut-on mettre à jour les modifications de __CAPGO_KEEP_0__.config.ts via __CAPGO_KEEP_1__ ?

Also Capgo does not support changing native code (e.g. Java/Kotlin on Android or Objective-C/Swift on iOS). The tool will warn you during an attempted update if you have changed native code.

Peut-on mettre à jour les modifications de capacitor.config.ts via Capgo ?

Section intitulée “Puis-je mettre à jour les modifications de capacitor.config.ts via Capgo ?”

Non. Les modifications de capacitor.config.ts ne peuvent pas être envoyées à travers les mises à jour en direct de Capgo. Le fichier de configuration Capacitor est lu lors de la compilation native et compilé dans le fichier binaire de l'application native. Cela signifie que toute modification de capacitor.config.ts (comme les configurations de plugins, l'ID de l'application, les paramètres du serveur ou les options de plugins natifs) nécessite une nouvelle mise à jour native via l'App Store ou Google Play.

Capgo peut uniquement mettre à jour les actifs web (HTML, CSS, JavaScript) chargés en temps de exécution. Si vous avez besoin de modifier votre fichier de configuration Capacitor, vous devez :

  1. Mettre à jour capacitor.config.ts localement
  2. Recompiler votre application native (npx cap sync suivi d'une compilation native)
  3. Soumettre le nouveau fichier binaire aux magasins d'applications

Capgo soumet-il les applications aux magasins pour moi ?

Section intitulée « Capgo soumet-il les applications aux magasins pour moi ? »

Capgo ne prend pas actuellement en charge la soumission des applications aux magasins pour votre compte. Nous avons des plans pour ajouter cela à l'avenir, mais pour l'instant, vous devrez continuer à utiliser vos processus existants pour soumettre les applications aux magasins.

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

Qu'est-ce que Capgo stocke sur le disque dur et où ?

Section intitulée « Qu'est-ce que Capgo stocke sur le disque dur et où ? »

Le mises à jour de Capgo (inclus dans votre application lors de la construction de votre application) cache le dernier bundle téléchargé dans le seul répertoire que capacitor autorise à charger code. Sur Android, cela 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 peut changer dynamiquement en temps de exécution. Sur les appareils iOS, les données sont stockées sous Library/Application Support/capgo.

La commande de ligne Capgo (par exemple, npx @capgo/cli@latest bundle upload) est installée sur le disque dans les caches npm, vos identifiants de connexion sont stockés dans votre répertoire personnel dans ~/.capgo.

Comment cela se rapporte-t-il à la mise à jour instantanée Capacitor ?

Section intitulée « Comment cela se rapporte-t-il à la mise à jour instantanée Capacitor ? »

La mise à jour instantanée de Capacitor est une fonctionnalité réservée à l'environnement de développement. La mise à jour Code est pour la production.

La mise à jour instantanée est une fonctionnalité de Capacitor qui vous permet de modifier code sur le dispositif pendant le développement. Cela nécessite la construction de l'application Capacitor avec un proxy pour se connecter à votre machine locale.

La mise à jour Code est une fonctionnalité qui vous permet de modifier code sur le dispositif en production. Nous utiliserons une variété de techniques différentes pour rendre cela possible en fonction de la plateforme.

Quels types de modifications la mise à jour instantanée Capgo code prend en charge ?

Section intitulée « Quels types de modifications la mise à jour instantanée Capgo code prend en charge ? »

Capgo peut modifier n'importe quel code JS dans votre application. Cela inclut les code de l'application et les code générés. Vous pouvez également mettre à jour les dépendances dans package.json tant que ceux-ci n'impliquent pas de modifications natives code.

Nous n'avons pas l'intention de soutenir la modification de code natives (par exemple Java/Kotlin sur Android ou Objective-C/Swift sur iOS), et l'outil vous avertira si il détecte que vous avez modifié les code natives car ils ne seront pas inclus dans le bundle.

Cette fonctionnalité prend-elle en charge le Web?

Section intitulée “Cette fonctionnalité prend-elle en charge le Web?”

Le Code push n'est pas nécessaire pour le Web car le Web fonctionne déjà de cette manière. Lorsqu'un utilisateur ouvre une application Web, il télécharge la dernière version du serveur si nécessaire.

Si vous avez un cas d'utilisation pour le code push avec le Web, nous aimerions en savoir plus !

Cette fonctionnalité fonctionnera-t-elle sur iOS, Android, Mac, Windows, Linux, etc. ?

Section intitulée “Cette fonctionnalité fonctionnera-t-elle sur iOS, Android, Mac, Windows, Linux, etc. ?”

Oui.

Jusqu'à présent, nous nous sommes concentrés sur le support Android, iOS et Electron, et le code push est prêt pour la production sur les trois.

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

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 supporte-t-elle ?

Section intitulée “Quelles versions de Capacitor Capgo supporte-t-elle ?”

Capgo prend actuellement en charge uniquement les versions de mise à jour récentes et stables de Capacitor. Nous pourrions également prendre en charge les anciennes versions de Capacitor, mais nous n'avons pas encore mis en place l'infrastructure nécessaire pour maintenir cela à long terme. Nous comptons prendre en charge davantage de versions de Capacitor à l'avenir, y compris toute version pour nos clients entreprises. https://github.com/Cap-go/capgo/issues/1100

Capgo suit les versions stables de Capacitor et met à jour généralement dans les quelques heures qui suivent toute mise à jour stable. Notre système pour effectuer ces mises à jour est automatisé et prend quelques minutes à exécuter. Nous effectuons ensuite une vérification manuelle supplémentaire avant de publier sur nos serveurs.

How s'agit-il en relation avec le processus ou les politiques de la boutique App/Play Store?

Section intitulée « Comment s'agit-il en relation avec le processus ou les politiques de la boutique App/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 et de se conformer encore aux politiques des magasins sur les canaux de livraison iOS, Android et Electron. De même que la variété de produits commerciaux disponibles pour y parvenir avec React Native (par exemple, Microsoft, Microsoft publie également un guide sur la manière dont leur solution se conforme aux politiques des magasins :).

https://__CAPGO_KEEP_0__.com/microsoft/react-native-__CAPGO_KEEP_1__-push#store-guideline-compliance github push est une technique largement utilisée dans les magasins d'applications. Toutes les grandes applications dont je suis conscient utilisent code push. La principale politique dont il faut tenir compte est de ne pas modifier le comportement de l'application d'une manière significative. Voir ci-dessous pour plus d'informations.

Code push is a widely used technique throughout the app stores. All of the large apps I’m aware of use code push. The major policy to be aware of is not to change the behavior of the app in a significant way. Please see La solution __CAPGO_KEEP_0__ se conforme-t-elle aux lignes directrices de la boutique Play Store ? Voir ci-dessous pour plus d'informations.

Oui.

Google Play propose deux restrictions concernant les outils d'actualisation.

  1. Les mises à jour doivent utiliser un interpréteur ou une machine virtuelle (Capgo utilise JavaScript dans un WebView). https://support.google.com/googleplay/android-developer/answer/9888379?hl=fr
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 de l'application ne doivent pas être trompeuses (par exemple, modifier le but de l'application via l'actualisation). https://support.google.com/googleplay/android-developer/answer/9888077 Veuillez être clair avec vos utilisateurs sur ce que vous leur fournissez avec votre application et ne pas violer leurs attentes avec des changements comportementaux significatifs à l'aide de Capgo.

Capgo is designed to be compatible with the Play Store guidelines. However Capgo is a tool, and as with any tool, can be abused. Deliberately abusing Capgo to violate Play Store guidelines is in violation of the Capgo Conditions d'utilisation And cela peut entraîner la fermeture de votre compte.

Enfin, les services de mise à jour code sont largement utilisés dans l'industrie (tous les grands applications dont je suis conscient utilisent-ils) et il existe plusieurs autres services de mise à jour code disponibles publiquement (par exemple, expo.dev & appcenter.ms). C'est un chemin bien balisé.

Microsoft publie également une guide sur la façon dont leur bibliothèque de mise à jour « codepush » native réagit complète avec les magasins d'applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Capgo est-il conforme aux lignes directrices de l'App Store ?

Sous-titre « Capgo est-il conforme aux lignes directrices de l'App Store ? »

Oui.

De même que la Play Store, l'App Store propose des restrictions techniques et des restrictions de politique.

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 un WebView pour se conformer à la restriction d'interpréteur uniquement pour les mises à jour sur iOS. Pour autant que votre application ne se livre pas à un comportement trompeur via les mises à jour (par exemple, changer la finalité de l'application via la mise à jour), la mise à jour via Capgo (ou toute autre solution de mise à jour code) est une pratique standard de l'industrie et conforme aux lignes directrices de l'App Store.

Abuser délibérément de Capgo pour violer les lignes directrices de l'App Store est une violation de Capgo Conditions d'utilisation et peut entraîner la fermeture de votre compte.

Microsoft publie également une guide sur la manière dont leur bibliothèque de mise à jour native « codepush » de React s'accommode des 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 à partir de tout pays.

We recognize that some countries have restrictions on what urls can be accessed from within the country. Capgo currently uses Cloudflare Cloud for hosting, including R2 Storage and Cloudflare workers.

Les URLs suivantes sont utilisées par Capgo :

  • https://api.capgo.app — utilisé par le npx @capgo/cli outils de ligne de commande pour interagir avec les serveurs Capgo ainsi que l'Capgo metteur à jour sur les appareils des utilisateurs pour vérifier les mises à jour.
  • https://*.r2.cloudflarestorage.com — utilisé par l'outil de ligne de commande pour télécharger et télécharger le paquet npx @capgo/cli Si toutes ces URL sont accessibles depuis votre pays, alors __CAPGO_KEEP_0__ devrait fonctionner.

If all of those URLs are accessible from your country, then Capgo should work.

Peut-on héberger __CAPGO_KEEP_0__ soi-même ?

https://Capgo.com/cap-go/code https://github.com/cap-go/capgo

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

Comment Capgo est-il affecté par l'absence de connectivité réseau?

Sous-section intitulée « Comment Capgo est-il affecté par l'absence de connectivité réseau ? »

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

Par défaut, le comportement de mise à jour, lorsque l'application est lancée, alerte le correcteur de mise à jour Capgo, qui démarre un thread séparé pour effectuer une requête réseau vers les serveurs de Capgo et demander une mise à jour. Nous utilisons intentionnellement un thread séparé pour éviter d'affecter tout autre chose que l'application puisse faire. Si la requête réseau échoue ou expire, le correcteur de mise à jour essaiera simplement de vérifier à nouveau la prochaine fois que l'application est lancée.

Les outils de ligne de commande Capgo (par exemple, Capgo) nécessitent une connectivité réseau pour fonctionner. Si vous utilisez Capgo pour distribuer votre application, vous devriez vous assurer que votre système CI a une connectivité réseau. npx @capgo/cli@latest bundle upload) require network connectivity to function. If you are using Capgo to distribute your app, you should ensure that your CI system has network connectivity.

Direct link à : Qu'est-ce qui se passe si un utilisateur ne met pas à jour pendant longtemps et manque une mise à jour?

Qu'est-ce qui se passe si un utilisateur ne met pas à jour pendant longtemps et manque une mise à jour ?

Notre mise en œuvre envoie toujours une mise à jour spécifiquement conçue pour le dispositif qui la demande, mettant à jour le demandeur toujours à la dernière version disponible. Ainsi, si un utilisateur ne met pas à jour pendant un moment, il « manque » les mises à jour intermédiaires.

Le serveur de mise à jour pourrait être modifié pour répondre avec soit la prochaine version incrémentale, soit la dernière version en fonction des besoins de votre application. Veuillez nous faire savoir si les comportements de mise à jour alternatifs sont importants pour vous.

Capgo est un plugin pour Capacitor qui ajoute code de la poussée. Capgo n'est pas une remplacement pour Capacitor. Vous pouvez continuer à utiliser les outils de Capacitor que vous connaissez et aimez.

On suit la dernière version stable de Capacitor et met à jour notre plugin de poussée code pour qu'il fonctionne avec elle.

Par défaut, l'Capgo met à jour vérifie les mises à jour lors du démarrage de l'application. Il fonctionne sur un thread de fond et ne bloque pas le thread de l'interface utilisateur. Toute mise à jour sera installée pendant que l'utilisateur utilise l'application et sera appliquée la prochaine fois que l'application est redémarrée.

Il est également possible de lancer le Capgo mis à jour manuellement à l'aide du @capgo/capacitor-updater package, à travers lequel il est possible de déclencher des mises à jour à tout moment, y compris via une notification de poussée.

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

Nous avons ajouté la possibilité de revenir sur des correctifs. La chose la plus simple est de simplement attacher un bundle précédent à votre canal pour annuler.

Non. Le app_id est inclus dans votre application et est en sécurité pour être public. Vous pouvez le vérifier dans le contrôle de version (même publiquement) et ne vous soucier de personne accédant à cela.

Quelqu'un qui a votre app_id peut récupérer la dernière version de votre application à partir des serveurs Capgo , mais ils ne peuvent pas envoyer de mises à jour à votre application ou accéder à tout autre aspect de votre compte Capgo .

Quelle information est envoyée aux serveurs Capgo ?

Quelle information est envoyée aux serveurs Capgo ?

Même si Capgo se connecte au réseau, elle n'envoie aucune information identifiable personnellement. L'inclusion de Capgo ne devrait pas affecter vos déclarations pour le Play Store ou l'App Store.

Les requêtes envoyées de l'application vers les serveurs Capgo incluent :

  • app_id (spécifié capacitor.config.json)
  • channel (facultatif en capacitor.config.json)
  • release_version (versionName de AndroidManifest.xml ou CFBundleShortVersionString de Info.plist ou capacitor.config.json si défini en CapacitorUpdater.version )
  • version_number (généré en tant que partie de npx @capgo/cli@latest bundle upload)
  • os_version (par exemple ‘11.2.1’)
  • plateforme (par exemple ‘android’, nécessaire pour envoyer le bon correctif) C'est tout. Le code pour cela est en updater/library/src/network.rs
  • device_id (généré sur le dispositif lors de la première exécution, utilisé pour éviter les doublons par appareil et nous permettre de facturer en fonction des utilisateurs installés (par exemple, utilisateurs actifs mensuels) plutôt que le nombre total de correctifs ou le nombre total d'installations de correctifs)
  • ID personnalisé (facultatif, défini en temps de exécution par le développeur, utilisé pour lier un appareil à un utilisateur dans votre système)

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

L'utilisation de Capgo pour iOS, Android ou Electron peut être une décision independante. Vous pouvez définir votre stratégie de canal pour Android et une IPA construite pour l'App Store, ou les canaux Electron, selon vos besoins.

Capgo peut (relativement facilement) être adapté pour prendre en charge les cibles bureau ou embarquées. Si celles-ci sont importantes pour vous, veuillez nous le faire savoir.

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

Section intitulée “Comment Capgo interagit-il avec les pistes de test de Google Play ou Apple TestFlight ?”

Chaque magasin d'applications a des mécanismes séparés pour distribuer des applications à des groupes limités d'utilisateurs (par exemple, « test interne », « bêta fermée », etc.). Ces mécanismes sont tous destinés à segmenter vos utilisateurs en groupes et à distribuer des versions spécifiques de vos applications à chaque groupe.

Malheureusement, ces mécanismes ne permettent pas tous de détecter quand les 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 nous fier pour gérer l'accès aux correctifs de Capgo en fonction de ces groupes. https://stackoverflow.com/questions/53291007/can-an-android-application-identifier-le-traitement-de-test-sur-google-play https://stackoverflow.com/questions/26081543/comment-différencier-en-timé-at-routine-une-application-ios-en-cours-du-testflight-beta-i

Si vous souhaitez segmenter la disponibilité du Capgo bundle, il existe 4 options potentielles :

  1. Utilisez un canal séparé pour chaque groupe. Cette approche est la plus directe, mais nécessite de gérer plusieurs canaux. Vous pouvez déjà avoir des canaux de développement et de production avec des disponibilités différentes. Vous pouvez ainsi mettre à jour vos canaux de développement, les vérifier et mettre ensuite à jour séparément vos canaux de production. Nous recommandons d'utiliser des branches / étiquettes dans votre contrôle de version pour aider à suivre les sources associées à chaque version.
  2. Suivez votre propre ensemble d'utilisateurs qui ont opté pour la mise à jour, désactivez les mises à jour automatiques et déclenchez les mises à jour uniquement pour certains utilisateurs via le @capgo/capacitor-updater package. Cette fonctionnalité fonctionne aujourd'hui, mais nécessite de gérer votre propre liste d'opt-in.
  3. Capgo permet de créer son propre mécanisme d'opt-in sur une base par appareil (similaire aux trajectoires de test ou TestFlight, mais sans dépendance de plateforme). Cela permet à votre équipe de test de s'inscrire au bundle avant qu'il ne soit promu au public général.
  4. Capgo permet des lancements avec un pourcentage basé. Cela ne vous permet pas de choisir les appareils à envoyer, mais peut vous aider à lancer progressivement et à revenir en arrière au premier signe de problèmes.

Comment puis-je mettre à niveau ou dégrader mon plan ?

Section intitulée “Comment puis-je mettre à niveau ou dégrader mon plan?”

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

Quand se réinitialise mon période de facturation?

Section intitulée “Quand se réinitialise mon période de facturation?”

Les périodes de facturation sont réinitialisées automatiquement chaque mois le mois où vous vous êtes abonné à 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/organisation/plans

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

Les statistiques dans votre tableau de bord sont mises à jour chaque minuit UTC. Les statistiques sont calculées en fonction du nombre de MAU Les applications ont été installées sur vos appareils.

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

Le nombre d'utilisateurs actifs mensuels est une meilleure solution que le nombre d'installations pour déterminer le Capgo, car il est plus précis et reflète le coût réel de Capgo par appareil.

Persistance de l'ID de l'appareil (Mise à jour dans v6.25.0 et v7.25.0):

  • Comportement actuel : L'ID de l'appareil persiste désormais lors des réinstallations de l'application. Il est stocké de manière sécurisée dans la clé de chiffrement (iOS) ou les préférences d'application chiffrées (Android), ce qui nous permet de suivre le même appareil même après l'annulation/reinstallation.
  • Comportement précédent (avant v6.25.0/v7.25.0) : Pour des raisons de confidentialité liées aux politiques des magasins Apple et Google, l'ID de l'appareil était réinitialisé à chaque réinstallation de l'application, ce qui rendait impossible de suivre le même appareil lors des réinstallations.

Les règles de confidentialité sont appliquées par Apple et Google, et Capgo respecte leurs meilleures pratiques pour l'identification des appareils.

Le numéro de l'appareil ne sera pas listé dans votre liste d'appareils jusqu'à ce qu'ils aient installé leur premier patch.

Pourquoi mon numéro d'appareil est différent de mon MAU?

Section intitulée “Pourquoi mon numéro d'appareil est différent de mon MAU?”

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

La liste des appareils est mise à jour uniquement lorsque l'appareil installe une mise à jour.

Alors que le MAU est mis à jour à chaque lancement de l'application. C'est une limitation actuelle de la plateforme. Notre plateforme d'analytique ne supporte pas 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 uniquement la ligne lors d'une mise à jour de l'application.

Cette limitation sera supprimée à l'avenir.

Comment avoir des mises à jour différentes par plateforme?

Section intitulée “Comment avoir des mises à jour différentes par plateforme?”

Vous pouvez créer un canal pour chaque plateforme. et désactiver les mises à jour spécifiques à la plateforme dans chaque canal.

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

Ensuite, téléchargez un bundle dans chaque canal pour avoir des mises à jour différentes pour chaque plateforme.

Si vous avez besoin d'avoir la même mise à jour pour les deux plateformes, vous pouvez lier un bundle à plusieurs canaux. Pas besoin de dupliquer le bundle.

Si vous utilisez FAQ pour planifier la livraison des mises à jour en direct, connectez-le avec Capgo Mises à jour en direct pour le flux de travail du produit dans Capgo Mises à jour en direct, Aperçu pour les détails d'implémentation dans Vue d'ensemble Fonctionnalités pour les détails d'implémentation dans Fonctionnalités Comportement de mise à jour pour les détails d'implémentation dans Comportement de mise à jour, et Types de mise à jour page de modification