すべての記事
広告の本当のeCPMを自分で測る — Impression-Level Ad Revenue を計測基盤に流し込む実装記録
AdMob の管理画面が見せる平均eCPMだけでは、どの地域やプレースメントが本当に稼いでいるかは分かりません。1インプレッションごとの収益を paidEventListener で受け取り、解析基盤に流して本当のeCPMを出すまでの実装と運用をまとめました。
壁紙アプリ6本を1つのコードベースから出し分ける — app.config.ts と EAS で組むホワイトラベル構成
似た構造の壁紙アプリを別々のリポジトリで保守していると、修正が6箇所に分散して破綻します。1つのコードベースから APP_VARIANT で6本のアプリを出し分けるホワイトラベル構成を、app.config.ts と eas.json の実コードと、設定ドリフトを防ぐ検証スクリプトまで含めてまとめました。
Android Vitals の ANR 率が上がったとき — メインスレッドを止めない React Native 設計ノート
Rorkで書き出したReact NativeアプリでAndroid VitalsのANR率がしきい値を超えたときの記録です。CrashlyticsとVitalsで発生箇所を挟み込み、起動時の同期初期化をメインスレッドから外し、画像デコードやリスト描画の詰まりを解消するまでの切り分けを共有します。
Metro・EASのビルドが『JavaScript heap out of memory』で落ちるときの対処
RorkやExpoのアプリをビルドしている途中で『FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory』が出て止まる——その原因と、ローカル・EAS両方での具体的な対処をまとめました。
起動時間を『予算』として管理する — 6本のアプリでSDK初期化を後ろ倒しにした設計記録
起動時間を場当たり的に速くするのではなく、フェーズごとに予算を割り当てて守る運用に切り替えた記録です。Rork で書き出した6本のアプリでSDK初期化を後ろ倒しにし、CIで予算超過を止めるまでをまとめました。
クラッシュフリー率を『予算』として運用する — 個人開発 6 アプリで撤退と投資を判断する SLO 設計ノート
壁紙アプリ 6 本を並行運用するなかで、クラッシュフリー率を「良い・悪い」の二値ではなくエラーバジェットとして扱うようにした設計を共有します。バーンレートを撤退・投資判断のゲートに変える運用ノートです。
Rork で書き出したアプリの native 設定を Expo config plugin で一元管理する
prebuild のたびに消える AdMob ID や ATT 文言を手で書き直していませんか。Rork で書き出したアプリの native 設定を、自作の Expo config plugin で再現可能にし、6本の壁紙アプリで共有した実装記録です。
Rork で『TurboModuleRegistry.getEnforcing could not be found』が出たときの原因と対処
New Architecture が標準になってから増えた『TurboModuleRegistry.getEnforcing(...): could not be found』エラーの読み解き方を解説します。Expo Go と開発ビルドの違い、ネイティブ再ビルドの判断基準、互換性のないライブラリの切り分け手順までコード付きでまとめました。
OTAアップデートを段階配信する仕組みを、壊さずに育てる
EAS Updateで全ユーザーに即時配信するのは危険です。チャンネル設計・段階的ロールアウト・自動ロールバックまで、累計5,000万DLの運用で固まった配信アーキテクチャを実装コード付きで共有します。
ProMotion 120Hz を壁紙アプリに行き渡らせる — CADisableMinimumFrameDurationOnPhone と Reanimated v3 の実装メモ
Rork で生成した壁紙アプリの 120Hz 化に取り組んだ実装メモ。Info.plist の CADisableMinimumFrameDurationOnPhone から Reanimated v3 worklets、FlashList スクロールまで、6壁紙アプリで観測した AdMob eCPM 改善幅と落とし穴を整理しています。
Rork で『Network request failed』が Android エミュレータでだけ出るときの調べ方と直し方
iOS シミュレータでは通る fetch が、Android エミュレータでだけ『Network request failed』で落ちる現象の原因と、ローカル API・社内 API・本番 API を切り分けて直していく手順を、実機検証の順番までまとめます。
Rork × EAS Update の Runtime Version 戦略 — 6 アプリ並行運用で既存ユーザーを壊さない SDK アップグレード設計
Rork で作った 6 つのアプリを並行運用しながら Expo SDK 50→51 を段階的に上げた実装を、runtimeVersion ポリシー比較・eas.json 完全版・配信スクリプト・本番事故からの復旧手順まで一気通貫で残します。