Skip to main content
クリエイティブプレビューを統合するための高度なワークフロー、キャッシュ戦略、実装上の注意点を紹介します。 基本的な使い方は preview_creative を参照してください。

Common Workflows

フォーマットショーケースページ

利用可能なフォーマットを閲覧できるカタログを構築します。

キャンペーンレビュ―用グリッド

配信前にすべてのクリエイティブを確認します。

Web コンポーネントとの統合

遅延読み込みを行う本番アプリケーション向けの例です。
メリット:
  • CSS 分離のための Shadow DOM
  • ビューポートに入ったときだけ読み込む遅延読み込み
  • フレームワークに依存しません

出力形式の選択

以下のケースでは output_format: "url"(デフォルト)を使用します。
  • セキュリティが最優先(サードパーティ製クリエイティブなど)
  • インタラクティブなプレビューツールを構築する場合
  • iframe での分離が必要な場合
以下のケースでは output_format: "html" を使用します。
  • 10 件以上のフォーマットカタログを構築する場合
  • 20 件以上のクリエイティブを並べるキャンペーンレビューグリッドを作る場合
  • サーバーサイドレンダリングを行う場合
  • 信頼できるクリエイティブエージェントのみを扱う場合

キャッシュ戦略

format_id とマニフェストのハッシュの組み合わせで個別のプレビュー結果をキャッシュします。
ポイント:
  • バッチではなく format_id + マニフェストハッシュごとにキャッシュします
  • [A,B,C] をリクエストしたらそれぞれ個別にキャッシュします
  • 後で [B,C,D] をリクエストしたら D だけ取得します
  • キャッシュしたプレビューを使う前に必ず expires_at を確認します

プレビュー URL のストレージ

プレビュー URL は、単なるトランスポートの利便性ではなく、レビューのリソースです。バイヤー、ブラウザ、または MCPUI ホストは、元の preview_creative 呼び出しが返った後、ポッドの再起動後、またはレンダーを作成したのとは異なるポッドから、preview_url をフェッチする場合があります。 本番エージェントでは、表明されたライフタイムを通じてすべての preview_url を解決するのに十分なプレビュー状態を永続化してください:
  • expires_at が存在する場合、そのタイムスタンプまでレンダーを利用可能に保ちます。
  • expires_at が省略された場合、URL をプロトコル層では期限切れにならないものとして扱い、明示的な帯域外の失効またはパージまで利用可能に保ちます。
  • マルチプロセスまたはマルチポッドのデプロイでは共有ストレージを使います: データベースのメタデータ + オブジェクトストレージ、共有キャッシュ層、または耐久性のあるセッション状態からレンダーを回復できる認証済みプレビュールート。
  • プロセスローカルの Map または LRU ストレージは、単一プロセスのデモ、ローカル開発、または表明されたライフタイムが実際に保証できるプロセスライフタイムより短い URL に限定してください。

エラーハンドリング

単一リクエストからバッチへの移行

以前(逐次):
移行後(バッチ):

ユースケースパターン

デバイス別バリエーション

地域別バリエーション

プライバシー対応テスト

AI 生成コンテンツのバリエーション

実装メモ

クリエイティブエージェント向け

必須:
  1. preview_url から完全な HTML ページを返す
  2. すべてのメディアタイプ(画像・動画・音声・インタラクティブ)を処理します
  3. 入力パラメーターをレスポンスにエコーします
  4. レンダリング前にマニフェストを検証します
  5. マクロ値を適用する(またはデフォルトを使用)
  6. プレビュー URL を、ロードバランシングと再起動を URL の表明されたライフタイムにわたって生き延びるストレージで裏付けます
  7. セキュリティサンドボックスを実装します
  8. 無期限に保持すべきでないプレビューに適切な有効期限を設定する(24–48 時間)
オプションの拡張:
  • hints オブジェクトを提供する(メディアタイプ、寸法、時間など)
  • embedding メタデータを提供する(サンドボックス方針、CSP)
  • レスポンシブデザインをサポートします
  • アクセシビリティ要素を含めます

バイヤー向け

  1. preview_url を iframe で表示するだけで特別なレンダリングは不要
  2. 特定シナリオでは inputs 配列を利用します
  3. input フィールドを確認しマクロ適用を検証します
  4. 承認のためプレビュー URL をクライアントと共有します
  5. 高度なテストには interactive_url を活用します

パブリッシャー向け

  1. プレビュー URL から一貫した HTML を返す
  2. レスポンシブなプレビューページを実装します
  3. フォーマット内の supported_macros で対応マクロを明記します
  4. プレビューと本番の違いを明確にします
  5. テスト用に interactive_url の提供を検討します

関連ドキュメント