Skip to main content

クリエイティブトランスフォーマーへの移行(3.1)

AdCP 3.1 は トランスフォーマー を導入します — メディアバイプロダクトのクリエイティブ版: エージェントが提供する、アカウントスコープの、選択可能なビルドケイパビリティの単位(ボイス、モデル、スタイル、ディレクター)で、型付き設定サーフェスとアカウントごとの価格を持ち、list_transformers 経由で発見され、build_creativetransformer_id で選択されます。 トランスフォーマーは 独自の入力/出力フォーマットと独自の価格 を運ぶため、3.0 が フォーマット にぶら下げていた 3 つのものが今や冗長になり、非推奨です:
  • Format.input_format_ids / Format.output_format_ids
  • Format.pricing_options
  • list_creative_formatsinput_format_ids / output_format_ids ディスカバリー フィルター
3.1 で何もしなくても何も壊れません。 4 つすべてが deprecated: true ですが、依然として検証を通過し 3.1–3.x ラインを通じて機能します。4.0 より前に対応してください。下記の危険は、ハードな破壊ではなく、ウィンドウにわたる 静かな劣化 についてです。

何が変わったか

移行する

Format I/O シグネチャ → トランスフォーマー

トランスフォーマーは、それが受け入れ生成するフォーマットを直接宣言するため、ビルドケイパビリティは 選択可能な単位 のプロパティであり、フォーマットにぶら下がる関係ではありません。 Before(3.0) — 変換フォーマットが消費/生成するものを宣言:
test=false
After(3.1) — トランスフォーマーを宣言(list_transformers 経由で発見):
test=false

Format 価格 → トランスフォーマー価格

Format.pricing_optionstransformer.pricing_options に移動します(同じ vendor-pricing-option 形状。per_unit が典型的)。適用されたオプションは build_creative レスポンスでリーフごとにエコーされ、report_usage 経由で再照合されます、変更なし。 複数出力のトランスフォーマーでは、価格オプションが applies_to_output_format_ids を運んでそのレートを特定の出力にスコープできます。スコープされていない価格オプションは任意の出力のデフォルトです。ビルドが、どのスコープオプションにも一致しない出力をターゲットにし、トランスフォーマーにスコープされていないデフォルトがない場合、エージェントは価格を推測するのではなく UNPRICEABLE_OUTPUT でビルドを拒否します。

list_creative_formats ディスカバリーフィルター → list_transformers

「X をビルドできるもの」を見つけるために input_format_ids / output_format_idslist_creative_formats をフィルターするのをやめてください。list_transformers を使ってください — その input_format_ids / output_format_ids でフィルターし、brief で絞り込み、expand_params でアカウントスコープのオプション値を展開します。

何もしないと何が静かに壊れるか

これらは throw しません — それがまさにこのガイドが存在する理由です。
  1. ディスカバリー読み取りの劣化(バイヤー)。 バイヤー/ストーリーボードが、Format.input_format_ids / output_format_ids を読むか、それらで list_creative_formats をフィルターすることによって のみ ビルドケイパビリティを学ぶ場合、3.1 セラーに対して動作し続けますが、セラーが非推奨フィールドを発するのをやめてケイパビリティをトランスフォーマーに移すにつれ 次第に空になる結果 を見ます。エラーなし — ただオプションがどんどん減るだけ。フィールドがそのデータより長生きする。 ディスカバリーを list_transformers に移してください。
  2. 出力ごとの価格ギャップ(複数パブリッシャーのテンプレートセラー)。 出力を異なる価格にしていたテンプレートは、applies_to_output_format_ids でその形状を保てますが、すべての出力にスコープされた価格オプションかスコープされていないデフォルトのいずれかが必要です。そうでなければ、価格のない出力のビルドは UNPRICEABLE_OUTPUT で拒否されます。
  3. ファンアウト / best-of-N の支出過少カウント(課金パイプライン)。 max_variants / max_creatives では、生成されたすべてのバリアントが課金されますが、トラフィックされた リーフのみが遅延的に creative_id を得ます。破棄された best-of-N のリーフは、build_creative レスポンスの インラインのリーフごとの vendor_cost 経由で のみ 課金されます — それらは決して creative_id を得ず、したがって決して report_usage に現れません。report_usage のみから支出を再照合するパイプライン(3.0 の不変条件「すべての課金単位は creative_id 経由で再照合される」)は、破棄されたすべてのバリアントの分だけ 過少カウント します。トラフィックされていないリーフの権威あるレコードとして、インラインのリーフごとの領収書を取り込んでください。その領収書が唯一のレコードなので、スキーマがそれを強制します: ビルドがコストをレポートするとき(集計 vendor_cost が存在するとき)、生成されたすべてのリーフは独自の vendor_cost + currency を運ばなければならず(MUST)、支払いビルドが機械可読なコストのないリーフを返せません。境界に注意: スキーマはレポートされたコストの 内部的な完全性と一貫性 を強制します — 真に無料のビルド(または正当に 0 の CPM 遅延リーフ)を、過少レポートするために集計を省略する支払いビルドと区別できません。「集計が欠如」は、ゼロコストの証明ではなく、再照合すべき信頼アサーション(セラー請求書対 report_usage + インライン領収書、pricing_option_id 基準で区別)です — スキーマ有効性を課金の正直さと取り違えないでください。

SDK の動作とタイムライン

関連項目