FAQ
Copiez une commande de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Si vous avez des questions non répondues ici, veuillez demander ! Les deux, ouvrir un ticket ou demander sur Discord travail
Qu'est-ce que « code push » ?
Section intitulée « Qu'est-ce que « code push » ? »Code push, également appelé « mises à jour hors ligne » (OTA), est un service cloud qui permet aux développeurs de Capacitor de déployer des mises à jour dans leur application 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, il faut que Capgo connaisse 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 commande est utilisée pour générer un bundle à partir de votre nouvelle version locale code qui est ensuite envoyée à vos utilisateurs.
Quel est le plan de développement ?
Section intitulée « Quel est le plan de développement ? »Nos tableaux de projet sont également publics et peuvent être trouvés à l'adresse : https://github.com/orgs/Cap-go/projects
Notre équipe travaille é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.
Puis-je utiliser Capgo avec mon équipe ?
Section intitulée “Puis-je utiliser Capgo avec mon équipe ?”Oui ! Toutes les offres supportent des développeurs illimités. Nous ne limitons que les métriques de l'application (MAU, stockage et bande passante) à chaque organisation.
Voir Équipes pour plus d'informations.
Le Capgo stocke-t-il mon source code ?
Section intitulée “Le Capgo stocke-t-il mon source code ?”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 que reçoit un navigateur, et non votre 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 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
Les fichiers de bundle sont-ils des données privées ?
Section intitulée “Les fichiers de bundle sont-ils des données privées ?”Non. Les fichiers de 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 récupérer ces fichiers, et Capgo informe les utilisateurs de cela pendant la configuration et dans la documentation.
L'accès aux fichiers de bundle n'est pas considéré comme une violation de données. N'insérez pas de secrets, de crédentiels, de données personnelles ou de données réglementées dans votre bundle d'application. Si vous avez besoin d'une confidentialité plus forte pour des cas d'utilisation de haute sécurité, utilisez la cryptage à la fin de la chaîne, mais traitez toujours les applications code et les actifs embarqués comme publics d'un point de vue de la sécurité.
Peut-on utiliser Capgo à partir de notre système CI ?
Puis-je utiliser Capgo à partir de mon système CI ?Oui. Capgo est destiné à être utilisé à partir de systèmes CI. Nous avons publié une guide pour Android et Github Actions et iOS, et pour GitLab. D'autres systèmes CI devraient être similaires.
N'hésitez pas à nous contacter sur les problèmes GitHub ou Discord si vous rencontrez des problèmes.
Comment cela se rapporte-t-il à Firebase Remote Config ou Launch Darkly ?
Comment cela se rapporte-t-il à Firebase Remote Config ou Launch Darkly ?Le push Code 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.
Quel est l'impact sur la taille de la dépendance ?
Section intitulée “Quel est l'impact sur la taille de la dépendance ?”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 connaissons des moyens de rendre cela plus petit lorsque cela devient une priorité. Si la taille est un obstacle pour vous, veuillez nous le faire savoir !
Le Capgo fonctionne-t-il sur le simulateur iOS 18.4 ?
Section intitulée “Le Capgo fonctionne-t-il 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
Le push code fonctionne-t-il avec de grandes applications ?
Section intitulée “Demande-t-il code si l'application est grande ?”Oui. Il n'y a pas de limite de taille pour l'application qui peut être mise à jour avec code push. Comme indiqué ci-dessous, 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 le téléchargement des mises à jour. Nous recommandons de garder votre application aussi petite que possible.
Pour quoi puis-je utiliser Capgo code push ?
Section intitulée “Pour quoi puis-je utiliser Capgo code push ?”Nous avons vu diverses utilisations, notamment :
- Réparations d'urgence pour les applications en production.
- Livraison de correctifs de bogues aux 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?
Section intitulée “Qu'est-ce qui compte comme un “MAU” pour Capgo?”Un MAU 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 MAU 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 : Débutant à partir de la version de plugin v5.10.0, v6.25.0 et v7.25.0, le deviceID persiste désormais lors des réinstallations d'application. Avant ces versions, chaque réinstallation d'application générerait un nouveau deviceID et serait comptée comme un nouveau MAU.
Avec les versions actuelles :
- Le DeviceID persiste lors des réinstallations d'application (stocké de manière sécurisée dans Keychain sur iOS et EncryptedSharedPreferences sur Android)
- Mettre à jour l'application ne crée pas de nouveau Device ID
- Lors du développement, si vous utilisez une ancienne version de plugin (< 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 push pour ?
Section intitulée « Qu'est-ce que nous ne pouvons pas utiliser Capgo code push pour ? »Assez comme ci-dessus, Capgo ne doit pas être utilisé pour violer les politiques des magasins d'applications. Veuillez consulter ci-dessous pour plus d'informations.
De plus, Capgo ne prend pas en charge la modification des code natifs (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é les code natifs.
Peut-on mettre à jour les modifications de capacitor.config.ts via Capgo?
Section intitulée « Peut-on mettre à jour les modifications de capacitor.config.ts via Capgo ? »Non. Les modifications à capacitor.config.ts ne peuvent pas être envoyées à travers les mises à jour en direct de Capgo. La configuration du Capacitor est lue à l'heure de la construction native et compilée dans le binaire d'application native. Cela signifie que toute modification à capacitor.config.ts (comme les configurations de plugins, l'ID d'application, les paramètres de serveur ou les options de plugins natifs) nécessite une nouvelle mise en ligne 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 devez modifier votre Capacitor configuration, vous devez :
- Mettre à jour
capacitor.config.tslocalement - Reconstruire votre application native (
npx cap syncsuivi d'une construction native) - Soumettre le nouveau binaire aux magasins d'applications
Does Capgo soumettre pour moi aux magasins ?
Section intitulée “Does Capgo soumettre pour moi aux magasins ?”Capgo ne soutient actuellement pas la soumission aux magasins d'applications en votre nom. Nous avons des plans pour y ajouter à l'avenir, mais pour l'instant, vous devrez continuer à utiliser vos processus existants pour soumettre aux magasins d'applications.
Vous pouvez utiliser notre guide CI Android pour automatiser ce processus et guide CI iOS.
What does Capgo stocker sur le disque dur et où ?
Section intitulée “What does Capgo stocker 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.
Les outils de ligne de commande de Capgo (par exemple, npx @capgo/cli@latest bundle upload) sont installés sur le disque dans npm caches, vos identifiants de connexion sont stockés dans votre répertoire personnel dans ~/.capgo.
Comment cela se rapporte-t-il à Capacitor Hot Reload ?
Section intitulée “Comment cela se rapporte-t-il à Capacitor Hot Reload ?”La mise à jour chaude de Capacitor est une fonctionnalité de temps de développement uniquement. Code est destiné à la production.
La mise à jour chaude est une fonctionnalité de Capacitor qui vous permet de modifier code sur le appareil pendant le développement. Cela nécessite la construction de l'application Capacitor avec un proxy pour se connecter à votre machine locale.
Code push est une fonctionnalité qui vous permet de modifier code sur le dispositif en production. Nous utiliserons différentes techniques pour rendre cela possible en fonction de la plateforme.
Quels types de modifications est-ce que Capgo code push prend en charge ?
Sous-section intitulée « Quels types de modifications est-ce que Capgo code push 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 à condition qu'elles ne nécessitent 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.
Est-ce que cela prend en charge Web ?
Sous-section intitulée « Est-ce que cela prend en charge Web ? »Code push n'est pas nécessaire pour Web, car 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 code push avec Web, nous aimerions en savoir plus !
Fonctionnera-t-il sur iOS, Android, Mac, Windows, Linux, etc.?
Sous-section intitulée « Fonctionnera-t-il sur iOS, Android, Mac, Windows, Linux, etc.? »Oui.
Jusqu'à présent, nous nous sommes concentrés sur le support d'Android, iOS et Electron, et code est prêt à la production sur les trois.
Quels sont les versions d'OS que Capgo prend en charge?
Sous-section intitulée « Quels sont les versions d'OS que Capgo prend en charge? »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 prend en charge Capgo?
Section intitulée « Quelles versions de Capacitor sont prises en charge par Capgo ? »Capgo prend actuellement en charge uniquement les dernières versions stables de Capacitor. 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 suivant toute 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 plateforme d'applications/Play Store?
Section intitulée « Comment cela se rapporte-t-il au processus ou aux politiques de la plateforme 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 tout en respectant les 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, Expo).
Microsoft publie également un guide sur la manière dont leur solution respecte les politiques des magasins : https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Code push est une technique largement utilisée dans les magasins d'applications. Tous les grands 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. Veuillez consulter ci-dessous pour plus d'informations.
La plateforme Capgo est-elle conforme aux lignes directrices de la Play Store?
Section intitulée « La plateforme Capgo est-elle conforme aux lignes directrices de la Play Store ? »Oui.
La Play Store propose deux restrictions relatives aux outils de mise à jour.
- 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=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.- Les modifications de l'application ne doivent pas être trompeuses (par exemple, modifier la finalité de l'application via mise à jour). 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 est conçu pour être compatible avec les lignes directrices de la Play Store. 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 Play Store constitue une violation de la Capgo Conditions d'utilisation et peut entraîner la fermeture de votre compte.
Enfin, les services de mise à jour de code sont largement utilisés dans l'industrie (tous les grands applications dont je suis conscient les utilisent) et il existe plusieurs autres services de mise à jour de 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 de code « codepush » native réagit aux exigences des magasins d'applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Comporte-t-il Capgo avec les lignes directrices de l'App Store ?
Section intitulée « Comporte-t-il Capgo avec les lignes directrices de l'App Store ? »Oui.
De même que la Play Store, l'App Store impose des restrictions techniques et des restrictions de politique.
3.2.2... interpreted code may be downloaded to an Application but only so long assuch code:(a) does not change the primary purpose of the Application by providingfeatures or functionality that are inconsistent with the intended andadvertised 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étation 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 directives de l'App Store.
Abuser intentionnellement de Capgo pour violer les directives 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 de codepush « react native » se conforme aux magasins d'applications : https://github.com/microsoft/react-native-code-push#store-guideline-compliance
Puis-je utiliser Capgo dans mon pays ?
Section intitulée « Puis-je utiliser Capgo dans mon pays ? »We n'avons pas tenté de restreindre l'accès à Capgo de tout pays.
Nous reconnaissons que certains pays ont des restrictions sur les URL que peuvent accéder à partir du pays. Capgo utilise actuellement Cloudflare Cloud pour l'hébergement, y compris R2 Storage et les travailleurs Cloudflare.
Les URL suivantes sont utilisées par Capgo:
- https://api.capgo.app — utilisé par les
npx @capgo/clioutils de ligne de commande pour interagir avec les serveurs Capgo ainsi que l'actualiseur Capgo sur les appareils des utilisateurs pour vérifier les mises à jour. - https://*.r2.cloudflarestorage.com — utilisé par
npx @capgo/clil'outil de ligne de commande pour télécharger et télécharger le paquet
Si toutes ces URL sont accessibles de votre pays, alors Capgo devrait fonctionner.
Si votre région exige de bloquer l'accès à l'une de ces URL, veuillez nous le faire savoir et nous pouvons travailler avec vous pour trouver une solution. Les serveurs proxy sont une option.
Peut-on héberger Capgo soi-même?
Section intitulée “Puis-je héberger moi-même Capgo?”Oui, vous pouvez héberger vous-même Capgo. Le guide n'a pas encore été é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 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?
Section intitulée “Comment Capgo est-il affecté par l'absence de connectivité réseau?”Le metteur à jour de 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.
In le comportement d'actualisation par défaut, lorsque l'application est lancée, elle alerte l'Capgo actualiseur, qui lance 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 processus que l'application pourrait être en train de faire. Si la requête réseau échoue ou expire, l'actualiseur essaiera simplement de vérifier à nouveau la prochaine fois que l'application est lancée.
Capgo outils de ligne de commande (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 devriez vous assurer que votre système CI a une connectivité réseau.
Qu'arrive-t-il si un utilisateur ne met pas à jour pendant longtemps et manque une mise à jour ?
Section intitulée « Qu'arrive-t-il 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 d'actualisation 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 d'actualisation alternatifs sont importants pour vous.
Comment Capgo se rapporte-t-il à Capacitor ?
Section intitulée « Comment Capgo se rapporte-t-il à Capacitor ? »Capgo is a plugin for Capacitor that adds code push. Capgo is not a replacement for Capacitor. You can continue to use the Capacitor tooling you already know and love.
We track the latest stable release of Capacitor and update our code push plugin to work with it.
Quand se produisent les mises à jour?
Section intitulée « Quand se produisent les mises à jour ? »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 manuellement l'Capgo met à jour à 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 push.
Le Capgo met à jour est conçu de telle sorte que lorsque le réseau n'est pas disponible, ou le serveur est bas ou inaccessible, l'application continuera à fonctionner normalement. Si vous choisissez un jour de supprimer une mise à jour de nos serveurs, tous vos clients continueront à fonctionner normalement.
Nous avons ajouté la possibilité de revenir sur les 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?
Titre de la section : « Est-ce que je dois 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 personne accédant à cela.
Qui a votre app_id peut récupérer la dernière version de votre application à partir des serveurs de 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 de Capgo ?
Titre de la section : « Quelle information est envoyée aux serveurs de Capgo ? »Même si Capgo se connecte au réseau, il n'envoie aucune information identifiable personnellement. Inclure 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 de Capgo incluent :
- app_id (spécifié
capacitor.config.json) - canal (facultatif dans
capacitor.config.json) - version_name (nom de version à partir de AndroidManifest.xml ou CFBundleShortVersionString à partir d'Info.plist ou
capacitor.config.jsonsi défini dansCapacitorUpdater.version) - version_number (généré en tant que partie de
npx @capgo/cli@latest bundle upload) - version_système (par exemple ‘11.2.1’)
- 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 - Cela suffit. Le __CAPGO_KEEP_0__ pour cela se trouve dans
- identifiant_appareil (généré sur l'appareil lors de la première exécution, utilisé pour éviter les doublons d'installation par appareil et permettre de facturer en fonction des utilisateurs installés (par exemple, utilisateurs actifs mensuels) plutôt que le nombre total de patchs ou d'installations de patchs)
Can I use Capgo for HIPAA-sensitive apps?
Lien direct vers Puis-je utiliser Capgo pour les applications HIPAA sensibles ?Section intitulée « Puis-je utiliser Capgo pour les applications HIPAA sensibles ? »
Oui, mais votre responsable de conformité doit choisir le bon modèle de déploiement. Le Cloud de Capgo n'est pas actuellement présenté comme un processeur de statistiques hôte HIPAA-conforme. Par défaut, les données de mise à jour sont scoping appareil et non liées à un utilisateur de l'application connu, et de nombreuses équipes utilisent ce modèle avec succès. Pour des examens plus stricts, vous pouvez localiser la circulation de plugins par zone géographique, désactiver les statistiques en définissant statsUrl To une chaîne vide, héberger uniquement l'endpoint de statistiques ou utiliser un hébergement autonome sous licence. N'appellez pas CapacitorUpdater.setCustomId(...) Avec un e-mail, un ID d'utilisateur, un ID de patient, un ID d'employé ou toute valeur qui remet la télémétrie de mise à jour à une personne.
Voir Compatibilité HIPAA pour la configuration technique complète et les compromis d'observabilité lors de la désactivation des statistiques.
Puis-je conserver les données de mise à jour en direct de Capgo en Europe?
Sous-titre « Puis-je conserver les données de mise à jour en direct de Capgo en Europe ? »Oui. Les applications nécessitant une résidence de données UE pour le trafic de plugin Cloud de Capgo peuvent définir les endpoints de mise à jour sur l'hôte EU :
updateUrl:https://plugin.eu.capgo.app/updatesstatsUrl:https://plugin.eu.capgo.app/statschannelUrl:https://plugin.eu.capgo.app/channel_self
Utilisez les trois URL EU 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.tsles applications mobiles de production nécessitent une mise en production native avant que les installations existantes utilisent les nouveaux endpoints.
Voir Emplacement des données pour des exemples exacts de Capacitor et d'Electron.
Quels plateformes supporte Capgo ?
Section intitulée “Quels plateformes supporte Capgo ?”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 indépendante. 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 cela est important pour vous, veuillez nous en informer.
Comment Capgo interagit-il avec les pistes de test Play ou Apple TestFlight ?
Section intitulée “Comment Capgo interagit-il avec les pistes de test Play ou Apple TestFlight ?”Chaque magasin d'applications a des mécanismes séparés 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 les tiers 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 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 :
- 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.
- Suivez votre propre ensemble d'utilisateurs qui s'inscrivent volontairement, désactivez les mises à jour automatiques et déclenchez les mises à jour uniquement pour certains utilisateurs via le
@capgo/capacitor-updaterLe permet __CAPGO_KEEP_0__ de créer son propre mécanisme d'inscription volontaire sur une base par appareil (de même que les pistes de test ou TestFlight, mais sans dépendre d'une plateforme spécifique). Cela permet à votre équipe de test de s'inscrire au bundle avant qu'il ne soit promu au public général. - Capgo allow creare its own opt-in mechanism on a per-device basis (similar to Test Tracks or TestFlight, just platform agnostic). This allow your QA team to opt-in to bundle before they’re promoted to the general public.
- Capgo possède des déploiements basés sur des pourcentages. Cela ne vous permet pas de choisir les appareils auxquels vous envoyez, mais cela peut vous aider à déployer progressivement et à revenir en arrière à la vue de tout problème.
Facturation
Section intitulée « Facturation »Comment puis-je mettre à niveau ou descendre de niveau mon plan?
Section intitulée « Comment puis-je mettre à niveau ou descendre de niveau mon plan? »Vous pouvez mettre à niveau ou descendre de niveau 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 au 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.
Comment annuler mon abonnement ?
Section intitulée « Comment annuler mon abonnement ? »Vous pouvez annuler votre abonnement à tout moment dans votre tableau de bord : https://console.capgo.app/settings/organization/plans
Peut-on payer pour un an à l'avance ?
Section intitulée « Peut-on payer pour un an à l'avance ? »Oui, vous pouvez le faire à tout moment dans votre tableau de bord : https://console.capgo.app/settings/organization/plans
Statistiques et analyses
Section intitulée “Statistiques et analyses”Les statistiques de votre tableau de bord sont mises à jour chaque nuit UTC. Les statistiques sont calculées en fonction du nombre de MAU qui ont été installés sur vos appareils.
Comment est généré le ID de l'appareil
Le 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 d'installations de patchs.Le MAU est une meilleure solution que le nombre d'installations pour facturer __CAPGO_KEEP_0__, car il est plus précis et reflète le coût réel de __CAPGO_KEEP_1__ par appareil.
MAU is a better solution than number of installs to price Capgo, as it is more accurate and reflects the actual cost of Capgo per device.
MAU est une meilleure solution que le nombre d'installations pour facturer __CAPGO_KEEP_0__, car il est plus précis et reflète le coût réel de __CAPGO_KEEP_1__ par appareil.:
- Comportement actuel: Le deviceID persiste désormais à travers les réinstallations d'application. Il est stocké de manière sécurisée dans la clé de chiffrement de l'appareil (iOS) ou dans les EncryptedSharedPreferences (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, le deviceID était réinitialisé à chaque réinstallation d'application, ce qui rendait impossible de suivre le même appareil à travers les réinstallations.
Les règles de confidentialité sont appliquées par Apple et Google, et l'implémentation de Capgo respecte leurs meilleures pratiques pour l'identification des appareils.
Le numéro de l'appareil ne sera pas affiché 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 du plateau. Notre plateforme d'analyse 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 uniquement la ligne de l'application 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.
Continuez de la section FAQ
Section intitulée “Continuez de la section FAQ”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, Présentation pour les détails d'implémentation dans Présentation, Caractéristiques pour les détails d'implémentation dans Caractéristiques, Comportement de mise à jour pour les détails d'implémentation dans Comportement de mise à jour, et Types de mise à jour pour les détails d'implémentation dans Types de mise à jour.