ドキュメント概要

配信チャネルと段階的リリース

チャネルをネイティブビルドに設定し、ネイティブバージョンごとの配信対象と割合を管理して安全にリリースします。

更新日 2026-09-15

目次

セットアップを選択してください

1 つのディストリビューションの場合、チャネルを未設定のままにして、default を使用します。ストアまたは内部テスターが個別の更新を必要とする場合は、追加のチャネルを構成します。

このガイドでは、Android huawei チャネルを作成し、それをアプリに書き込み、結果のビルドを登録し、更新を公開します。

チャンネルとは

1 つのアプリケーションは、対象となる Huawei デバイスの 10% と対象となる Xiaomi デバイスの 100% に個別にリリースできます。

フィールドどこに設定するか
表示名ファーウェイストアコンソール
チャンネルコードhuaweiコンソールとネイティブアプリ。値は一致する必要があります
ネイティブバージョン1.0.0Android バージョン名 / iOS アプリ バージョン

1. チャネルを作成する

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

  2. チャンネルを開き、チャンネルの作成を選択します。

  3. コードとして huawei を入力し、読み取り可能なチャンネル名を入力します。

  4. ホット アップデートを有効にし、タイムスタンプ/フィンガープリント チェックを無視するオプションを無効のままにします。ネイティブ ダウンロード URL は空のままにすることができます。

  5. 保存してチャンネルが表示されることを確認します。

コードには、1 ~ 64 個の小文字、数字、ドット、アンダースコア、またはハイフンが含まれます。作成後に編集することはできません。別の default チャネルを作成しないでください。

または、アプリを選択した後:

bash
pakta createChannel --name huawei --code huawei
pakta channels --platform android

2. ネイティブアプリを構成する

以下のプラットフォームに従ってください。 チャンネルは、インストールされたネイティブ ビルドに属します。 new Pakta() もアップロード フラグもこれを変更しません。編集後に再構築してインストールします。

アンドロイド

android/app/src/main/AndroidManifest.xml で、これを既存の <application> 内に追加します。他の属性とアクティビティはそのままにしておきます。

android/app/src/main/AndroidManifest.xml · inside application
<meta-data android:name="channel" android:value="huawei" />

android ディレクトリからビルドします。

Windows
.\gradlew.bat assembleRelease
macOS / Linux
./gradlew assembleRelease

プロダクト フレーバーがない場合、出力は通常 android/app/build/outputs/apk/release/app-release.apk になります。正確な APK をインストールして保管してください。

既存のフレーバーの場合は、マニフェスト値として ${PAKTA_CHANNEL} を使用し、android/app/build.gradle の関連フレーバー内に manifestPlaceholders = [PAKTA_CHANNEL: "huawei"] を設定します。すべてのフレーバーに値を指定し、そのリリース ビルド タスクを実行します。

iOS

これらのエントリを アプリ ターゲット ios/YourApp/Info.plist のルート <dict> に追加します。

Info.plist · inside dict
<key>channel</key>
<string>appstore</string>

自動的に生成された plist の場合、アプリ ターゲットの [情報] → [カスタム iOS ターゲット プロパティ] の下に、channel という名前の文字列プロパティ (値は appstore) を追加します。ポッドの plist は編集しないでください。

コンソールで appstore を作成します。再度アーカイブし、IPA をエクスポートして保持し、対応するビルドをインストールします。

HarmonyOS

ネイティブ統合 の後、channelharmony/entry/src/main/resources/rawfile/meta.json に追加します。

harmony/entry/src/main/resources/rawfile/meta.json
{
  "channel": "huawei"
}

既存のフィールドを保持します。 SDK Hvigor プラグインはチャネルを保持し、ビルド時間とバージョンを書き込みます。 DevEco Studio で .app に署名し、再構築します。インストールして保管してください。

Expo

手動でメンテナンスされる android / ios ディレクトリの場合は、上記のネイティブの手順に従ってください。 Expo prebuild または EAS では、次のエントリを expo.plugins に追加します。

app.json · expo.plugins
{
  "expo": {
    "plugins": [
      ["rn-update", { "channel": "huawei" }]
    ]
  }
}

channel はAndroidのマニフェストメタデータとiOSの Info.plist に記録します。プラットフォームごとにビルド設定を分けてください。default チャネルではプラグイン設定は不要です。詳しくはExpoガイドを参照してください。

3. ビルドを確認してアップロードする

アプリケーションのルートから:

bash
pakta selectApp --platform android
pakta parseApk ./android/app/build/outputs/apk/release/app-release.apk
pakta uploadApk ./android/app/build/outputs/apk/release/app-release.apk --channel huawei

アップロードする前に、解析されたチャネルとネイティブ バージョンを確認してください。 --channel は値のチェックのみを行います。一致しない場合は、ネイティブ構成を修正して再構築します。

フォーマット検査アップロード
APKparseApk PATHuploadApk PATH --channel huawei
AABparseAab PATHuploadAab PATH --channel huawei
IPAparseIpa PATHuploadIpa PATH --channel appstore
ハーモニーアプリparseApp PATHuploadApp PATH --channel huawei

コンソールで ネイティブ ビルドを更新します。チャネルとバージョンは、リリース ターゲットとして選択する前に表示される必要があります。

4. チャネルに公開する

.ppk をビルドして、次を実行します。

bash
pakta publish .pakta/output/android.ppk --platform android --name fix-001 --channel huawei --packageVersion 1.0.0 --rollout 10 --no-interactive

1.0.0 をアップロード済みのネイティブバージョンに置き換えます。独立したテストアプリでは 100% を指定し、本番配信は小さな割合から段階的に始めてください。ブラウザーでの操作はコンソールからの配信を参照してください。

複数のチャネルにリリースするには、アプリのルートに次のファイルを作成します。

targets.json
[
  { "channel": "huawei", "packageVersion": "1.0.0", "rollout": 10 },
  { "channel": "xiaomi", "packageVersion": "1.0.0", "rollout": 100 }
]
bash
pakta publish .pakta/output/android.ppk --platform android --name fix-001 --targets targets.json --no-interactive

どちらのターゲットにも登録済みのネイティブ ビルドが必要です。 Android、iOS、HarmonyOS 用に個別にビルドして公開します。

調整、停止、回復

更新行でターゲットのチャネル/バージョン ラベルをクリックするか、公開を開いて複数のターゲットを編集します。すべての変更をプレビューして確認します。

  • リリースをキャンセルして、1 つの配信先への配信を停止します。

  • [チャンネル] → [設定] でチャンネル全体を停止し、ホット アップデートをオフにして保存します。

  • 完全なロールアウトにロールバックを使用して、安定した履歴パッケージを同じチャネルおよびネイティブ バージョンに復元します。

配信を停止または割合を下げても、インストール済みのアップデートは削除されません。復旧時には、デバイスによる更新の確認、ダウンロード、有効化が必要です。ロールバック手順を参照してください。

内部テスト

internal を作成し、それをテスト ビルドに書き込み、そのビルドをテスターに配布します。まずそこに公開し、検証してから実稼働チャネルにリリースします。コンソール チャネルの名前を変更しても、インストールされているデバイスはチャネル間で移動されません。