A mio avviso, l'opzione migliore è utilizzare la configurazione di reattivo-nativo . Supporta 12 fattori .
Ho trovato questo pacchetto estremamente utile. È possibile impostare più ambienti, ad esempio sviluppo, stadiazione, produzione.
Nel caso di Android, le variabili sono disponibili anche nelle classi Java, Gradle, AndroidManifest.xml ecc. Nel caso di iOS, le variabili sono disponibili anche nelle classi Obj-C, Info.plist.
Devi solo creare file come
.env.development
.env.staging
.env.production
Riempi questi file con chiave, valori come
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
e poi basta usarlo:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Se vuoi usare ambienti diversi, in pratica imposti la variabile ENVFILE in questo modo:
ENVFILE=.env.staging react-native run-android
o per assemblare app per la produzione (Android nel mio caso):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';console.log(Platform);