03. EAS Updateとストアビルドを運用する
公開後のアプリでは、すべての修正をストア審査に出す必要はありません。一方で、EAS Updateで配信できない変更もあります。変更の種類を誤ると、更新が届かない、起動できない、ストアの審査対象と実際の機能がずれる、といった問題が起こります。
1. 変更の種類を分類する
Section titled “1. 変更の種類を分類する”| 変更 | 配信方法 |
|---|---|
| 文言、翻訳、色、レイアウト | EAS Updateの候補 |
| JavaScriptのバグ修正 | EAS Updateの候補 |
| ネイティブライブラリの追加 | 新しいEAS Build |
| 権限、アイコン、起動画面 | 新しいEAS Buildとストア配信 |
| Expo SDK更新 | 新しいEAS Buildと互換性確認 |
| 課金・通知などのネイティブ設定 | 新しいEAS Buildと実機検証 |
EAS Updateは、expo-updatesを含むアプリへJavaScriptとアセットを配信します。変更を送る前に、対象のビルドがその更新と互換性を持つか確認します。EAS Updateの概要
2. チャンネルと環境を分ける
Section titled “2. チャンネルと環境を分ける”少なくとも、次のチャンネルを分けます。
preview:開発者や少人数のテスター向けproduction:一般ユーザー向け
本番向けの更新を公開する前に、同じビルドをpreviewで確認します。
# environment名はプロジェクトのEAS設定に合わせるeas update --channel preview --message "Fix habit completion state" --environment preview確認項目は、画面が開くかだけでは足りません。
- 既存ユーザーの保存データを読めるか
- 古い画面から新しい画面へ遷移できるか
- ログイン、通知、課金、AI呼び出しが動くか
- 起動失敗時に前の安定版へ戻せるか
3. 更新前に差分を記録する
Section titled “3. 更新前に差分を記録する”更新ごとに、次の情報を残します。
更新ID:Git commit:EAS channel:対象のruntimeVersion:変更内容:確認した端末:確認した主要導線:ロールバック方法:EAS Updateのチャンネルと、アプリに含まれるruntime versionが合わない場合、更新が対象端末へ届かないことがあります。設定値をAIに作らせる場合も、実際のビルド設定と配信設定を照合します。
4. ロールバックを先に試す
Section titled “4. ロールバックを先に試す”壊れた更新を出してから初めて戻し方を調べると、復旧が遅れます。preview環境で次の順番を一度試します。
- 安定版を記録する
- 意図的に小さな不具合を含む更新をpreviewへ出す
- 直前の安定版を再公開する
- アプリを再起動し、安定版へ戻ったことを確認する
- 更新の説明とGit commitを記録する
EAS Updateには、以前に公開した更新、またはビルドに埋め込まれた更新へ戻すロールバック機能があります。実際のコマンドや対象チャンネルは、EASのロールバック手順を現在のCLIに合わせて確認します。
ネイティブコードを含む問題は、EAS Updateだけでは解決できません。その場合は、修正版のアプリビルドを作成してストアの配信経路へ進みます。
- EAS Updateと新しいアプリビルドの境界を説明できる
- previewとproductionを分けて更新できる
- runtime versionと対象ビルドを確認できる
- 安定版へ戻す手順を実際に試して記録できる