Para admitir un solo entorno, el siguiente código funciona bien en mi flutter web index.html
<html> ... <body> <script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script> <!-- Firebase Configuration --> <script> var firebaseConfig = { apiKey: "...", authDomain: "[YOUR_PROJECT].firebaseapp.com", databaseURL: "https://[YOUR_PROJECT].firebaseio.com", projectId: "[YOUR_PROJECT]", storageBucket: "[YOUR_PROJECT].appspot.com", messagingSenderId: "...", appId: "1:...:web:...", measurementId: "G-...", }; // Initialize Firebase firebase.initializeApp(firebaseConfig); </script> </body> </html>Sin embargo, ¿cómo admitir múltiples entornos de Firebase en Flutter Web?
Por ejemplo, junto con lo anterior, quiero tener dos entornos adicionales llamados dev y preprod For Dev, una configuración diferente:
var firebaseConfigDev = { apiKey: "...", authDomain: "[YOUR_PROJECT_DEV].firebaseapp.com", databaseURL: "https://[YOUR_PROJECT_DEV].firebaseio.com", projectId: "[YOUR_PROJECT_DEV]", storageBucket: "[YOUR_PROJECT_DEV].appspot.com", messagingSenderId: "...", appId: "1:...:web:...", measurementId: "G-...", };Y para preprod, otra configuración
var firebaseConfigPreprod = { apiKey: "...", authDomain: "[YOUR_PROJECT_PREPROD].firebaseapp.com", databaseURL: "https://[YOUR_PROJECT_PREPROD].firebaseio.com", projectId: "[YOUR_PROJECT_PREPROD]", storageBucket: "[YOUR_PROJECT_PREPROD].appspot.com", messagingSenderId: "...", appId: "1:...:web:...", measurementId: "G-...", };Busqué en todas partes en Internet y StackOverflow y no pude encontrar un ejemplo de cómo lograr esto. Sin embargo, lo encontré en Android, es tan fácil como mantener dos google-services.json, producción y depuración y uso de sabores de compilación.
Pero en flutter web, ¿cuál es el equivalente de build flavors y google service json?
Por ahora, a diferencia de las aplicaciones móviles, parece que no hay una manera fácil de lograr esto en Flutter web.
Aunque como alternativa, puede lograr esto a través de su tubería de construcción web.