mcpField
A
asc-metadata-sync

asc-metadata-sync

github.com/rorkaiマーケティング・グロース1.1k7.9k 回インストール2 日前に更新
リポジトリ

asc-metadata-sync について

asc-metadata-syncは、ascを使ってApp StoreのメタデータをApp Store Connectと同期するスキルです。標準のJSONワークフローに加え、ローカライズファイルや旧形式のFastlaneを使う手順も説明します。

主な機能

  1. 01標準メタデータの取得と送信
  2. 02リモート変更の検証とプレビュー
  3. 03メタデータ更新の計画と承認
  4. 04キーワードとローカライズ素材の同期
  5. 05Fastlaneメタデータのインポートとエクスポート

活用シーン

  1. 01ローカライズ済みアプリ情報やバージョン情報を更新
  2. 02適用前にメタデータ変更をレビュー
  3. 03既存のFastlaneメタデータを移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-metadata-sync

インストール後、Claude Code で/asc-metadata-syncを入力して読み込まれたか確認します。

同梱ファイルreferences/asset-library.md

詳細

asc メタデータ同期

このスキルを使って、App Store のメタデータを App Store Connect と同期します。アプリ情報とバージョンのローカライズフィールドには、標準の asc metadata ワークフローを優先してください。ユーザーが .strings ファイルまたは従来の fastlane 形式のメタデータを明示的に必要としている場合に限り、低レベルの asc localizations コマンドと asc migrate コマンドを使用してください。

現在の標準ワークフロー

1. 標準メタデータを取得する
asc metadata pull --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"

アプリに複数のアプリ情報レコードがある場合は、先にアプリ情報 ID を特定して、明示的に指定してください。

asc apps info list --app "APP_ID" --output table
asc metadata pull --app "APP_ID" --app-info "APP_INFO_ID" --version "1.2.3" --platform IOS --dir "./metadata"
2. ローカルファイルを編集する

標準ファイルは、次の場所に書き込まれます。

  • アプリレベルのフィールド用 metadata/app-info/<locale>.json:name、subtitle、privacyPolicyUrl、privacyChoicesUrl、privacyPolicyText
  • バージョンフィールド用 metadata/version/<version>/<locale>.json:description、keywords、marketingUrl、promotionalText、supportUrl、whatsNew

著作権はローカライズフィールドではありません。次のコマンドで管理してください。

asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"
3. アップロード前に検証する
asc metadata validate --dir "./metadata" --output table

サブスクリプションアプリでは、利用規約/EULA の追加ヒューリスティックも含めてください。

asc metadata validate --dir "./metadata" --subscription-app --output table
4. プレビューして適用する

まずドライランを実行します。

asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run --output table

計画に問題がないことを確認してから適用します。

asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"

同じ標準ファイルに対して、apply という名前のコマンド形式をユーザーが希望する場合は、asc metadata apply を使用してください。

asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run
asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"

変更前に明示的な承認を行うレビュー成果物のワークフローには、asc 2.6.1 で導入されたメタデータレビューコマンドを使用してください。

asc metadata plan --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --review-dir ".asc/metadata/review"
asc metadata approve --review-dir ".asc/metadata/review" --all
asc metadata status --review-dir ".asc/metadata/review" --output table
asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --review-dir ".asc/metadata/review" --confirm

適用を保護する前に、選択的な承認成果物をユーザーが希望する場合は、asc metadata approve --key "version:1.2.3:en-US:whatsNew" または --scope app-info,version を使用してください。バージョン範囲のキーには App Store のバージョン文字列が含まれます。

App Clip とプレビューの転送

メタデータの取得/送信では、デフォルトでローカライズテキストが対象になります。アセットの範囲は明示的に指定してください。

asc metadata pull --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews --dry-run
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews --confirm

プレビューの検証には ffprobe が必要です。App Clip ヘッダーの置き換えでは、先に古いヘッダーが削除されるため、--allow-deletes も必要です。この置き換えを明示的に許可してください。 エクスポートには元の動画ではなく、HLS の .m3u8 プレイリストや .preview.json の参照が含まれる場合があります。一致するリモートプレビューは再利用できます。一致しない参照には、元の動画を用意するか、--include から previews を除外する必要があります。プレイリストの拡張子を .mp4 に変更しても、アップロード可能にはなりません。video-previews download を直接実行してもプレイリストが返されるため、個別にダウンロードする場合は出力パスに .m3u8 を指定してください。

再利用可能なライブラリメディア、ヘッダー/検索用クリエイティブアセット、またはローカライズされた配置については、アセットライブラリのワークフローを参照してください。これらは App Clip のヘッダー画像や通常のメタデータテキストとは別のものです。

キーワードのみのワークフロー

バージョンのローカライズにおける keywords フィールドのみを変更する場合に使用してください。

asc metadata keywords diff --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
asc metadata keywords apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --confirm

キーワード調査をインポートする場合:

asc metadata keywords import --dir "./metadata" --version "1.2.3" --locale "en-US" --input "./keywords.csv"
asc metadata keywords sync --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --input "./keywords.csv"

フィールドの簡易更新

バージョンのローカライズを単発で編集する場合は、バージョンセレクターを明示的に指定してください。バージョン ID がすでに分かっている場合は、決定的な更新を行える --version-id を使用します。バージョン文字列を使用する場合は、--version と --platform を指定してください。

asc apps info edit --app "APP_ID" --version-id "VERSION_ID" --locale "en-US" --whats-new "Bug fixes and improvements"
asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --description "Your app description here"
asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --keywords "keyword1,keyword2,keyword3"
asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --support-url "https://support.example.com"

アプリ情報のフィールドには、作成後のセットアップコマンドを優先してください。

asc app-setup info set --app "APP_ID" --primary-locale "en-US" --privacy-policy-url "https://example.com/privacy"
asc app-setup info set --app "APP_ID" --locale "en-US" --name "Your App Name" --subtitle "Your subtitle"

低レベルのローカライズファイル

標準の JSON ではなく、インポート/エクスポートファイルをユーザーが明示的に希望する場合は、.strings ファイルを使用してください。

asc localizations list --version "VERSION_ID" --output table
asc localizations download --version "VERSION_ID" --path "./localizations"
asc localizations upload --version "VERSION_ID" --path "./localizations" --dry-run
asc localizations upload --version "VERSION_ID" --path "./localizations"

アプリ情報のローカライズの場合:

asc apps info list --app "APP_ID" --output table
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --output table
asc localizations download --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations"
asc localizations upload --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations" --dry-run
asc localizations upload --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations"

レガシー fastlane メタデータ

既存の fastlane 形式のツリーにのみ使用してください。

asc migrate export --app "APP_ID" --version-id "VERSION_ID" --output-dir "./fastlane"
asc migrate validate --fastlane-dir "./fastlane"
asc migrate import --app "APP_ID" --version-id "VERSION_ID" --fastlane-dir "./fastlane" --dry-run
asc migrate import --app "APP_ID" --version-id "VERSION_ID" --fastlane-dir "./fastlane" --confirm

Deliverfile の metadata_path と screenshots_path の値が優先され、Deliverfile を基準に相対パスとして解決されます。--fastlane-dir "./fastlane" を指定する場合は、"./fastlane/metadata" ではなく metadata_path "./metadata" を使用してください。後者は ./fastlane/fastlane/metadata として解決されます。Deliverfile 内の古い値を修正するか、削除して、慣例的な metadata/ および screenshots/ ディレクトリを使用してください。

選択した Fastlane ディレクトリ外のパスは、オペレーターが --allow-external-metadata または --allow-external-screenshots で明示的に信頼しない限り失敗します。信頼できないインポートでは、これらのフラグをオフにしてください。

インポートの --dry-run は、デフォルトでローカル入力を一覧表示します。書き込みを行わずにリモートストアのアセットを比較するには、--check-remote を追加してください。これには認証が必要で、配信済みメディアがダウンロードされる場合があります。エクスポートされたプレイリストの参照と一致するものがなく、元の動画も利用できない場合は、--skip-previews を使用してください。

プロセスの終了状態だけでなく、検証結果の本文も確認してください。asc migrate validate は、valid: false かつ errorCount が 0 以外のレポートを返しながら、終了コード 0 で終了することがあります。確定済みのインポートは、完了したステージと失敗の詳細を含む status: "partial" を出力しながら、0 以外の終了コードで終了することがあるため、標準出力が空でないことは成功を意味しません。

文字数制限

フィールド制限
名前30
サブタイトル30
キーワードカンマ区切りで100文字
説明4000
新機能4000
プロモーションテキスト170

エージェントの動作

  • ユーザーが .strings または fastlane メタデータを明示的に求めている場合を除き、asc metadata pull から開始してください。
  • リモートへの書き込み前に、必ず asc metadata validate を実行してください。
  • コマンドが対応している場合は、--dry-run でリモートの変更をプレビューしてください。
  • ユーザーが適用前に永続的なレビュー用成果物を求めている場合は、asc metadata plan と approve/status を使用してください。
  • 簡単な編集では、曖昧な最新バージョンの動作に依存せず、必ず --version-id または --version と --platform を指定してください。
  • アプリ情報のフィールドとバージョンのフィールドは分けてください。
  • 人が確認する場合は --output table を使用し、自動化には JSON を使用してください。

コメント