# コンソールでリリースを運用する

コンソールで更新パッケージを選び、配信範囲を設定します。公開後の状況確認、配信停止と復旧の操作も説明します。

## リリース入力を収集します {#before}

アプリケーション名とプラットフォーム、登録チャネルとネイティブ バージョン、`.ppk` ファイル、リリース ノート、および一致するリリース ビルドを実行しているデバイスについては開発者に問い合わせてください。

ネイティブ APK / IPA / Harmony APP ファイルは CLI に登録されます。 **更新パッケージの追加** は、ネイティブ インストーラーではなく、`.ppk` ファイルを受け入れます。 [開発者の準備](/docs/publish#register-native)を参照してください。

## 適切なページを見つける {#navigation}

サインインし、**アプリケーション**を開き、アプリケーションを入力します。

|ページ |タスク |
| --- | --- |
|パッケージを更新する |アップロード、公開、ロールアウトの割合の変更、古いアップデートの復元 |
|ネイティブ ビルド |登録されたチャンネルとバージョンを検査します。ネイティブ ビルド ステータスを編集する |
|チャンネル |チャンネルの作成、ダウンロード URL の構成、アップデートの有効化または無効化 |
|ライブメトリクス |デバイスのチェック、ダウンロード、アクティベーション、エラーを検査する |
|監査ログ |誰がいつ何を変更したかを確認する |
| APIキー |開発者と CI の資格情報を作成する |

必要に応じて、アプリケーション リストからアプリケーションを作成し、名前を入力してプラットフォームを選択します。 Android、iOS、HarmonyOS 用に個別のアプリケーションを作成します。開発者に一致する appKey を渡します。

## 1. ネイティブターゲットを確認する {#native}

1. アプリケーションで **ネイティブ ビルド** を開きます。
2. 目的のチャネルとバージョン (例: `huawei / 1.0.0`) を見つけます。
3. ビルドが一時停止または期限切れになっていないこと、およびチャネルで更新が許可されていることを確認します。

リストが空の場合は、開発者に正確な配布インストーラーを登録してから更新するように依頼してください。チャネルを作成するだけではネイティブ バージョンは作成されません。

## 2. アップデートをアップロードする {#upload}

1. **「アップデートパッケージ」→「アップデートパッケージの追加」**を開きます。
2. 付属の `.ppk` を選択します。
3. `fix-checkout-001` などのリリース名とリリース ノートを入力します。
4. アプリがカスタム メタデータを使用しない限り、[メタ情報] を `{}` のままにします。
5. 送信して、更新がリストに表示されるまで待ちます。

アップロードだけではデバイスに公開されません。以下に続けてください。開発者が CLI を通じてすでに公開している場合は、再度アップロードする代わりに、既存のターゲットを検査します。エラーのシンボル表示については、開発者に[一致するソースマップ](/docs/publish#publish)を使用して公開してください。

## 3. 配信先を選択してアップデートを公開する {#publish}

1. 更新行の [**公開**] をクリックします。
2. 最初のターゲットを選択するか、ターゲットがすでに存在する場合は追加します。
3. チャンネルを見つけて、そのネイティブ バージョン (`huawei → 1.0.0` など) を選択します。選択を確認します。
4. 分離されたテスト アプリのロールアウト パーセンテージを `10` または `100` に設定します。
5. 通常のリリースではブリックレスキューをオフのままにしておきます。
6. [**プレビューして適用**] を選択します。各チャネル、バージョン、割合、および置き換えられるオンライン アップデートを確認してください。
7. 送信を確認し、結果として公開されたターゲットをリストで確認します。

|例 |対象ユーザー |
| --- | --- |
| `huawei / 1.0.0 / 10%` | Huawei ネイティブ ビルドを搭載したデバイスの一部 |
| `xiaomi / 1.0.0 / 100%` | Xiaomi ネイティブ ビルドを備えたすべての対象デバイス |

バージョンが存在しない場合は、**ネイティブ ビルド** を確認してください。ターゲット ピッカーで未登録のバージョンを作成することはできません。

## 4. 配信状況を確認する {#rollout}

1. テストデバイスでアップデートを確認し、ダウンロードを待ち、アプリの設定に従ってアクティブ化します。
2. **ライブ メトリクス** を開き、アプリケーション、チャネル、リリース時間範囲を選択します。
3. ダウンロード、起動、成功確認のイベントを検査します。デバイスのレコードを開いて障害を調査します。
4. 主要なアプリ フローが通過したら、アップデートに戻り、ターゲット ラベルをクリックするか、**公開** を再度開き、パーセンテージを増やします。
5. 各増加をプレビューして確認し、再度観察して、最終的に 100% に設定します。

10% リリースでは、テスト用携帯電話が除外される場合があります。初期検証には、分離されたテスト チャネルで 100% を使用します。ダウンロードが完了しても、アクティベーションが成功したことを証明するものではありません。 [イベントの意味](/docs/analytics)を参照。

## リリースを停止 {#stop}

1 つのターゲットについて、そのラベルをクリックし、**リリースのキャンセル** を選択し、確認して確認します。パッケージは後で再度公開できます。

チャネル全体の場合は、**チャネル → 設定** を開き、ホット アップデートを無効にして保存します。チャネルの既存のリリースを検査した後、スイッチを再度有効にして再開します。

どちらのアクションでも、電話機ですでに実行されているアップデートはアンインストールされません。更新パッケージを削除すると、そのリリース レコードも削除されます。配布を停止するには、上記のコントロールを使用します。

## 安定したアップデートを復元します {#rollback}

1. 問題のあるアップデートの今後の配布を停止します。
2. **パッケージの更新**で、以前に検証したパッケージを見つけます。
3. 同じチャネルおよびネイティブ バージョンの履歴ターゲットを開き、完全なロールバック アクションを選択します。
4. そのターゲットが存在しない場合は、同じチャネル/バージョンおよび 100% で **[公開] → [ターゲットの追加]** を使用します。
5. 影響を受けるターゲットを確認して確認します。
6. 影響を受けるデバイスを再度確認し、アプリをアクティブ化して検証し、メトリクスを監視します。

これにより、安定したコンテンツが再公開されます。デバイスは引き続きチェックしてダウンロードする必要があります。コンソールのアクションでは、実行中のアプリがすぐに元に戻るわけではありません。

## 起動できないアプリを復旧する {#rescue}

開発者にテスト済みの修正を提供してもらいます。影響を受けるチャネル/バージョンを選択し、プレビューおよび公開する前にブリック レスキューを有効にします。

インストールされた SDK は、ネイティブ起動チェックをすでにサポートし、有効化している必要があります。 JavaScript が利用できないときに修復をダウンロードし、後で起動するためにアクティベーションをスケジュールすることができます。スイッチは、古いインストーラーにネイティブ機能を追加したり、すでにロールバックされた更新に対するローカル保護をバイパスしたりすることはできません。まず、影響を受けるネイティブ ビルドを使用してリカバリをテストします。

## 日常のチェックとトラブルシューティング {#troubleshooting}

|問題 |次のステップ |
| --- | --- |
|リリース目標なし |ネイティブ ビルドの登録、アプリケーション/プラットフォームの確認、更新 |
| チャネルは正しいのに更新が届かない | インストール済みビルドのチャネルを確認します（[手順](/docs/channels#verify)）。 |
|アップロードは成功しましたが、リリースされません |ターゲットを追加し、公開プレビューを確認します。
|プレビューの競合 |失敗した行を読み取り、ターゲット データを更新して、再度プレビューします。
| 割合を下げても、利用者に配信済みの更新は元に戻りません | 割合の変更は、その後の更新配信の対象選定に反映されます。 |
|予期せぬ設定変更 | **監査ログ**を時間とキーワードでフィルタリングする |
|ダウンロードしたが古い画面が残る | [デバイスのアクティベーション手順](/docs/publish#verify) |

各リリースについて、アプリ、チャネル、ネイティブバージョン、更新名、配信割合、日時、テスト結果を記録してください。自動化の設定は[APIキーとCIからの配信](/docs/api-token)を参照してください。
