Sauter au contenu

FAQ

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

Code push, également appelé « mises à jour en ligne » (OTA), est un service cloud permettant 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 depuis Microsoft et Expo, qui ne supportent pas Capacitor.

Quelle est la différence entre un bundle et une mise à jour ?

Section intitulée “Quelle est la différence entre un bundle et une mise à jour ?”

Nous utilisons le terme “mise à jour” pour désigner la préparation d'un fichier binaire pour les magasins d'applications. Pour générer ultérieurement un bundle Capgo, il faut connaître le fichier binaire exact qui a été envoyé aux magasins d'applications.

Nous utilisons le terme “bundle” pour désigner une mise à jour qui peut être appliquée à une mise à jour pour la mettre à jour vers de nouvelles code. Le npx @capgo/cli@latest bundle upload commande est utilisée pour générer un bundle à partir de votre nouveau code local qui est ensuite envoyé à vos utilisateurs.

Nos tableaux de projet sont également publics et se trouvent à : 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 ! Tous les plans supportent des développeurs illimités. Nous ne limitons que les métriques d'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 uploadLes fichiers zip de Capgo stockent un fichier zip du code minifié/compilé - le même code que les navigateurs reçoivent, et non votre code source code.

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

  • Chiffrement de bout en bout: Chiffrez votre bundle avant de l'envoyer pour le protéger en stockage et en transit et 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 fournissez uniquement à Capgo le lien de téléchargement avec l'option --external <url>

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

Sont-ils des données privées les fichiers du bundle ?

Section intitulée « Sont-ils des données privées les fichiers du bundle ? »

Non. Les fichiers du bundle sont des actifs web publics destinés à être téléchargés par vos utilisateurs. N'importe qui qui connaît l'URL du bundle peut les récupérer, et Capgo informe les utilisateurs de cela lors de la configuration et dans la documentation.

L'accès aux fichiers du bundle n'est pas considéré comme une violation de données. N'insérez pas de secrets, de données d'identification, de données personnelles ou de données réglementées dans votre bundle d'applications. Si vous avez besoin d'une confidentialité plus forte pour des cas d'utilisation de haute sécurité, utilisez l'encryption de bout en bout, mais traitez toujours les applications et les code embarqués comme publics du point de vue de la sécurité des rapports.

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 iOS, et pour GitLab. Les autres systèmes CI devraient être similaires.

N'hésitez pas à nous contacter sur les problèmes de GitHub ou Discord si vous rencontrez des problèmes.

Quel est le rapport avec Firebase Remote Config ou Launch Darkly?

Section intitulée “Quel est le rapport avec Firebase Remote Config ou Launch Darkly?”

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 à livrer une nouvelle version. Ils ne sont pas destinés à remplacer code.

Quel est l'impact en termes de dépendances pour cette fonctionnalité?

Section intitulée “Quel est l'impact en termes de dépendances pour cette fonctionnalité?”

Je n'ai pas mesuré récemment, mais je suppose que la bibliothèque code push ajoute moins d'un mégabyte aux applications Capacitor. Nous connaissons des moyens de la rendre plus petite lorsque cela devient une priorité. Si la taille constitue un obstacle pour vous, veuillez nous le faire savoir !

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

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

Sous-titre “Le code push fonctionne-t-il avec de grandes applications?”

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

À noter : une taille plus importante rend 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 le Capgo code push pour ?

Sous-titre “Qu'est-ce que je peux utiliser le Capgo code push pour ?”

Nous avons vu une variété d'usages, notamment :

  • Réparations d'urgence pour les applications en production.
  • Expédition de correctifs de bogues vers les utilisateurs sur les anciennes versions 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 « MUA » pour Capgo ?

Section intitulée « Qu'est-ce qui compte comme un « MUA » pour Capgo ? »

Un MUA est un « Utilisateur Actif Mensuel ». Dans le contexte de Capgo, cela fait référence en réalité à un Dispositif Actif Mensuel. Nous comptons un MUA comme n'importe quel dispositif qui a contacté nos serveurs au cours des 30 derniers jours. Nous ne comptons pas les dispositifs qui n'ont pas contacté nos serveurs au cours des 30 derniers jours.

Important: À partir de la version de 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 comptabilisée 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 Device ID
  • Lors de la phase de développement, si vous utilisez une ancienne version de 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.

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

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

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

Comme ci-dessus, Capgo ne doit pas être utilisé pour violer les politiques de l&#39;app store. Voir ci-dessous pour plus d&#39;informations. Également, __CAPGO_KEEP_0__ ne prend pas en charge la modification des __CAPGO_KEEP_1__ natifs (par exemple Java/Kotlin sur Android ou Objective-C/Swift sur iOS). L&#39;outil vous avertira pendant une mise à jour tentée si vous avez modifié les __CAPGO_KEEP_2__ natifs. Puis-je 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.

ne peut pas être envoyée à travers les mises à jour en direct de __CAPGO_KEEP_0__. Le fichier de configuration __CAPGO_KEEP_1__ est lu lors de la construction native et compilé dans le fichier binaire de l&#39;application native. Cela signifie que toute modification à capacitor.config.ts ne peut pas être envoyée à travers les mises à jour en direct de Capgo. Le fichier de configuration Capacitor est lu lors de la construction native et compilé dans le fichier binaire de l&#39;application native. Cela signifie que toute modification à capacitor.config.ts (comme les configurations de plugin, l'ID de l'application, les paramètres du serveur ou les options de plugin natif) nécessitent une nouvelle mise à jour native via l'App Store ou Google Play.

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

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

Capgo ne prend pas en charge actuellement la soumission aux magasins d'applications en votre nom. Nous avons des plans pour y ajouter dans le futur, mais pour l'instant, vous devrez continuer à utiliser vos processus existants pour soumettre aux magasins d'applications.

Vous pouvez utiliser notre Guide de CI Android pour automatiser ce processus et Guide de 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ù?”

L'actualiseur Capgo (inclus dans votre application lors de la construction de votre application) met en cache le dernier bundle téléchargé dans le seul répertoire qui capacitor autorise à charger code. Sur Android, il est situé 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.

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

La mise à jour instantanée de Capacitor est une fonctionnalité réservée au temps 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 ordinateur local.

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 est-ce que la mise à jour Capgo code supporte ?

Section intitulée “Quels types de modifications est-ce que la mise à jour Capgo code supporte ?”

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 à condition qu'elles ne nécessitent pas de modifications natives de 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.

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 depuis le serveur si nécessaire.

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

Ce sera-t-il compatible avec iOS, Android, Mac, Windows, Linux, etc.?

Section intitulée “Ce sera-t-il compatible avec iOS, Android, Mac, Windows, Linux, etc.?”

Oui.

Jusqu'à présent, nous nous sommes concentrés sur le support Android, iOS et Electron, et 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 les versions Android API niveau 22+ et iOS 13.0+: https://capacitorjs.com/docs/main/reference/support-policy

Quelles versions de Capacitor sont prises en charge par Capgo?

Section intitulée “Quelles versions de Capacitor sont prises en charge par Capgo?”

Capgo prend actuellement en charge uniquement les versions de Capacitor les plus récentes et stables. Nous pourrions également prendre en charge des versions plus anciennes 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 une nouvelle version stable. Notre système de mise à jour automatique prend quelques minutes à exécuter. Nous effectuons ensuite une vérification manuelle supplémentaire avant de publier sur nos serveurs.

Comment cela se rapporte-t-il au processus ou aux politiques de la boutique d'applications/Play Store?

Section intitulée “Comment cela se rapporte-t-il au processus ou aux politiques de la boutique d'applications/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 aux politiques des magasins sur iOS, Android et Electron. De même que la variété de produits commerciaux disponibles pour y parvenir avec React Native (par exemple Microsoft, Expo).

Microsoft publie également une guide sur la manière dont leur solution est conforme aux magasins d'applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Code push est une technique largement utilisée dans les magasins d'applications. Toutes les grandes applications que je connais 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. Veuillez consulter ci-dessous pour plus d'informations.

Existe-t-il une conformité de Capgo avec les lignes directrices de la Play Store ?

Titre de la section « Existe-t-il une conformité de Capgo avec les lignes directrices de la Play Store ? »

Oui.

La 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 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 la 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 pas violer leurs attentes avec des changements comportementaux significatifs à l'aide de Capgo.

Capgo est conçu pour être compatible avec les lignes directrices de la boutique Play. Cependant, Capgo est un outil, et comme avec tout outil, il peut être abusé. Abuser intentionnellement de Capgo pour violer les lignes directrices de la boutique Play constitue une violation des Capgo Conditions d'utilisation et 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 que je connais 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 code « codepush » de react native se conforme aux magasins d'applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance

Comporte-t-il Capgo les lignes directrices de l'App Store ?

Section intitulée « Comporte-t-il Capgo les 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 de l'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 le but 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 un guide sur la façon dont leur bibliothèque « codepush » natif de React se conforme aux 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.

Nous reconnaissons que certains pays ont des restrictions sur les URLs qui peuvent être accessibles à partir du pays. Capgo utilise actuellement Cloud de Cloudflare pour l'hébergement, y compris R2 Storage et les travailleurs de Cloudflare.

Les URLs suivantes sont utilisées par Capgo:

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

If tous ces URL sont accessibles depuis votre pays, alors Capgo devrait fonctionner.

Si votre région nécessite de bloquer l'accès à l'un de ces URL, veuillez nous le faire savoir et nous pouvons travailler avec vous pour trouver une solution. Les serveurs proxy sont une option.

Oui, vous pouvez héberger soi-même 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 l'internet pour fonctionner?

Section intitulée “Le code push nécessite-t-il l'internet pour fonctionner?”

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

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

Section intitulée “Comment Capgo est-il affecté par l'absence de connectivité réseau ?”

L'Capgo updater (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.

Dans le comportement d'actualisation par défaut, lorsque l'application est lancée, elle alerte l'Capgo updater, 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, l'actualiseur tentera simplement de vérifier à nouveau la prochaine fois que l'application est lancée.

Les outils de ligne de commande Capgo (par exemple, __CAPGO_KEEP_2__) 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.

__CAPGO_KEEP_0__ updater (inclus dans votre application lorsque vous construisez votre application avec __CAPGO_KEEP_1__) est conçu pour être résistant aux problèmes de connectivité réseau.

The serveur d'actualisation pourrait être modifié pour supporter la réponse avec soit la prochaine version incrémentale, soit la version la plus récente en fonction de vos besoins d'application. Veuillez nous faire savoir si les comportements d'actualisation alternatifs sont importants pour vous.

Capgo est un plugin pour Capacitor qui ajoute code de mise à jour. 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 mise à jour code pour qu'il fonctionne avec elle.

Par défaut, l'actualiseur Capgo 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 sera redémarrée.

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

The 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 décidez un jour 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.

Est-ce que j'ai besoin de garder mon app_id secret ?

Sous-titre « Est-ce que j'ai besoin de garder mon app_id secret ? »

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 rien si quelqu'un d'autre accède à cela.

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 ?

Sous-titre « Quelle information est envoyée aux serveurs Capgo ? »

Although Capgo connects to the network, it does not send any personally identifiable information. Including Capgo should not affect your declarations for the Play Store or App Store.

Requests sent from the app to Capgo servers include:

  • Les requêtes envoyées de l'application vers les serveurs __CAPGO_KEEP_0__ comprennent : capacitor.config.json)
  • app_id (spécifié capacitor.config.json)
  • channel (facultatif en capacitor.config.json release_version (versionName depuis AndroidManifest.xml ou CFBundleShortVersionString depuis Info.plist ou CapacitorUpdater.version )
  • si défini en npx @capgo/cli@latest bundle upload)
  • version_number (généré en tant que partie de
  • platform (e.g. ‘android’, needed to send down the right patch) That’s it. The code for this is in updater/library/src/network.rs
  • platform (par exemple ‘android’, nécessaire pour envoyer le bon patch)
  • C'est tout. Le __CAPGO_KEEP_0__ pour cela est en

Oui, mais votre propriétaire de conformité doit choisir le bon modèle de déploiement. Le Cloud Capgo n'est pas actuellement présenté comme un processeur de statistiques hébergé conforme HIPAA. Par défaut, les données de mise à jour sont scoping de l'appareil et ne sont pas liées à un utilisateur de l'application connu, et beaucoup d'équipes utilisent ce modèle avec succès.

Pour des examens plus stricts, vous pouvez géolocaliser le trafic des plugins, désactiver les statistiques en définissant statsUrl à une chaîne vide, héberger uniquement l'endpoint des statistiques, ou utiliser un hébergement autonome sous licence. N'appeler CapacitorUpdater.setCustomId(...) pas avec un adresse e-mail, un ID utilisateur, un ID patient, un ID employé ou toute valeur qui remap les données de télémétrie de mise à jour vers une personne.

Voir Conformité HIPAA pour la configuration technique complète et les compromis d'observabilité lorsqu'il est désactivé les statistiques.

Puis-je conserver les données de mise à jour Capgo en Europe ?

Section intitulée “Puis-je conserver les données de mise à jour Capgo en Europe ?”

Yes. Les applications nécessitant une résidence de données dans l'UE pour le trafic du plugin Cloud Capgo peuvent configurer les points de terminaison de mise à jour sur l'hôte de l'UE :

  • updateUrl: https://plugin.eu.capgo.app/updates
  • statsUrl: https://plugin.eu.capgo.app/stats
  • channelUrl: https://plugin.eu.capgo.app/channel_self

Utilisez les trois URL de l'UE ensemble afin que les vérifications de mise à jour, les statistiques et l'auto-assignation de canal utilisent la même voie de données régionale. Puisque ces valeurs vivent dans capacitor.config.ts, les applications mobiles en production nécessitent une mise en production native avant que les installations existantes utilisent les nouveaux points de terminaison.

Voir L'emplacement des données pour des exemples exacts de Capacitor et Electron.

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 des décisions independantes. Vous pouvez configurer votre stratégie de canal pour Android et un fichier ipa construit pour l'App Store, ou les canaux Electron, selon vos besoins.

Capgo peut (relativement facilement) être adapté pour prendre en charge les cibles de bureau ou embarquées. Si cela est important pour vous, veuillez nous en informer.

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

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

Chaque magasin d'applications a ses propres mécanismes pour distribuer les 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 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 nous 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-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 bundle Capgo, il existe 4 options potentielles :

  1. Utilisez un canal séparé pour chaque groupe. Cette approche est la plus directe, mais nécessite que vous gériez plusieurs canaux. Vous pouvez déjà avoir des canaux de développement et des canaux 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 participer, 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 que vous gériez votre propre liste d'opt-in.
  3. Capgo permet de créer son propre mécanisme d'opt-in sur une base par appareil (de même que les pistes d'essai ou TestFlight, mais sans dépendre d'une plateforme spécifique). Cela permet à votre équipe de test de s'opter pour le bundle avant qu'il ne soit promu au public général.
  4. Capgo permet des rollouts basés sur des pourcentages. Cela ne vous permet pas de choisir les appareils à envoyer, mais peut vous aider à lancer progressivement et à annuler en cas 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 d'échéance facturation ?

Section intitulée “Quand se réinitialise mon période d'échéance facturation ?”

Les périodes de facturation sont réinitialisées automatiquement chaque mois au mois où vous avez souscrit à Capgo. Par exemple, si vous avez souscrit 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

Puis-je payer pour un an à l'avance ?

Puis-je payer pour un an à l'avance ?

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

Les statistiques de votre tableau de bord sont mises à jour chaque nuit UTC. Les statistiques sont calculées en fonction du nombre de Utilisateurs actifs mensuels qui ont été installés sur vos appareils.

L&#39;ID du dispositif est généré sur le dispositif lors de la première exécution, et est utilisé pour éviter les doublons d&#39;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 correctifs ou le nombre total d&#39;installations de correctifs.

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

Persistance de l&#39;ID du dispositif (Mise à jour dans v6.25.0 et v7.25.0):

  • Comportement actuelL&#39;ID du dispositif persiste désormais lors des réinstallations d&#39;application. Il est stocké de manière sécurisée dans la clé de chiffrement (iOS) ou les préférences chiffrées (Android), ce qui nous permet de suivre le même appareil même après l&#39;uninstall/reinstall.
  • 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&#39;ID du dispositif était réinitialisé à chaque réinstallation d&#39;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 l&#39;implémentation de Capgo respecte leurs meilleures pratiques pour l&#39;identification des appareils.

L&#39;ID du dispositif ne sera pas listé dans votre liste d&#39;appareils jusqu&#39;à ce qu&#39;ils reçoivent leur premier correctif installé.

Pourquoi mon numéro de dispositif est différent de mon MAU ?

Section intitulée “Pourquoi mon numéro de 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 lorsqu'un appareil installe une mise à jour.

Tandis 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 de données 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écharger un bundle pour 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 d'actualisations 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 Aperçu, Fonctionnalités pour les détails d'implémentation dans Fonctionnalités Mise à jour du comportement pour le détail d'implémentation dans Mise à jour du comportement, et Types de mise à jour pour le détail d'implémentation dans Types de mise à jour.