コンテンツにジャンプ

チャンネル

チャンネルは、Capgoのアプリ更新の管理の核となるメカニズムです。チャンネルは、ユーザーが更新を受け取る方法と時期を制御することを可能にし、A/Bテスト、ステージドロールアウト、プラットフォーム固有の更新などを有効にします。

チャンネルは、アプリ更新の配布トラックを表します。各チャンネルは、特定のルールと制約とともに構成できます:

  • バンドル(バージョン)制御: 指定するバンドル(バージョン)のユーザー
  • プラットフォームターゲット: iOS/Android/Electronなどの特定のプラットフォームをターゲット
  • 更新ポリシー: Control how updates are delivered
  • デバイス制限: Device Management

: Manage which devices can access updates

チャネル設定オプション
  • Section titled “Channel Configuration Options”public
  • : New Device Default Channel: Set as default channel for new devices
  • disableAutoUpdateUnderNative: Native App Version Priority
  • : Prevent updates when the device’s native app version is newer than the update bundle (version) available in the channel (e.g., device is on native app version 1.2.3, but channel has bundle (version) 1.2.2): 平安にいるできだでする。中山にいるできだでする。
  • allow_device_self_set: ディシャートにいるできだでする。
  • : ディシャートにいるできだでする。: ディシャートにいるできだでする。
  • : ディシャートにいるできだでする。バーーバームースト
  1. コンターバームースト。ディシャートにいるできだでする。コンターバームースト
  2. コンターバームースト: __CAPGO_KEEP_0__を使用して、順次アップデートのデプロイを複数のチャネルで行う
  3. : プラットフォーム分離: 必要に応じて、iOS、Android、Electron用に別々のチャネルを作成する
  4. : バンドル(バージョン)管理: __CAPGO_KEEP_0__を使用 : セマンティックバージョニング : クリアなアップデートパスを確保する

: エンドポイント

: エンドポイント

: POST

: POST

https://api.capgo.app/channel/

: チャネル設定を追加または更新する

type disable_update = "major" | "minor" | "version_number" | "none"
interface ChannelSet {
app_id: string
channel: string
version?: string // bundle (version) name
public?: boolean
disableAutoUpdateUnderNative?: boolean
disableAutoUpdate?: disable_update
ios?: boolean
android?: boolean
electron?: boolean
allow_device_self_set?: boolean
allow_emulator?: boolean
allow_dev?: boolean
}

Example Request

例のリクエスト
Terminal window
curl -X POST \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0",
"public": false,
"disableAutoUpdate": "minor",
"ios": true,
"android": true,
"electron": true,
"allow_emulator": true
}' \
https://api.capgo.app/channel/

Success Response

成功応答
{
"status": "ok"
}

GET

GET

https://api.capgo.app/channel/

チャンネル情報を取得します。1ページあたり50のチャンネルを返します。

  • app_id: 必須。アプリのID
  • page: 任意。ページ番号
  • channel: 任意。特定のチャンネル名を取得
ターミナル画面
# Get all channels
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Get specific channel
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&page=1"
interface Channel {
id: number;
created_at: string;
name: string;
app_id: string;
version: { // bundle (version) assigned to the channel
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean;
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

以下のレスポンスに version チャンネルに割り当てられたバンドル(バージョン)を指します。

{
"data": [
{
"id": 1,
"name": "production",
"app_id": "app_123",
"version": {
"id": 1,
"name": "1.0.0"
},
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z",
"created_by": "user_123",
"public": true,
"disableAutoUpdateUnderNative": false,
"disableAutoUpdate": false,
"allow_emulator": false,
"allow_dev": false
}
]
}

https://api.capgo.app/channel/

チャンネルを削除します。ただし、このチャンネルを使用しているすべてのデバイスに影響します。

interface Channel {
channel: string
app_id: string
}

例のリクエスト

例のリクエスト
ターミナル画面
curl -X DELETE \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"channel": "beta"
}' \
https://api.capgo.app/channel/

成功応答

成功応答
{
"status": "ok"
}

エラー処理

エラー処理

一般的なエラーシナリオとその応答:

// Channel not found
{
"error": "Channel not found",
"status": "KO"
}
// Invalid bundle (version) format
{
"error": "Invalid version format. Use semantic versioning",
"status": "KO"
}
// Invalid update policy
{
"error": "Invalid disableAutoUpdate value",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage channels",
"status": "KO"
}
  1. ベータテスト
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. 運用開始
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. プラットフォーム固有の更新
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}

Capgoを使用している場合 チャンネル を使用してチャンネルルーティングの計画とステージドロールアウトを実行し、Cloudflareのチャンネルと接続する チャンネル チャンネルの実装詳細について チャンネル チャンネルの実装詳細について ベータテスト ソリューション ベータテスト ソリューションの製品ワークフローについて バージョン ターゲット ソリューション バージョン ターゲット ソリューションの製品ワークフローについて Capgo 環境ベスト プラクティス: ステージングに 1 つのモバイル アプリ ID Capgo 環境ベスト プラクティス: ステージングに 1 つのモバイル アプリ ID の実用的な背景