すべての記事
アプリから外部の AI にユーザーの文章を送るとき、Play の「データの安全性」に何を書くか
外部の AI にユーザーの入力を渡すアプリで、Play のデータ安全性フォームの収集・共有・一時処理をどう区分するか。送信を一箇所に集める実装と、順序を誤ると消し漏れるマスキングの実測を添えて整理します。
eas env:list に --json がないと分かってから、環境変数の棚卸しを組み直しました
eas env:list に --json フラグは用意されていません。--format short の出力を安全に JSON へ変換し、三つの環境の抜けを一行で見つけるまでの手順を書き残します。
eCPM が下がった月の広告収益を、国の構成と単価に切り分けます
ブレンド eCPM は単価ではなく加重平均です。下がった原因が配信国の構成なのか単価なのかを、合計差分と誤差なく一致する形で切り分ける手順とスクリプトをまとめました。低単価の国を止める前に確かめることも書き残します。
Rork の無料枠は月35クレジットですが、実際にぶつかるのは1日5という上限のほうです
Rork の無料枠は月35クレジット・1日5クレジットが上限です。総量ではなく日次の上限が設計を決めます。クレジットを減らす投げ方と、無料のまま確かめられることの線引きをまとめました。
Widget Extension でも BGTaskScheduler.submit は成功します。走らないのは register が親アプリだけのものだからです
Widget Extension から BGTaskScheduler に依頼を出すとビルドも submit も通るのに、翌朝ウィジェットは変わりません。register がホストアプリ専用である事実から、更新の主語を親アプリへ戻す設計まで、壁紙アプリの運用で詰めた手順を残します。
Rork Companion で動いた画面を、私はまだ完成とは呼びません
Rork Companion で iPhone に入れて動いた画面と、実際にストアへ並ぶビルドのあいだには段差があります。無料の署名が数日で切れる理由から、Companion で確かめられること・確かめられないことの切り分け、画面にビルド情報を出しておく小さな実装までをまとめました。
EAS の secret は「アプリに入れない」設定ではありません — 接頭辞と可視性を別々に決める
EXPO_PUBLIC_ の接頭辞は成果物に入るかを決め、EAS の可視性は誰が読めるかを決めます。二つを重ねたときに OTA 更新でだけ値が消える筋道と、出荷前に自分の手で確かめる手順をまとめました。
リンクを押してもアプリが開かないとき、疑うのは assetlinks.json の置き場所より先に署名鍵です
Android App Links が検証されずブラウザに吸われる原因の多くは指紋の食い違いです。keytool の実出力と、手元で照合できる小さな検査スクリプトの実行結果を添えて整理しました。
同じコードベースから出す2本目のアプリに、固有価値を宣言する1枚を置いています
Google Play が「低価値アプリ」の線引きを明確にしました。同じコードベースから兄弟アプリを出している側が、焼き直しに見えないための固有価値をどこに置き、提出前にどう数えているかを、実際に回している手順とスクリプトごと書き残します。
eas.json に image を書かないままだと、SDK を上げた日に Xcode も pnpm も一緒に動きます
eas.json に image を書いていないビルドの既定は auto です。SDK エイリアスが1つ動くと Xcode・Node.js・pnpm・fastlane がまとめて入れ替わります。Xcode 27 が来る前に、自分のビルドが通ったイメージ名をログから拾い、固定するかどうかを決めるまでの手順です。
expo のパッチを1つ上げると、expo install の推奨が何個動くのかを数えました
expo install が推奨するバージョンは expo 本体のパッチ版に紐づいています。npm レジストリの実データで台帳の差分を数え、npm install が外す幅と、生成直後のプロジェクトに置く検査を示します。
無料枠で始める EAS Observe と、それでも Crashlytics を残す理由
EAS Observe が8月20日に正式版になりました。監視ツールを1本に減らせるかと思って調べたところ、ネイティブクラッシュは対象外でした。無料枠の上限と、最初の設定で落とし穴になる箇所をまとめています。