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

apk の AndroidManifest.xml を確認するコマンド作った

はじめに apk内の AndroidManifest.xml を確認するコマンドを作ったのでメモ 要は AXMLPrinter2.jar があれば、java で AndroidManifest.xml を読める java -jar AXMLPrinter2.jar AndroidManifest.xml 以下を cat_android_manifest_from_apk などで保存して、chmod +x して使う #!/usr/bin/env -S bash -e script_dir=$(cd "$(dirname "${BASH_SOURCE:-$0}")" && pwd) && readonly script_dir current_dir=$(pwd) && readonly current_dir url="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.jar" jar="$script_dir/AXMLPrinter2.jar" has() { command -v "${1}" >&/dev/null; } dl_if_needed() { [[ -e $jar ]] && return curl -fSsL -o "$jar" "$url" } main() { if ! has java; then echo "==> No java found" >&2 exit 1 fi if [[ $# -eq 0 ]]; then echo "==> Specify apk" >&2 exit 1 fi local apk_name apk_name=$(basename "$1") local tmpd="$current_dir/tmp_$apk_name" if [[ !...

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

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

terraform + GitHub Actions + ECR + Lambda + ApiGateway + OpenAPI 調査したのでメモ

はじめに 色々調べたのでメモ.. 以下詳細 Terraform で Lambdaも管理できないか? 最近やってるLambdaとAPI Gatewayの開発方法の話 tf, ecr, python, openapi TerraformでAPI Gateway + Lambdaの構成テンプレート #lambda - Qiita tf, NOT ecr, node, openapi TerraformでAmazon API Gatewayを構築する(基本編) #AWS - Qiita tf, NOT ecr, openapi LambdaをカスタムDockerランタイムで開発する方法 | フューチャー技術ブログ コンテナイメージを更新した際に気をつけるポイントですが、latestタグのコンテナイメージを更新しても、 すぐにLambda関数の挙動には反映されません。一晩寝かしても古いイメージが参照されていました。 全く同じimage-uriのまま更新コマンドを実行することで即時反映できます。 TerraformでLambdaコンテナイメージを自動構築する #Docker - Qiita swagger ecr lambda apigateway codebuild aws_lambda_alias lambda version に対するエイリアス これに対するIgnore設定の記載など 【AWS Lambda】複数のLambda関数を1つのコンテナイメージにまとめる #AWS - Qiita entrypoint指定できる aws_lambda_function | Resources | hashicorp/aws | Terraform | Terraform Registry ここでいうhandler?...

2024-02-15 ·  2024-08-01 · 1 分 · 204 文字

MySQL で 実行計画を取る

はじめに MySQLで実行計画を取りたい場合の書き方は EXPLAIN をつければいいが、 SQLのコスト表示がされないので、これを付けたい。 その場合の指定方法 まとめ 結果 解決方法 先頭に以下をつけて、JSONフォーマットを指定する。 query_cost 付きでJSONの結果が表示できる EXPLAIN FORMAT=JSON select * from sample where id = 1;

2024-02-14 ·  2024-08-01 · 1 分 · 22 文字