Я сделал это только для Android, как показано ниже, и у меня это сработало: -
Создайте следующие файлы и каталоги в своем проекте (это исходные файлы, в которых конфигурации для обоих проектов Firebase жестко запрограммированы. config. xml необходимо заменить из-за другого имени пакета):
с использованием хуков ioni c, создайте файл build-before . js, который содержит следующий сценарий:
module.exports = function(ctx) {
console.log(ctx);
var fs = require("fs");
var xmlConfig = "config.xml"
if (ctx.build.configuration == 'production') {
var srcfile = "src/production/google-services.json";
var destfile = "google-services.json";
var srcConfigfile = "src/production/config.xml";
var destConfigfile = "config.xml";
console.log("copying " + srcfile + " to " + destfile);
fs.createReadStream(srcConfigfile).
pipe(fs.createWriteStream(destConfigfile));
fs.createReadStream(srcfile).pipe(fs.createWriteStream(destfile));
} else {
console.log("TARGET environment variable is not set. Using default values.");
var srcfile = "src/development/google-services.json";
var destfile = "google-services.json";
var srcConfigfile = "src/development/config.xml";
var destConfigfile = "config.xml";
console.log("copying " + srcfile + " to " + destfile);
fs.createReadStream(srcConfigfile).
pipe(fs.createWriteStream(destConfigfile));
fs.createReadStream(srcfile).
pipe(fs.createWriteStream(destfile));
}
}
3. В файл ioni c .config. json добавьте следующее:
"hooks": {
"build:before": "./scripts/build-before.js"
}
4.Проверьте следующие команды:
$ ioni c cordova build android --prod
$ ioni c cordova build android
$ ioni c serve --prod
$ ioni c serve