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 文字

cordova-plugin-firebasex Tips

はじめに 以下Firebasex Pluginの使い方Tips dpa99c/cordova-plugin-firebasex: Cordova plugin for Google Firebase 確認環境 monaca Cordova 12.0.0 android cordova-android 12.0.1 openjdk 11.0.20 2023-07-18 Gradle 7.6 ios cordova-ios 7.0.1 Pod 1.14.3 Xcode 15.0.1 dpa99c/cordova-plugin-firebasex.git 16.1.0-cli device android: Android 14 Pixel 5, Pixel 8 Pro ios iOS 15.4 iPhone 15 Pro まとめ getToken, onTokenRefresh は iOS/Android共通 FCMでAPNs設定をして、iOSもFCM経由で送信する場合はこちら getAPNSToken, onApnsTokenReceived は iOSのみ APNsのみで送信する場合はこちら Android 13+ の場合は以下を config.xml に追加して、AndroidManifestに権限を追加する必要あり(とあったが、以下なしでも追加される模様) <platform name="android"> <config-file target="AndroidManifest.xml" parent="/*"> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> </config-file> </platform> Android でインストール直後にアカウント設定などのデータを復元したくない場合は以下を追加 デバッグ中など毎回復元されると面倒...

2024-04-23 ·  2024-04-25 · 1 分 · 90 文字