Ajouter des dépendances à __CAPGO_KEEP_0__ Capacitor Les plugins peuvent sembler surchargés, mais c'est plus facile lorsqu'ils sont décomposés en étapes claires. Voici ce dont vous avez besoin de savoir :
-
Comprenez les outils:
-
Configurez votre environnement de développement:
- Installez des outils comme Node.js, npm, Xcode, Android Studio, CocoaPods, et JDK.
-
Démarrer votre Capacitor plugin projet:
- Utilisez
npm init @capacitor/pluginpour créer un nouveau plugin.
- Utilisez
-
Ajoutez les dépendances JavaScript:
- Utilisez
npm installpour les dépendances de production et de développement. - Mettez à jour
package.jsonpour inclure les dépendances de pair comme@capacitor/core.
- Utilisez
-
Gérez les dépendances spécifiques à la plateforme:
- iOS: Configurez CocoaPods ou SPM avec des bibliothèques comme Alamofire ou SwiftyJSON.
- Android: Utilisez Gradle pour ajouter des dépendances comme Gson ou AppCompat.
-
Optimisation de la performance:
- Fixez les versions, vérifiez les dépendances et résolvez les conflits pour garantir la stabilité.
-
Utilisez des outils comme Capgo pour les mises à jour en temps réel:
- Publiez des mises à jour instantanément sans passer par les revues de l'App Store.
Comparaison rapide des outils:
| Plateforme | Outil | Exemple de dépendance |
|---|---|---|
| JavaScript | npm | npm install lodash --save |
| iOS | CocoaPods/SPM | pod 'Alamofire', '~> 5.6.4' |
| Android | Gradle | implementation 'com.google.code.gson:gson:2.10.1' |
Pourquoi cela compte: Gérer efficacement les dépendances garantit que votre plugin fonctionne sans heurt sur les différentes plateformes, économise du temps et évite les erreurs. Découvrons les étapes plus en détail.
Comment créer un Capacitor plugin pour iOS/Android

Configuration de votre environnement de développement
Préparez votre configuration avec les outils nécessaires pour gérer Capacitor plugin les dépendances efficacement.
Outils de développement requis
Voici une liste d'outils dont vous aurez besoin :
| Outil | Version | But |
|---|---|---|
| Node.js | 16.0.0+ | Environnement de temps d'exécution JavaScript |
| npm | 8.0.0+ | Gestion de packages |
| Xcode | 14.0+ | Développement iOS (Mac uniquement) |
| Android Studio | Electric Eel+ | Développement Android |
| CocoaPods | 1.11.0+ | Gestion de dépendances iOS |
| JDK | 11+ | Outils de construction Android |
Début d'un nouveau plugin
Utilisez les Capacitor CLI pour démarrer votre projet de plugin. Cela inclut la configuration des plateformes et la nomination de votre plugin en utilisant un format de domaine inversé (par exemple, com.mycompany.plugin):
- Exécutez la commande suivante :
npm init @capacitor/plugin - Choisissez vos plateformes cibles (iOS/Android).
- Attribuez un nom à votre plugin sous la forme d'un nom de domaine inversé.
Étapes de configuration du projet
-
Mettre à jour
package.jsonModifiez votre
package.jsonafin de le rendre compatible avec les éléments suivants :{ "capacitor": { "ios": { "src": "ios" }, "android": { "src": "android" } }, "peerDependencies": { "@capacitor/core": "^5.0.0" } } -
Configuration de la plateforme spécifique
-
Pour iOS, assurez-vous que votre fichier Podfile inclut :
platform :ios, '13.0' use_frameworks! -
Pour AndroidVérifiez votre
build.gradlecontient :android { compileSdkVersion 33 defaultConfig { minSdkVersion 22 } }
-
-
Configurer les variables d'environnement suivantes pour vos outils de développement :
Variable
But Valeur d'exemple ANDROID_HOME Emplacement Android __CAPGO_KEEP_0__ /Users/username/Library/Android/SDK /Users/username/Library/Android/sdk JAVA_HOME chemin d'installation de JDK /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home XCODE_SELECT outils de ligne de commande Xcode /Applications/Xcode.app/Contents/Developer
Une fois votre projet configuré, vous êtes prêt à passer à la gestion des dépendances JavaScript.
Dépendances JavaScript
Gérer efficacement les dépendances JavaScript est essentiel pour maintenir une performance stable des plugins.
npm Installation de package

Pour installer les dépendances, utilisez les commandes suivantes :
# Add a production dependency
npm install lodash --save
# Add a development dependency
npm install @types/lodash --save-dev
Assurez-vous d'inclure manuellement les dépendances associées dans votre package.json fichier. Testez toutes les dépendances pour confirmer la compatibilité sur les deux plateformes web et natives.
Gestion de package.json
Voici un exemple package.json Configuration :
{
"name": "my-capacitor-plugin",
"version": "1.0.0",
"dependencies": {
"lodash": "^4.17.21"
},
"devDependencies": {
"@types/lodash": "^4.14.195",
"@capacitor/core": "^5.0.0"
},
"peerDependencies": {
"@capacitor/core": "^5.0.0"
}
}
Pour maintenir la cohérence, bloquez les versions des dépendances en conséquence :
| Type de contrainte | Exemple | Utilisation |
|---|---|---|
| Exact | “5.0.0” | Pour les dépendances critiques nécessitant une version spécifique |
| Caret | “^5.0.0” | Permet des mises à jour mineures et des correctifs |
| Tilde | “~5.0.0” | Restreint les mises à jour aux correctifs uniquement |
Utilisation des bibliothèques JavaScript
Lors de l'importation de bibliothèques, concentrez-vous sur la réduction de la taille du bundle :
// Import only the required function
import { isEqual } from 'lodash';
export class MyPlugin {
async compare(options: { value1: any, value2: any }): Promise<boolean> {
return isEqual(options.value1, options.value2);
}
}
En outre, assurez-vous d'une gestion des erreurs et d'une vérification de type correctes :
import { Plugin } from '@capacitor/core';
import { validate } from 'your-validation-library';
@Plugin({
name: 'MyPlugin',
platforms: ['web', 'ios', 'android']
})
export class MyPlugin {
async validateData(data: unknown): Promise<void> {
try {
if (!validate(data)) {
throw new Error('Invalid data format');
}
// Continue processing if valid
} catch (error) {
throw new Error(`Validation failed: ${error.message}`);
}
}
}
Ensuite, découvrez comment gérer les dépendances spécifiques au plateau pour iOS.
Dépendances iOS
Cette section explique comment gérer les dépendances natives iOS dans Capacitor pluginsUne fois que vous avez configuré vos dépendances JavaScript, le prochain pas consiste à gérer les dépendances natives iOS.
CocoaPods Configuration

Démarrez par l'initialisation de CocoaPods dans votre répertoire iOS :
cd ios
pod init
Ensuite, mettez à jour votre Plugin.podspec fichier avec les configurations suivantes :
Pod::Spec.new do |s|
s.name = 'MyCapacitorPlugin'
s.version = '1.0.0'
s.summary = 'Your plugin description'
s.platform = :ios, '13.0'
s.dependency 'Capacitor'
# Include your iOS dependencies here
s.dependency 'Alamofire', '~> 5.6.4'
end
Configuration du Podfile
Après l'initialisation de CocoaPods, configurez le Podfile pour inclure Capacitor et toute autre bibliothèque tiers supplémentaire :
platform :ios, '13.0'
use_frameworks!
def capacitor_pods
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
end
target 'Plugin' do
capacitor_pods
# Add third-party dependencies
pod 'KeychainAccess', '~> 4.2.2'
pod 'SwiftyJSON', '~> 5.0.1'
end
target 'PluginTests' do
capacitor_pods
end
Voici quelques modèles de configuration de dépendance courants :
| Type de contrainte | Exemple | Utilisation |
|---|---|---|
| Version exacte | pod 'KeychainAccess', '4.2.2' |
When precise control is needed, such as for security components |
| Version mineure | pod 'Alamofire', '~> 5.6' |
For stable APIs that may receive patch updates |
| Version majeure | pod 'SwiftyJSON', '> 5.0' |
When flexibility across updates is acceptable |
Dépendances de package Swift
Si vous préférez ne pas utiliser CocoaPods, le gestionnaire de packages Swift (SPM) est une bonne alternative. Ajoutez les dépendances SPM directement dans Xcode avec la configuration suivante dans votre Package.swift fichier :
// Package.swift
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.6.4")),
.package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "5.0.1")
]
Pour utiliser les dépendances SPM dans votre plugin code, importez-les et intégrez-les comme nécessaire. Par exemple :
import Capacitor
import Alamofire
@objc(MyPlugin)
public class MyPlugin: CAPPlugin {
@objc func makeRequest(_ call: CAPPluginCall) {
AF.request("https://api.example.com/data").response { response in
// Process the response
call.resolve([
"data": response.data
])
}
}
}
Cette approche vous permet de choisir entre CocoaPods et le gestionnaire de packages Swift en fonction des besoins de votre projet.
Dépendances Android
Configurez les dépendances Android pour garantir une intégration native fluide. Voici comment gérer les dépendances pour votre plugin Capacitor.
Outils d'interface de build Gradle Dependencies

Ajoutez les configurations suivantes à votre build.gradle __CAPGO_KEEP_0__
android {
defaultConfig {
minSdkVersion 22
targetSdkVersion 33
}
}
dependencies {
implementation "androidx.appcompat:appcompat:1.6.1"
implementation "com.google.code.gson:gson:2.10.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.8.20"
implementation project(':capacitor-android')
}
Définez des versions supplémentaires dans le buildscript __CAPGO_KEEP_1__
buildscript {
ext {
androidxCoreVersion = '1.10.1'
kotlinVersion = '1.8.20'
}
}
Une fois les dépendances configurées, assurez-vous de configurer les répertoires nécessaires.
Configuration des répertoires
Dans votre niveau de projet build.gradle, incluez les répertoires Maven requis :
allprojects {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
Si vous utilisez des répertoires Maven personnalisés ou privés, ajoutez les informations d'identification comme suit :
maven {
url "https://maven.example.com/releases"
credentials {
username = project.findProperty("mavenUsername") ?: System.getenv("MAVEN_USERNAME")
password = project.findProperty("mavenPassword") ?: System.getenv("MAVEN_PASSWORD")
}
}
Une fois les dépôts configurés, résolvez les conflits de dépendances qui peuvent survenir.
Résoudre les problèmes de compatibilité
Pour gérer les conflits de dépendances, appliquez des résolutions de versions dans votre build.gradle:
configurations.all {
resolutionStrategy {
force "org.jetbrains.kotlin:kotlin-stdlib:1.8.20"
force "androidx.core:core-ktx:1.10.1"
}
}
Voici des stratégies pour résoudre les problèmes de dépendances courants :
| Type de problème | Stratégie | Exemple |
|---|---|---|
| Conflit de version | Forcer une version spécifique | force 'com.google.code.gson:gson:2.10.1' |
| Plusieurs versions | Exclure un module | exclude group: 'org.json', module: 'json' |
| Problèmes transitatifs | Utilisez des versions strictes | strictly 'androidx.core:core-ktx:1.10.1' |
Par exemple, vous pouvez exclure les modules en conflit comme ceci :
dependencies {
implementation('library:name:1.0.0') {
exclude group: 'com.conflicting.dependency'
}
}
Enfin, optimisez votre processus de construction en activant la mise en cache et l'exécution parallèle dans gradle.properties:
org.gradle.caching=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx2048m
Capgo Intégration

En utilisant Capgo aux côtés de la gestion de dépendances native et JavaScript, la mise à jour de votre plugin devient plus rapide et plus facile.
À propos de Capgo
Capgo est une plateforme d'actualisation en direct conçue pour les plugins et les applications Capacitor . Avec plus de 23,5 millions d'actualisations délivrées dans 750 applications de production [1], Capgo permet aux développeurs de pousser des mises à jour pour les dépendances et les code instantanément - aucune revue de l'App Store n'est requise. Les mises à jour sont sécurisées avec une encryption de bout en bout et répondent aux normes de conformité Apple et Android.
Fonctionnalités d'actualisation Capgo
Capgo simplifie la gestion des dépendances des plugins avec ces fonctionnalités :
| Fonctionnalité | Ce qu'il fait | Indicateur clé |
|---|---|---|
| Mises à jour en temps réel | Met à jour les utilisateurs en quelques minutes | 95% de taux d'actualisation des utilisateurs en 24 heures |
| Mises à jour partielles | Téléchargez uniquement les fichiers modifiés | 434ms temps de réponse moyen API |
| Gestion de versions | Gérez plusieurs versions | 82% de taux de réussite mondial |
| Systeme de canal | Cibler des groupes d'utilisateurs spécifiques | Supporte plusieurs canaux de déploiement |
Source : [1]
Capgo fonctionne de manière fluide avec les outils CI/CD comme GitHub Actions, GitLab CI et Jenkins, automatisant les mises à jour de dépendances et garantissant des versions de plugins cohérentes. Ces outils facilitent l'intégration de Capgo dans votre flux de travail.
Configurer Capgo
Suivez ces étapes pour intégrer Capgo dans votre projet :
-
Installer le Capgo CLI
Exécutez la commande suivante dans votre terminal :
npx @capgo/cli init -
Configurer les préférences de mise à jour
Utilisez le tableau de bord de Capgo pour configurer les canaux de déploiement et les préférences. Les configurations hébergées dans le cloud et auto-hébergées sont prises en charge.
-
Ajouter la logique de mise à jour
Ajoutez ceci code à votre fichier de plugin principal pour activer les mises à jour :
import { Capgo } from '@capgo/capacitor-updater'; // Initialize Capgo const capgo = new Capgo({ appId: 'YOUR_APP_ID', channel: 'production' }); // Check for updates await capgo.checkForUpdate();
“Nous pratiquons le développement agile et @Capgo est essentiel à la livraison continue à nos utilisateurs !” - Rodrigo Mantica
Capgo fournit également un tableau de bord d'analytique pour des informations en temps réel sur les taux de réussite des mises à jour et l'activité des utilisateurs. Les fonctionnalités comme le retour en arrière en un clic et la traçabilité des erreurs aident à résoudre rapidement les problèmes, ce qui permet de maintenir les mises à jour de vos plugins en cours de manière fluide.
Conclusion
Révision du processus
Gérer les dépendances pour les plugins Capacitor implique l'alignement des composants natifs (iOS et Android) avec leurs équivalents JavaScript pour garantir une intégration fluide. Ce processus comprend des paramétrages spécifiques aux plateformes et la gestion de packages JavaScript pour atteindre la meilleure performance. Suivre les étapes décrites aidera à maintenir une fonctionnalité de plugin stable et efficace.
Meilleures pratiques
Pour gérer efficacement les dépendances, considérez ces pratiques :
| Pratique | Avantage | Comment mettre en œuvre |
|---|---|---|
| Fixation de version | Évite les problèmes inattendus | Utilisez des versions fixes dans package.json |
| Isolation de la plateforme | Minimise les conflits | Faites séparer les dépendances natives |
| Mises à jour régulières | Améliore la sécurité | Appliquez les correctifs critiques rapidement |
| Auditing des dépendances | Détermine les risques | Exécutez npm audit fréquemment |
En utilisant des outils d'actualisation en direct comme Capgo peut simplifier encore et améliorer ces pratiques en permettant des mises à jour en temps réel.
Capgo Benefits
Capgo simplifie le processus de gestion des dépendances tout en offrant une performance solide. Il atteint un impressionnant taux d'actualisation des utilisateurs de 95% en 24 heures et maintient un temps de réponse global __CAPGO_KEEP_0__ de 434ms. Avec une encryption de bout en bout, il garantit des mises à jour sécurisées qui répondent aux deux lignes directrices d'Apple et d'Android. Pour les équipes gérant plusieurs versions de plugins, le système de canal de API permet des déploiements ciblés pour des groupes d'utilisateurs spécifiques. Ici, voici un aperçu rapide des performances de __CAPGO_KEEP_0__ : [1]. With end-to-end encryption, it ensures secure updates that comply with both Apple and Android guidelines. For teams managing multiple plugin versions, Capgo’s channel system allows targeted deployments for specific user groups.
Here’s a quick look at Capgo’s performance:
| Temps de réponse global __CAPGO_KEEP_0__ | 434ms |
|---|---|
| Using live update tools like API can further simplify and improve these practices by enabling real-time updates. | __CAPGO_KEEP_0__ Benefits |
| Taux de Succès de Mise à Jour | 82% |
| Taux de Mise à Jour de l'Utilisateur (24 Heures) | 95% |
Continuez à partir de Comment Ajouter des Dépendances dans les Plugins Capacitor
Si vous utilisez Comment Ajouter des Dépendances dans les Plugins Capacitor pour planifier le travail de plugin natif, connectez-le avec Capgo Répertoire de Plugins pour le flux de travail du produit dans Capgo Répertoire de Plugins, Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo, Ajout ou Mise à Jour de Plugins pour le détail d'implémentation dans Ajout ou Mise à Jour de Plugins, Alternatives aux plugins Ionic Enterprise pour le flux de travail du produit dans les alternatives aux plugins Ionic Enterprise, et Capgo Rendus natifs pour le flux de travail du produit dans Capgo Rendus natifs.