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.

What est-ce que la différence entre un bundle et une release?

Section intitulée “What est-ce que la différence entre un bundle et une release?”

On utilise le terme “release” pour désigner la préparation d'un fichier binaire pour les magasins d'applications. Pour générer ensuite un bundle Capgo, il faut connaître le fichier binaire exact qui a été envoyé aux magasins d'applications.

On utilise le terme “bundle” pour désigner une mise à jour qui peut être appliquée à une release 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.

Notre tableau de bord de projet est également public et se trouve à : 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 n'imposons que des limites aux 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 stockés dans Capgo contiennent un fichier minifié/compilé code - le même code que celui que reçoit un navigateur, 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 fichier externe: Stockez le bundle sur votre propre serveur et fournissez uniquement à Capgo le lien de téléchargement avec l'option --external <url>

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

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

Section intitulée « Puis-je utiliser Capgo depuis mon système de CI ? »

Oui. Capgo est conçu pour être utilisé depuis les systèmes de CI. Nous avons publié une guide pour Android et Github Actions et iOS, et pour GitLab. D'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?

Section intitulée “Comment cela se rapporte-t-il à 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 à envoyer une nouvelle version. Ils ne sont pas destinés à remplacer code.

Quel est l'impact sur la taille du pied de dépense de cette dépendance?

Section intitulée “Quel est l'impact sur la taille des dépendances que cela ajoute?”

Je n'ai pas mesuré récemment, mais je suppose 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 blocage 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 de React Native : facebook/react-native#50510

Le code push fonctionne-t-il avec des applications volumineuses?

Section intitulée “Le code push fonctionne-t-il avec des applications volumineuses?”

Oui. Il n'y a pas de limite à 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.

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

Nous avons vu diverses utilisations, notamment :

  • Réparations 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 en dessous pour plus d'informations.

Un MAU est un « Utilisateur Actif Mensuel ». Dans le contexte de Capgo, cela fait référence en réalité à un appareil mensuel actif. 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 de plugin v5.10.0, v6.25.0 et v7.25.0Le deviceID persiste désormais au-delà des réinstallations d'applications. Avant ces versions, chaque réinstallation d'applications générerait un nouveau deviceID et serait comptabilisée comme une nouvelle MAU.

Avec les versions actuelles :

  • Le DeviceID persiste au-delà des réinstallations d'applications (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
  • Pendant le 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.

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.

Également 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.

Puis-je 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 à capacitor.config.ts ne peuvent pas être envoyées à travers les mises à jour Capgo en direct. Le fichier de configuration Capacitor est lu à l'heure de la construction native et compilé dans le fichier binaire de l'application native. Cela signifie que toute modification à capacitor.config.ts (comme les configurations de plugins, l'ID de l'application, les paramètres de serveur ou les options de plugins natifs) nécessite une nouvelle mise en production 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 :

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

Capgo ne prend pas actuellement en charge 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 CI Android pour automatiser ce processus et guide CI iOS.

L’Capgo updater (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 que 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 dans les caches npm, 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 ? »

Capacitor’s Hot reload est une fonctionnalité réservée au temps de développement. Code push est pour la production.

Hot reload est une fonctionnalité de Capacitor qui vous permet de modifier code sur l’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 l’appareil en production. Nous utiliserons une variété de techniques différentes pour rendre cela possible en fonction de la plateforme.

Quels types de modifications Capgo code push prennent en charge ?

Section intitulée “Quels types de modifications Capgo code poussent-ils en support?”

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 qu’elles ne nécessitent pas de modifications natives code.

Nous n’avons pas l’intention de soutenir la modification de modifications natives code (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é des modifications natives code car elles ne seront pas incluses dans le bundle.

La poussée Code 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 la poussée code avec le Web, nous aimerions en savoir plus !

Oui.

Nous nous sommes concentrés jusqu'à présent sur la prise en charge d'Android, iOS et Electron, et code est prêt à la production sur les trois.

Quels systèmes d'exploitation sont pris en charge par Capgo ?

Section intitulée « Quels systèmes d'exploitation sont pris en charge par Capgo ? »

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 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 stabilisation récentes 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 soutenir 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 stabilisées de Capacitor et met à jour généralement dans les quelques heures suivant une 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.

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 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 prend actuellement en charge uniquement les versions de stabilisation récentes de code.

Code 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 être conscient est de ne pas modifier le comportement de l'application d'une manière significative. Veuillez consulter ci-dessous pour plus d'informations.

La Capgo est-elle conforme aux lignes directrices de la Play Store?

Section intitulée « La Capgo est-elle conforme aux 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=en
An app distributed via Google Play may not modify, replace, or update itself
using any method other than Google Play's update mechanism. Likewise, an app
may not download executable code (such as dex, JAR, .so files) from a
source other than Google Play. *This restriction does not apply to code
that runs in a virtual machine or an interpreter* where either provides
indirect access to Android APIs (such as JavaScript in a webview or
browser).
Apps or third-party code, like SDKs, with interpreted languages (JavaScript,
Python, Lua, etc.) loaded at run time (for example, not packaged with the
app) must not allow potential violations of Google Play policies.
  1. Les modifications 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 S'assurez-vous d'être clair avec vos utilisateurs sur ce que vous leur fournissez avec votre application et ne pas violer leurs attentes avec des changements de comportement significatifs en utilisant 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 utilisent-ils) et il existe de multiples autres services de mise à jour de code disponibles publiquement (par exemple, expo.dev et appcenter.ms). C'est un chemin bien balisé.

Microsoft publie également un guide sur la façon dont leur bibliothèque de code « codepush » pour React Native est conforme aux 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 ?

Section intitulée « Capgo est-il conforme aux 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 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é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, modifier 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 constitue une violation de Capgo Conditions d'utilisation et peut entraîner la suppression 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

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 accédées à partir du pays. Capgo utilise actuellement Cloudflare Cloud pour l'hébergement, y compris R2 Storage et Cloudflare workers.

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 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/cli l'outil de ligne de commande pour télécharger et télécharger le bundle

Si toutes ces URLs sont accessibles de votre pays, alors Capgo devrait fonctionner.

Si votre région exige de bloquer l'accès à l'une de ces URLs, 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 en interne ?

Pouvez-vous héberger vous-même Capgo?

Oui, vous pouvez héberger vous-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 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?”

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.

Par défaut, lorsqu'une mise à jour est demandée, l'application alerte le Capgo updater, 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 les tâches bloquantes que l'application pourrait effectuer. Si la requête réseau échoue ou expire, le mise à jour simplement essaiera de vérifier à nouveau la prochaine fois que l'application est lancée.

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

Qu&#39;arrive-t-il si un utilisateur ne met pas à jour pendant longtemps et manque une mise à jour ?

Section intitulée « Qu&#39;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 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 mise à jour. Capgo n&#39;est pas une substitution pour Capacitor. Vous pouvez continuer à utiliser les outils de Capacitor que vous connaissez et aimez.

Nous suivons la dernière version stable de Capacitor et mettons à jour notre plugin de mise à jour code pour qu&#39;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 sera 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 metteur à jour Capgo 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 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.

Non. app_id est inclus dans votre application et est sûr d'ê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.

Personne 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 d'actualisations à votre application ou accéder à tout autre aspect de votre compte Capgo.

Quelle information est envoyée aux serveurs de Capgo ?

Section intitulée “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 aux serveurs de Capgo incluent :

  • app_id (spécifié capacitor.config.json)
  • canal (facultatif dans capacitor.config.json)
  • release_version (versionName de AndroidManifest.xml ou CFBundleShortVersionString de Info.plist ou capacitor.config.json si défini dans CapacitorUpdater.version )
  • version_number (généré en tant que partie de npx @capgo/cli@latest bundle upload)
  • os_version (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
  • C’est tout. Le __CAPGO_KEEP_0__ pour cela se trouve dans
  • device_id (généré sur le dispositif 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 mises à jour ou le nombre total d'installations de mises à jour)

What platforms does Capgo support?

Lien direct vers 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 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 cela est important pour vous, veuillez nous le faire savoir.

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

Chaque magasin d'applications a ses propres mécanismes pour distribuer des applications à des groupes d'utilisateurs limités (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 à chacun.

Malheureusement, ces mécanismes ne permettent pas tous aux tiers de détecter quand des applications sont installées dans une piste de test spécifique ou via TestFlight. Ainsi, nous n'avons pas de visibilité fiable sur la composition de ces groupes, et ne pouvons pas 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 paquet Capgo, il existe 4 options potentielles :

  1. Utilisez un canal séparé pour chaque groupe. C'est la méthode 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 participer, désactivez les mises à jour automatiques et déclenchez les mises à jour uniquement pour certains utilisateurs via le @capgo/capacitor-updater Ce fonctionne aujourd'hui, mais nécessite que vous gériesz 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 Test Tracks ou TestFlight, mais sans restriction de plateforme). Cela permet à votre équipe QA de s'inscrire à la mise à jour avant qu'elle ne soit promue au public général.
  4. Capgo permet des lancements basés sur des pourcentages. 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 réduire mon plan ?

Section intitulée « Comment puis-je mettre à niveau ou réduire mon plan ? »

Vous pouvez mettre à niveau ou réduire 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 facture ?

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

Les périodes d'échéance facture 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 d'échéance facture se réinitialisera le 15 de chaque mois.

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

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

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

Le numéro 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'installation 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.

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

Persistance du DeviceID (Mise à jour dans v6.25.0 et v7.25.0):

  • Comportement actuel: Le numéro 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 de l'appareil (iOS) ou dans les SharedPreferences chiffrés (Android), ce qui nous permet de suivre le même appareil même après l'installation/désinstallation.
  • 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 numéro 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 affiché dans votre liste d'appareils jusqu'à ce qu'ils aient installé leur premier correctif.

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 actuellement une limitation de la plateforme. Notre plateforme d'analyse 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 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 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.