Passer au contenu

Commencer

  1. Installez le package

    Fenêtre de terminal
    npm i @capgo/capacitor-env
  2. Synchroniser les plateformes natives

    Fenêtre de terminal
    npx cap sync

Ajoutez des clés à la configuration Capacitor afin qu’elles soient intégrées dans vos versions natives. Vous pouvez créer plusieurs variantes de configuration (capacitor.config.prod.ts, capacitor.config.dev.ts, etc.) pour échanger les valeurs par environnement.

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example',
webDir: 'dist',
plugins: {
Env: {
API_URL: 'https://api.example.com',
PUBLIC_KEY: 'pk_live_123',
},
},
};
export default config;

Sur les plateformes natives, les valeurs sont stockées dans les fichiers de configuration générés (ios/App/App/capacitor.config.json et android/app/src/main/assets/capacitor.config.json). Mettez à jour ces fichiers par version si vous avez besoin de valeurs spécifiques au locataire.

import { Env } from '@capgo/capacitor-env';
const apiUrl = await Env.getKey({ key: 'API_URL' }).then((result) => result.value);
if (!apiUrl) {
throw new Error('Missing API_URL configuration');
}
const loadConfig = async () => {
const { value: endpoint } = await Env.getKey({ key: 'API_URL' });
return endpoint || 'https://staging.example.com';
};
  • Utilisez différents fichiers capacitor.config par environnement et pointez le CLI vers celui de droite avec npx cap run ios --configuration=prod.
  • Combinez avec les canaux de mise à jour Capgo pour expédier des valeurs spécifiques au locataire sans publier de nouveaux binaires.
  • Gardez les secrets hors du contrôle de code source en les remplaçant lors de la construction de votre CI avant le npx cap sync.