コンテンツにスキップ

コマンド

このページはガイド付きの概要です。正確なフラグについては、現在のコマンドリファレンスを参照してください: アプリ, バンドル, チャネルビルド.

All command should be run in your app folder with capacitor project ignited properly.

npx @capgo/cli@latest init [apikey]

このメソッドは、ステップごとに導入をサポートするためにここにあります。

これは、Capgoにアプリを追加し、codeをアプリに追加してアップデートを検証するのに役立ちます。また、アプリをビルドし、Capgoにアップロードし、アップデートが正常に動作するかどうか確認するのに役立ちます。

npx @capgo/cli login [apikey]

このメソッドは、 apikey を記憶しておきます。

Optionally you can give:

--local This will store your apikey ローカルリポジトリに保存し、gitで無視します。

npx @capgo/cli doctor

Capgoパッケージと最新の状態かどうかを確認するコマンドです。

このコマンドは、バグレポートの際にも役立ちます。

npx @capgo/cli app add [appId]

[appId] アプリIDの形式は com.test.app ここで説明されています 💡 すべてのオプションは、指定されていない場合、configで推測されます。.

オプションは、以下のいずれかを指定することでカスタマイズできます。

カスタムアイコンを表示するWebアプリに

  • --icon [/path/to/my/icon] Capgo
  • --name [test] リスト内のカスタム名を表示する
  • --apikey [key] API
  • --retention [retention] アカウントへのリンク用のキーを指定する

アプリパッケージの保存期間(日数)、0(デフォルト)= 無限 capacitor.config.json appId と AppName の場合、アイコンはリソースフォルダ内で推測されます。

{
"appId": "ee.forgr.capacitor_go",
"appName": "Capgo",
"webDir": "dist"
}

npx @capgo/cli app set [appId]

[appId] あなたのアプリIDはこちら、フォーマットはこちらで説明されています。 ここ.

オプションとして、以下の値を指定できます。

  • --icon [/path/to/my/icon] Capgo ウェブアプリでカスタムアイコンを表示する場合。
  • --name [test] リスト内でカスタム名を表示する場合。
  • --retention [retention] アプリパッケージの保持期間(日数)、0(デフォルト)= 無限。
  • --expose-metadata [true|false] プラグインにパッケージメタデータ(リンクとコメント)を公開する場合。
  • --preview または --no-preview __CAPGO_KEEP_0__ を使用して、バンドルとチャンネル プレビュー QR コードの有効化/無効化を管理します。
  • --allow-device-custom-id または --no-allow-device-custom-id カスタム デバイス ID の管理をします。
  • --block-provider-infra-requests または --no-block-provider-infra-requests Google と Apple のデータセンターの既知の要求のブロッキングを管理します。
  • --build-timeout-minutes [5-360] ネイティブ ビルドのタイムアウトを設定します。
  • --ios-store-url [url] または --android-store-url [url] ストアの URL を設定します。
  • --default-upload-channel [channel] デフォルトのアップロード チャンネルを設定します。
  • --default-download-channel [channel] デフォルトのダウンロード チャンネルの設定、または --disable-download-channels ダウンロード チャンネルのすべてが非公開になるようにします。
  • --apikey [key] API キーを使用して、自分のアカウントにリンクします。

npx @capgo/cli app list [appId]

[appId] アプリIDのフォーマットはこちらで説明されています。 com.test.app ここで説明されているようにアプリIDのフォーマット ここで説明されているようにアプリIDのフォーマット.

オプションで、__CAPGO_KEEP_0__ キーを指定してアカウントにリンクできます。

  • --apikey [key] API key to link to your account.

npx @capgo/cli app delete [appId]

[appId] ここで説明されているようにアプリIDのフォーマット com.test.app ここで説明されているようにアプリIDのフォーマット オプションで、__CAPGO_KEEP_0__ キーを指定してアカウントにリンクできます。.

Optionally, you can give:

  • --apikey [key] APIキーを入力するとアカウントにリンクされます。
  • --bundle バージョン番号を指定すると、そのバージョンだけが削除されます。

npx @capgo/cli app debug [appId]

[appId] アプリIDのフォーマットは com.test.app ここで here.

__CAPGO_KEEP_0__キーを入力するとアカウントにリンクされます。

  • --apikey [key] API key to link to your account.
  • --device 設定

npx @capgo/cli app setting [path]

Capacitorの設定を編集してください。

[path] - 変更したい設定のパスを指定してください。例えば、自動更新を無効にする場合は appId, を指定してください。 appId. 自動更新を無効にする場合は capacitor-updater, を指定してください。 plugins.CapacitorUpdater.autoUpdate 、またはを指定する必要があります。 --string off.

オプション: --string - 文字列を設定する --bool!

- 真偽値を設定する

  • --string <string> -
  • --bool <true | false> -

アプリケーションをバンドルする

バンドル

アップロード

アップロード

npx @capgo/cli bundle upload [appId]

[appId] __CAPGO_KEEP_0__はあなたのアプリIDです。形式はここで説明されています。 ここ.

あなたのアカウントにリンクするために、__CAPGO_KEEP_0__キーのオプションがあります。

  • --apikey <apikey> APIにアップロードするのではなく、外部URLにリンクする
  • --path <path> __CAPGO_KEEP_0__フォルダのアップロードパス
  • --channel <channel> __CAPGO_KEEP_0__にリンクするチャンネル
  • --external <url> Capgoの外部URLにリンクする代わりにIVとセッションキーの設定
  • --iv-session-key <key> __CAPGO_KEEP_0__の外部URLにIVとセッションキーの設定
  • --s3-endpoint <s3Endpoint> __CAPGO_KEEP_0__
  • --s3-region <region> S3エンドポイントのURL。デラタアップロードや外部オプションは使用できません。
  • --s3-apikey <apikey> API key for your S3 endpoint.
  • --s3-apisecret <apisecret> API
  • --s3-bucket-name <bucketName> __CAPGO_KEEP_0__
  • --s3-port <port> AWS S3バケットの名前
  • --no-s3-ssl S3エンドポイントのポート
  • --key <key> S3アップロードでSSLを無効にします
  • --key-data <keyData> パブリック署名キー(v1システム)のカスタムパス
  • --key-v2 <key> パブリック署名キー(v1システム)
  • --key-data-v2 <keyData> プライベート署名キー(v2システム)のカスタムパス
  • --bundle-url プライベート署名キー(v2システム)
  • --no-key 署名キーを無視して明示的な更新を送信します。
  • --no-code-check ソース code とインデックスがルートフォルダに存在する場合にのみ、notifyAppReady() が呼び出されたかどうかのチェックを無視します。
  • --display-iv-session 更新を暗号化するために使用される IV とセッション キーをコンソールに表示します。
  • --bundle <bundle> アップロードするバンドルのバージョン番号をバンドルします。
  • --min-update-version <minUpdateVersion> このバージョンにアップグレードするために必要な最小バージョン番号です。チャンネルのメタデータに自動アップデートを無効に設定した場合にのみ使用されます。
  • --auto-min-update-version ネイティブパッケージに基づいて最小アップデートバージョンを設定します。
  • --ignore-metadata-check アップロード時にメタデータ (node_modules) チェックを無視します。
  • --ignore-checksum-check アップロード時にチェックサムチェックを無視します。
  • --timeout <timeout> 秒単位のアップロードプロセスのタイムアウト時間を設定します。
  • --delta Delta (マニフェスト) ファイルを含むフルバンドルをアップロードします。
  • --delta-only フルバンドルをスキップして、Delta (マニフェスト) のみのアップデートをアップロードします。
  • --no-delta Delta (マニフェスト) のアップロードを無効にします (即時適用に便利) autoUpdate mode が有効ですが、完全なバンドルが必要な場合)、
  • --tus tus プロトコルを使用してバンドルをアップロードします。
  • --multipart S3 にデータをアップロードするために使用される、multipart プロトコル。非推奨、TUS を使用することをお勧めします。
  • --encrypted-checksum <encryptedChecksum> 外部バンドルをアップロードする場合にのみ使用される、暗号化されたチェックサム (署名)。
  • --package-json <packageJson> package.json のパス。モノレポ用に便利です。
  • --auto-set-bundle capacitor.config.json にバンドルを設定します。
  • --node-modules <nodeModules> モノレポ用に便利な node_modules のパスの一覧 (カンマ区切り、例: ../../node_modules,./node_modules)。

⭐️ External option helps to unlock 2 cases: corporate with privacy concern, don’t send the code to a third part and app bigger than 200 MB. With this setting, Capgo store only the link to the zip and sends the link to all apps.

👀 Capgo クラウドは、外部オプションの場合、リンク内の内容を確認せずに、または code に保存された場合、リンクを送信します。

🔑 Capgo がデータを確認または変更できないようにすることで、2 つのレイヤーのセキュリティを追加できます。

__CAPGO_KEEP_0__ がデータを確認または変更できないようにすることで、2 つのレイヤーのセキュリティを追加できます。 package.json 例えば、バージョン

{
"version": "1.0.2"
}

バージョンは「0.0.0」より大きくなければなりません。

バージョン番号を毎回更新することを忘れないでください。バージョン番号は削除後は再利用できませんので、セキュリティ上の理由でオーバーライドできません。

npx @capgo/cli bundle list [appId]

[appId] アプリIDのフォーマットは com.test.app こちらで説明されています。 オプションで、.

__CAPGO_KEEP_0__ キーを指定してアカウントにリンクすることができます。

  • --apikey [key] API key to link to your account.

「削除」というタイトルのセクション

__CAPGO_KEEP_0__

npx @capgo/cli bundle delete [appId]

[appId] あなたのアプリIDのフォーマットは com.test.app はこちらで説明されています Optionally、次の情報を入力できます.

__CAPGO_KEEP_0__キーを入力すると、自分のアカウントにリンクできます。

  • --apikey [key] API key to link to your account.
  • --bundle 削除

セクションのタイトルは「削除」

セクションのタイトルは「削除」

セクションのタイトルは「削除」

npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]

[appId] あなたのアプリIDのフォーマットは com.test.app はこちらで説明されています はこちらで説明されています.

任意に指定することができます:

  • --apikey [key] API キーを指定すると、自分のアカウントにリンクできます。
  • --bundle [majorVersion] 削除する前のパッケージを保持するバージョンを指定することができます。最後のバージョンを保持し、 numberToKeep.
  • --keep [numberToKeep] 保持するパッケージの数を指定します (デフォルトは 4)。

例えば、10.0.1 から 10.0.11 までの 10 つのバージョンが存在し、 npx @capgo/cli cleanup [appId] --bundle=10.0.0 このオプションを指定すると、10.0.1 から 10.0.6 までのバージョンが削除され、10.0.7 から 10.0.11 までのバージョンが保持されます。

バンドル数を指定しない場合、合計 20 つのバージョンが存在し、 npx @capgo/cli cleanup [appId] --keep=2 このオプションを指定すると、18 つのバージョンが削除され、最後の 2 つのバージョンが保持されます。

このコマンドは確認を求め、削除および保持するパッケージの表を表示します。

注意: 次のメジャー リリースで削除されるため、このコマンドは非推奨です。新しい暗号化システムを使用してください。 npx @capgo/cli bundle encrypt [path/to/zip]

このコマンドは、外部のソースで code を保存する場合やテスト用途の場合に使用されます。

オプションで、以下の値を指定できます。

--key [/path/to/my/private_key] プライベート キーのパスを指定します。 --key-data [privateKey] プライベート キー データを指定します。インラインで使用する場合にのみ必要です。コマンドはプライベート キーを使用して ZIP を暗号化し、生成された ZIP をアップロードコマンドまたは復号化コマンドと一緒に使用します。 ivSessionKey暗号化 V2

npx @capgo/cli bundle encrypt [path/to/zip] [checksum]

This command is used when you use external source to store your code or for test purpose. The checksum is the sha256 of the bundle (generated by —key-v2), it is used to verify the integrity of the file after decryption. It will be enncrypted with the private key and sent along with the bundle. In encryption v2 the checksum is upgraded to become a “signature” of the bundle.

オプションで、以下を指定できます:

--key [/path/to/my/private_key] プライベートキーのパスを指定します。 --key-data [privateKey] インラインでプライベートキーデータを指定します。 --json 情報をJSON形式で出力します。 ivSessionKeyコマンドは、yと生成された暗号化ZIPを出力し、アップロードコマンドまたは復号化コマンドと共に使用します。

npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]

オプションで、以下を指定できます:

--key [/path/to/my/private_key] プライベートキーのパスを指定します。

--key-data [privateKey] インラインでプライベートキーデータを指定します。このコマンドは主にテスト用途で使用され、ZIPを復号化し、コンソールにBase64復号化されたセッションキーの出力のみを表示します。

npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]

オプションで、

--key [/path/to/my/private_key] あなたのプライベートキーへのパスを指定します。 --key-data [privateKey] プライベートキー データを指定します。インラインで使用する場合にのみ使用します。このコマンドは主にテスト用途で使用され、zipを復号化し、コンソールにbase64で復号化されたセッション キーを出力します。 --checksum [checksum] ファイルのチェックサムを指定します。復号化後、チェックサムを検証します。

npx @capgo/cli bundle zip [appId]

[appId] あなたのアプリ ID です。形式はここで説明されています。 オプションで、.

特定のフォルダをアップロードする場合に指定します。

  • --path [/path/to/my/bundle] ファイル名のバンドル バージョン番号を指定します。
  • --bundle [1.0.0] ファイル名を上書きします。
  • --name [myapp] __CAPGO_KEEP_0__
  • --json JSON形式で情報を出力します。
  • --no-code-check code チェックを無視し、バンドルを送信します。
  • --key-v2 新しい暗号化システムを使用します。新しい暗号化システムでは、ファイルの整合性を検証するために、より良いチェックサムを使用します。

互換性

互換性

npx @capgo/cli bundle compatibility [appId] -c [channelName]

[appId] アプリIDはここで説明した形式です ここ. [channelName] チェックするチャンネルの名前

オプションで、

  • --apikey [key] API キーを指定して、自分のアカウントにリンクします。
  • --text テキストを表で使用する代わりに絵文字を使用します。
  • --channel [channel] 互換性をチェックするチャンネル名
  • --package-json <packageJson> A path to package.json. Useful for monorepos
  • --node-modules <nodeModules> A list of path to node_modules. Useful for monorepos (comma separated ex: ../../node_modules,./node_modules)

npx @capgo/cli channel add [channelName] [appId]

[channelName] 新しいチャンネルの名前、例えば production または beta. [appId] アプリIDの形式は com.test.app ここで説明しています 削除.

npx @capgo/cli channel delete [channelName] [appId]

[channelName] 削除したいチャンネルの名前を入力してください。 [appId] アプリIDのフォーマットは com.test.app ここで説明されています ここ.

npx @capgo/cli channel list [appId]

[appId] アプリIDのフォーマットは com.test.app ここで説明されています ここ.

任意の場合は、

  • --apikey [key] API キーを入力してアカウントにリンクすることができます。

npx @capgo/cli channel set [channelName] [appId]

[appId] アプリIDです。形式はこちらで説明しています。 ここ. [channelName] 設定するチャンネルの名前、例えば production または beta.

オプションとして、以下を指定できます。

  • --bundle [1.2.3] すでにクラウドに送信したアプリパッケージを指定して、チャンネルにリンクします。
  • --latest バンドルバージョンを取得します。 package.json:version使用できません。 --bundle.
  • --state [ normal | default ] チャンネル状態を設定できます。 normal または default. 一つのチャネルが必要です default.
  • --downgrade このチャネルは、デバイスにダウングレード版を送信することを許可します。
  • --no-downgrade このチャネルは、デバイスにダウングレード版を送信することを許可しません。
  • --upgrade このチャネルは、デバイスにメジャー版アップグレードを送信することを許可します。
  • --no-upgrade このチャネルは、デバイスにメジャー版アップグレードを送信することを許可しません。
  • --ios このチャネルは、iOS デバイスにバージョンを送信することを許可します。
  • --no-ios このチャネルは、iOS デバイスにバージョンを送信することを許可しません。
  • --android このチャネルは、Android デバイスにバージョンを送信することを許可します。
  • --no-android このチャネルは、Android デバイスにバージョンを送信することを許可しません。
  • --self-assign このチャネルにデバイスが自動的に割り当てられることを許可します。
  • --no-self-assign このチャネルにデバイスが自動的に割り当てられることを許可しません。
  • --disable-auto-update STRATEGY このチャネルに自動更新戦略を無効にします。可能なオプションは次のとおりです: メジャー、ミニマム、パッチ、メタデータ、なし
  • --apikey [key] API のキーを使用してアカウントにリンクします。

古いバージョンの場合に更新を無効にする方法は複数あります。
Capgo はネイティブの code を更新できません。したがって、古いネイティブの code を持つバージョンから、更新されたネイティブの code を持つバージョンにアップデートすることはできません。 その方法は複数あります。

1. 最初の major 戦略です。ネイティブの基準からターゲットのバンドルへのアップデートを防ぎます。 -> ターゲットのバンドル 0.0.0 。メジャーはハイライトされた数字 ( 1.0.0.0.0 と12. 最初の 0.0.0).
戦略です。ターゲットのバンドルがデバイスのネイティブ基準とメジャーまたはマイナーバージョンが異なる場合にアップデートを防ぎます。 minor strategy. It prevents an update when the target bundle has a different major or minor than the device native baseline, such as 0.0.0 -> 1.1.0 または 1.1.0 -> 1.2.0.

第三に、戦略。 これは __CAPGO_KEEP_0__ に非常に厳密なモードとして追加されました。 これを使用するには、完全に理解していることを保証するまで、推奨されていません。 更新を受け入れるには、以下の条件が満たされている必要があります: patch strategy. It was added into capgo as a very strict mode. It’s not recommended to be used unless you fully understand how it works. In order for it to accept an update, the following conditions must be met:

  • ターゲット バンドルのマイナーは同じです version_build
  • ターゲット バンドルのパッチは同じです version_build
  • バージョン スUFFIX のみが異なる場合、プリリリース ( version_build
  • ) またはビルド メタデータ (-beta.2 など) などが許可されます+build.2)

更新が許可されるシナリオと拒否されるシナリオの例を以下に示します

  • 1.0.0-beta.1 -> 1.0.0-beta.2許可
  • 1.0.0+build.1 -> 1.0.0+build.2許可
  • 1.0.0 -> 1.0.1拒否
  • 1.0.0 -> 1.1.0 がブロックされています
  • 1.0.0 -> 2.0.0 がブロックされています

ネイティブのベースラインを使用する戦略比較が行われますが、 version_buildダウンロードした現在のバンドルを使用するのではなく、 version_name.

最後に最も複雑な戦略です。 metadata 戦略。
最初に知っておく必要があるのは、有効にすると初期状態でアップデートが失敗することです。チャンネルが必要なメタデータを欠いています。 チャンネルがメタデータを欠けている場合、次のようなメッセージが表示されます。 メタデータが見つかりません
メタデータが見つからない場合に何かが表示されれば、失敗しているチャンネルの現在のバンドルに移動し、メタデータを設定する必要があります。

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__
まず、どのチャネルが失敗しているかを調べます。そうするには、列を確認してください。 misconfigured

設定が不正なテーブル

次に、失敗しているチャネルに移動し、クリックしてください。 これは、バンドルページに移動するはずです。 Bundle number失敗しているチャネル

そこで、フィールドを埋めてください。 これは、

セマンティックバージョン Minimal update version 値がセマンティックバージョンでない場合、エラーが発生しますが、すべてが正常に動作すれば、次のようになります: 最小バージョンを設定.
更新を毎回手動で設定したくない場合、幸いにも__CAPGO_KEEP_0__は、このメタデータを送信しないように防止します。

更新を送信する前に、データを手動で設定しないようにします。

CLI

CLI fail no metadata

Capacitorを使用する場合にバンドルを適切にアップロードするには、 metadata オプションを使用するには、 --min-update-version を指定する必要があります。 有効なsemverのようになります。

CLI upload with metadata

Capacitorは、 --min-update-version の方法ではありません。 --auto-min-update-versionCapacitorのバージョンをアップロードしているチャンネルに現在アップロードされているバージョンを確認します。

の方法で互換性をチェックします。 bundle compatibility 新しいバージョンが100%互換性がある場合、既存のバンドルを再利用します。 min_update_version 最新チャンネルから取得します。 もし、最新チャンネルから取得できない場合は、 min_update_version 新しくアップロードされたバージョンのバンドル番号に設定します。

このオプションを使用すると、 min_update_version 常に、 何が実行されているかを知ることができます。 例えば、

最小更新バージョン

新しいバージョンが互換性がない場合は、

最小更新バージョン互換性なし

Capgoはエンドツーエンド暗号化をサポートしています。これは、 バンドル(code)をクラウドに送信する前に暗号化し、 デバイスで復号化することを意味します。 そのためには、RSAキーペアを生成する必要があります。 RSAキーペアを生成するには、以下のコマンドを使用できます。

暗号化システムはRSAとAESの組み合わせです。 RSAキーペアはAESキーの暗号化に使用され、 AESキーの暗号化はファイルの暗号化に使用されます。

詳細については、以下の情報を参照してください。

How crypto works

暗号化の仕組み

Create key for your app

アプリ用のキーを作成

npx @capgo/cli key create

Optionally, you can give: --force 既存のキーを上書きする場合は指定できます。このコマンドは、アプリ内にキー ペアを作成し、プライベート キーを安全な場所に保存するように求めます。プライベート キーはgitコミットしないでください。また、誰かに共有しないでください。

After your local test, remove the key from the config file and add it on the CI step with key save

CIステップでキーを追加する際に、configファイルからキーを削除してください。

Save key in your app config

npx @capgo/cli key save

アプリ用のキーを保存

--key [/path/to/my/public_key] Optionally, you can give:

--key-data [publicKey] パブリック キー ファイルのパスを指定できます。

作業を自動化するには、推奨のGitHubアクションを使用して、サーバーにプッシュするように設定することをお勧めします

GitHubアクションのチュートリアル

GitHub - Cap-go/demo-app

CI環境変数を設定するときは、APIキーを使用することを忘れないでください

CIを使用している場合 コマンド ダッシュボードとAPIの運用計画を立てるには、 APIの概要 APIの概要の実装詳細については 導入 導入の実装詳細については APIのキー APIのキーに関する実装詳細については デバイス デバイスの実装詳細については、 バンドル バンドルの実装詳細については。