cordova build 時に GoogleService-Info.plist, google-services.json を自動切替する

はじめに cordova プロジェクト(monaca)でFCMを使う際、開発環境と本番環境で GoogleService-Info.plist, google-services.json を自動で切り替えたい 正確には google-services.json は複数環境入れるが、今回は必要であった 問題 以下ファイルを用意した、ビルド時に自動で切り替えたい 正確には _dev, _prd の無いファイルを作成したい google-services_dev.json google-services_prd.json GoogleService-Info_dev.plist GoogleService-Info_prd.plist 解決方法 cordova hook でビルド時に自動で切り替える 以下スクリプトを作成したので記載. scripts/before_build に配置する #!/usr/bin/env -S bash -e script_dir=$(cd "$(dirname "${BASH_SOURCE:-$0}")" && pwd) && readonly script_dir project_root=$(cd "${script_dir}/.." && pwd) && readonly project_root config_file="${project_root}/config.xml" && readonly config_file get_stage() { grep 'name="STAGE"' "$config_file" | sed -E 's/.*value="([^"]*)".*/\1/' } update_firebase_config() { local append=_prd if [[ $stage == "dev" ]]; then append=_dev fi echo "===> Updating firebase config files" 1>&2 cp -fv "$project_root"/GoogleService-Info${append}....

2024-04-25 ·  2024-04-25 · 1 分 · 121 文字