ドキュメント

LLM コーディングエージェントのパブリッシャー公開 API 移行リファレンス

Monetize Manage API (legacy)から Ads 統合プラットフォームのパブリック API にクライアントのインテグレーションを移行する LLM コーディング エージェントのリファレンス。
読み終わるまでの所要時間 41 分最終更新 1ヶ月前

オーディエンス:このファイルは、LLM コーディングエージェント (クロードコードまたは Unityの古い機能である「Monetize」からクライアントのインテグレーションを移行するタスク Manage API」(
/monetize/v1/...
)を新しい Unity Ads パブリッシャー Public API に追加 (
/ads/publisher/public/v1/...
).自己完結型エンティティブロックに分割されます。各ブロック _何が変更_され、_何をする_かを示します。概念モデル変更を読む グローバル変更セクションは、まずすべてのブロックに適用されます。

このファイルの使用方法(エージェントの手順)

  1. この散文ではなく、2 つの契約を真実のソースとして扱います。古い機能 =
    ads-selfserve/src/servers/http-internal/openapi/public-v1.yaml
    .新規 =
    ads-unified-platform/openapi/publisher/platform-public-v1-routes.yaml
    .
  2. 指定した順序でエンティティブロックを 1 つずつ移行します (「アプリケーション」→「プレースメント」→「 組織レベルリスト)。ブロックは、依存するブロックがコンパイルまたはパスするまで開始しません。
  3. レガシー機能が 🚫 No equivalent (同等の機能 なし) の下にリストされている場合、 エンドポイント。停止し、オープンな質問としてユーザーに提示します。最も重要な例 は eCPM ターゲットで、新しい API にはありません。
  4. 各ブロックの後に、フィールドテーブルごとにフィールド名を再マップする。フィールドは持ち越されないと仮定する テーブルに "unchanged" と表示されていない限り変更されません。

概念モデルの変更 (最初にお読みください)

データモデルはフラット化され、プロジェクトからアプリケーションへと中心が変更されました。

古い機能モデル (ネストされたプロジェクト中心)

組織└──── プロジェクト(両ストアにまたがる、coppa + adsProvider あり) └── ストア (Apple | Google) (URL パス内) └── 広告単位 (adFormat、スキップ/ミュート/バナー設定はこちら) └── Placement └── eCPM ターゲット (地域ベースの下限価格)

新しいモデル(フラットなアプリケーション中心)

組織└── アプリケーション (プラットフォーム + ストアが 1 つずつ、プライバシー + テストモードあり) └── 配置 (adFormat + adFormatConfigurations をここに配置。ターゲットなし)組織└── テストデバイス (新規、組織スコープ付き)

すべてのトランスフォーメーションを推進する4つのシフト

#

Shift

移行の結果

1プロジェクト → アプリケーション
apple
と
google
ストアの 両方 を持っていた古い機能 プロジェクト は、2 つのアプリケーション (プラットフォームごとに 1 つ) になります。"プロジェクト" は任意のグループ化 (アプリケーション作成時の
projectId
/
projectName
) として残りますが、操作対象のリソースではなくなります。"
2Ad-Units removed
広告単位のリソースがありません。広告単位レベルの設定(スキップタイマー、ミュート、バナー更新)が
adFormatConfigurations
として「配置」に移行しました。
adFormat
は「配置」プロパティになりました。
3eCPM ターゲットを削除
🚫 新しいパブリック API には同等のものはありません。
4バッチ → 個別操作
古い機能によるプレースメントと広告ユニットの一括作成/更新(マップ/配列)。新しい API はリクエストごとに 1 リソースです (
POST
/
PUT
/
DELETE
単一配置)。

グローバル変更(すべてのエンドポイントに適用)

パスの パス内の
パッチボディの

アスペクト

古い機能

新規

Host
https://services.api.unity.com
https://services.api.unity.com/ads/publisher
(本番) ·
https://staging.services.api.unity.com/ads/publisher
(ステージング)
パスプレフィックス
/monetize/v1
/public/v1
完全な例
…/monetize/v1/organizations/{orgId}/projects
…/ads/publisher/public/v1/organizations/{organizationId}/applications
AuthHTTP Basic(サービスアカウントキー)
HTTP の Basic は引き続き機能します。Bearer JWT (
unity
/
ads
発行者) も受け付けます。変更不要 — 既存の Basic 認証情報を維持します。
Org id
organizationId
(数値文字列)
organizationId
(Genesis ID、数値): 変更なし
パス内のプライマリ ID
projectId
(uuid ** または ** 数値)
applicationId
(Unity App ID、文字列)
dryrun
クエリパラメーター
書き込みでサポート🚫 を削除しました
showarchived
クエリパラメーター
読み取りでサポート配置リストでのみ
isArchived
(ブーリアン) に置き換えられます
アーカイブ
archive: true/false
フィールド
専用
DELETE
(アーカイブ) +
PATCH …/restore
(アーカイブ解除)

レート制限の変更(クライアント側のバックオフ前提条件の更新)

古い機能

New

IP 単位の上限5/秒、4000/30分40/s
読み取り (
GET
)
(グローバルでカバー)20/s + 8000/hour
作成 (
POST
)
5/秒、1000/30分1/秒 + 60/時間
アップデート (
PATCH
/
PUT
/
DELETE
)
5/秒、1000/30分1/s + 200/hour

マスター エンドポイント マップ

古い機能操作

古い機能ルート

新規操作

新規ルート

ブロック

getProjects
GET /monetize/v1/organizations/{orgId}/projects
publicOrganizationApplications
GET /public/v1/organizations/{orgId}/applications
A
postProjects
POST /monetize/v1/organizations/{orgId}/projects
publicCreateApplication
POST /public/v1/organizations/{orgId}/applications
A
getProjectDetails
GET /monetize/v1/projects/{projectId}
publicGetApplicationById
GET /public/v1/organizations/{orgId}/applications/{applicationId}
A
updateProjectDetails
PATCH /monetize/v1/projects/{projectId}
publicUpdateApplication
PATCH /public/v1/organizations/{orgId}/applications/{applicationId}
A
getAdUnitsByProject
/
getAdUnitsByProjectStore
/
createAdUnits
/
updateAdUnits
/
getAdUnits
/
patchAdUnits
…/projects/{projectId}/[stores/{storeName}/]adunits[/{adUnitId}]
—🚫広告単位リソースなしB
createPlacements
(バッチ)
POST …/adunits/{adUnitId}/placements
publicCreatePlacement
(シングル)
POST /public/v1/organizations/{orgId}/applications/{applicationId}/placements
C
GetPlacements
(広告単位)
GET …/adunits/{adUnitId}/placements
publicApplicationPlacements
GET …/applications/{applicationId}/placements
C
getPlacement
GET …/placements/{placementId}
publicGetPlacementDetails
GET …/applications/{applicationId}/placements/{placementId}
C
updatePlacements
(バッチ) /
updatePlacement
PATCH …/placements[/{placementId}]
publicUpdatePlacement
(シングル、PUT)
PUT …/applications/{applicationId}/placements/{placementId}
C
( によるアーカイブ
archive:true
)
PATCH …/placements/{placementId}
publicArchivePlacement
DELETE …/applications/{applicationId}/placements/{placementId}
C
( によるアーカイブ解除
archive:false
)
PATCH …/placements/{placementId}
publicUnArchivePlacement
PATCH …/applications/{applicationId}/placements/{placementId}/restore
C
GetPlacements
(org)
GET /monetize/v1/organizations/{orgId}/placements
publicOrganizationPlacements
GET /public/v1/organizations/{orgId}/placements
D
getTargets
/
createTargets
/
getTargetDetail
/
patchTarget
/
deleteTarget
…/placements/{placementId}/targets[/{targetId}]
—🚫 eCPMターゲットを削除E
——
publicGetApplicationTestMode
/
publicUpdateApplicationTestMode
GET
/
PATCH …/applications/{applicationId}/test-mode
F (新規)
——test-device CRUD
…/organizations/{orgId}/test-devices[/{testDeviceId}]
G (新規)

ブロック A - プロジェクト → アプリケーション

変更内容

  • リスト/作成/読み取り/更新したリソースは、プロジェクトではなくアプリケーションになります。
  • 読み取り/更新が org (
    /organizations/{orgId}/applications/{applicationId}
    ) の下にネストされるようになりました。 スタンドアロン
    /projects/{projectId}
    ではなく、
    applicationId
    (Unity App ID) によってキー付けされます。
  • 古い機能プロジェクトでは両方のストアが使用され、新しいアプリケーションはシングルプラットフォームです。分割 (Transform rules を参照)。
  • adsProvider
    はなくなりました。
    coppa
    は enum 文字列からブーリアンに変更され、 新しい
    mixedAudience
    ブーリアンを持つ
    privacy
    オブジェクト。

エンドポイントマッピング

古い機能

新規

GET …/organizations/{orgId}/projects
GET …/organizations/{orgId}/applications
POST …/organizations/{orgId}/projects
POST …/organizations/{orgId}/applications
GET …/projects/{projectId}
GET …/organizations/{orgId}/applications/{applicationId}
PATCH …/projects/{projectId}
PATCH …/organizations/{orgId}/applications/{applicationId}

フィールドマッピング — 作成 (createProject → CreateApplicationPublicDto)

古い機能フィールド

新しいフィールド

ノート

name
(必須)
name
(必須)
unchanged
adsProvider
(必須、enum)
—🚫 Dropped 送信しません。同等のものはありません。
coppa
(必須、
"compliant"
/
"non_compliant"
)
privacy.coppa
(ブーリアン)
Transform:
"compliant"
→
true
、
"non_compliant"
→
false
。
—
privacy.mixedAudience
(ブーリアン)
新規。
privacy
内で必須。クライアントが特に認識していない限り、デフォルト
false
。
stores.apple
/
stores.google
(
{storeId, storeUrl}
)
store
(enum) +
storeId
+
platform
プラットフォームごとのアプリケーションに分割。Transform ルールを参照してください。
—
platform
(必須、enum:
iOS
、
Android
、…)
新規、必須。 アプリケーションターゲットのストアから取得します。
—
iconUrl
(URI)
新規、任意
—
projectId
(UUID)
任意 — 既存のプロジェクトに関連付ける
—
projectName
(string)
任意 — 新しいプロジェクトを作成 + 関連付ける。デフォルトはアプリケーション名

フィールドマッピング — 更新(updateProject → UpdateApplicationPublicDto)

.

古い機能フィールド

新しいフィールド

ノート

adsProvider
— 🚫 dropped
coppa
(enum)
privacy.coppa
(ブーリアン)
create と同じ Transform。更新時に両方の
privacy.*
フィールドが任意
stores
store
+
storeId
アプリケーションごとに 1 プラットフォーム
—
name
now updatable
—
kidsSettings
(ブーリアン)
new;
true
がダウンストリームの coppa=true 更新をトリガー

フィールドマッピング — 反応(project/projectDetail → ApplicationPublicResponseDto)

古い機能フィールド

新しいフィールド

ノート

id
(プロジェクト ID)
id
(アプリケーション ID) +
projectId
反応に アプリケーション
id
と、グループ化プロジェクト用の別の
projectId
が含まれるようになりました。
name
name
unchanged
coppa
(enum)
coppa
(ブーリアン) +
mixedAudience
(ブーリアン)
enum→boolean
adsProvider
—🚫 行ってしまった
stores
(Apple/Google マップ)
store
+
storeId
+
platform
single store
archivedAt
—アプリケーション反応にない
maxCaps
—🚫 行ってしまった
—
iconUrl
,
testMode
,
kidsSettings
new

Transform 規則: 1 つの古い機能プロジェクト → N つのアプリケーション

stores.apple
と
stores.google
を含む古いプロジェクトの場合、2 つの
POST /applications
を放出します。 コール:1 つは
platform: iOS
、
store: AppleAppStore
、
storeId: <apple.storeId>
、もう 1 つは
platform: Android
,
store: GooglePlay
,
storeId: <google.storeId>
.グループを維持するには、 1 つのプロジェクト、
projectName: <project.name>
での最初のアプリケーションの作成、返されたデータのキャプチャ
projectId
し、その
projectId
で 2 番目のアプリケーションを作成します。

例

古い機能 — プロジェクトの作成 (両方のストア):
POST /monetize/v1/organizations/3573617062594/projects{ "name": マイゲーム "adsProvider": "unity", "coppa": "non_compliant", "stores": { "apple": { "storeId":"1479198816", "storeUrl": "https://apps.apple.com/..." }, "google": { "storeId": "com.unity.trashdash", "storeUrl": "https://play.google.com/..." } }}
新規 — 2 つのアプリケーションが作成され、1 つのプロジェクトの下にグループ化されます。
POST /ads/publisher/public/v1/organizations/3573617062594/applications{ "name": マイゲーム "platform": "iOS", "store":"AppleAppStore", "storeId":"1479198816", "privacy": { "coppa": false, "mixedAudience": false }, "projectName":マイゲーム}// → response.projectId = "5a8591dd-..."; reuse it for the second app:POST /ads/publisher/public/v1/organizations/3573617062594/applications{ "name": マイゲーム "platform":"Android", "store":"GooglePlay", "storeId": "com.unity.trashdash", "privacy": { "coppa": false, "mixedAudience": false }, "projectId":"5a8591dd-..."}

Block B — Ad-Units (広告ユニット) → 削除 (アプリケーション + 配置に展開)

🚫 同等のリソースなし

広告単位のエンドポイントはありません。を呼び出すすべてのクライアントコードを削除します。
…/projects/{projectId}/[stores/{storeName}/]adunits…
(
getAdUnitsByProject
,
getAdUnitsByProjectStore
,
createAdUnits
,
updateAdUnits
,
getAdUnits
,
patchAdUnits
).

広告単位データの送信先

古い機能の広告単位フィールド

新しいホーム

adFormat
(
rewarded
/
interstitial
/
banner
)
配置
adFormat
(配置ごと)。
allowSkipInSeconds
,
muteVideo
配置
adFormatConfigurations.adminSettings.{allowSkipInSeconds, muteVideo}
bannerRefreshRate
配置
adFormatConfigurations.bannerRefreshRate
(バナーのみ)
adTypes
(
display
/
playable
/
video
)
🚫 直接同等なものはありません。クライアントが人間に依存している場合は、人間に提示します。
ネスト
placements
マップ
アプリケーション (Block C) の下にプレースメントを個別に作成します。
移行アプローチ: 各古い機能の広告単位をプレースメントの_グループとして扱い、 adFormat_。古い機能の広告単位を使用していたすべての配置について、 アプリケーション (その広告単位のストアと一致するもの)、広告単位の
adFormat
を 配置、広告単位の管理設定の配置の
adFormatConfigurations
への折りたたみなどです。

ブロック C — プレースメント(アプリケーションごと)

変更内容

  • パスが
    …/applications/{applicationId}/placements[/{placementId}]
    になりました。ストア/広告単位はありません。 セグメント。
  • 個々の操作がバッチマップ/配列に置き換わります。
  • 各配置で**
    adFormat
    が必要**です(広告単位のプロパティでした)。
  • 新しい**
    adFormatConfigurations
    **オブジェクトはプレイヤー/管理者設定を保持します。形状は
    adFormat
    (リワード型/インタースティシャル/バナー)。
  • 配置ボディから eCPM
    targets
    が削除
    されます(ブロック E を参照)。
  • 識別子:古い機能
    placementId
    はナメクジ(
    ^[\da-zA-Z_-]+$
    )で、新しい配置
    id
    は UUID。人間が判読できるスラッグは、**
    key
    **として個別に返されます(
    name
    から生成)。
  • アーカイブ/復元は専用のオペレーションであり、ボディ フラグではありません。
  • 配置ごとの更新は
    PUT
    (完全置換)であり、
    PATCH
    ではありません。

エンドポイントマッピング

Intent

古い機能

新規

作成
POST …/adunits/{adUnitId}/placements
(バッチ配列)
POST …/applications/{applicationId}/placements
(one)
リスト
GET …/adunits/{adUnitId}/placements
GET …/applications/{applicationId}/placements
(フィルター:
isArchived
、
adFormat[]
)
取得
GET …/placements/{placementId}
GET …/applications/{applicationId}/placements/{placementId}
更新
PATCH …/placements/{placementId}
(またはバッチ)
PUT …/applications/{applicationId}/placements/{placementId}
アーカイブ
PATCH …
と
{"archive": true}
DELETE …/placements/{placementId}
(204)
解凍
PATCH …
と
{"archive": false}
PATCH …/placements/{placementId}/restore

フィールドマッピング — リクエスト(addPlacements[]/patchPlacementObject → PlacementPublicRequestDto)

.

古い機能フィールド

新しいフィールド

ノート

name
(必須)
name
(必須)
unchanged
id
(slug、作成時)
—🚫 ID を選択しなくなりました。サーバーは UUID
id
と
key
スラッグを返します。
—
adFormat
(必須、enum
rewarded
/
interstitial
/
banner
)
新規および必須。古い機能の親広告単位の
adFormat
からのソース。
addTargets
/
targets
(eCPM)
—🚫 削除しました。送信しません。ブロック E を参照してください。
placementType
— not accepted on write
archive
(ブーリアン)
—代わりに
DELETE
/
restore
を使用してください
—
adFormatConfigurations
新機能 プレイヤー/管理者設定。下の形状を参照してください。

adFormatConfigurations形状 (adFormat)

  • rewarded (
    RewardedConfigurations
    ):
    name
    (報酬名、必須)、
    value
    (報酬値、 必須)、
    adminSettings
    (
    AdminConfigurations
    )。
  • インタースティシャル (
    InterstitialConfigurations
    ):
    adminSettings
    。
  • バナー(
    BannerConfigurations
    ):
    adminSettings
    、
    bannerRefreshRate
    (必須)。
  • AdminConfigurations
    :
    allowSkip
    ,
    allowSkipInSeconds
    ,
    videoPlayableSkipInSeconds
    ,
    closeTimerDuration
    ,
    tapsToClose
    ,
    muteVideo
    ,
    disableVideoControlsFade
    ,
    useCloseIconInsteadOfSkipIcon
    .

フィールドマッピング — 反応 (placement → PlacementPublicResponseDto)

古い機能フィールド

新しいフィールド

ノート

id
(ナメクジ)
key
(ナメクジ)
古い機能のナメクジスタイル ID は、新しい
key
にマップされます。
—
id
(UUID)
新規 標準 ID。URL パスに記述します。
name
name
unchanged
archivedAt
archivedAt
(date-time、nullable)
ISO-8601 に準拠。アクティブ時に
null
placementType
—アプリケーションごとの反応ではない(組織リスト、ブロック D)
targets
—🚫 を削除しました
—
adFormat
,
status
(
active
/
paused
),
adFormatConfigurations
,
applicationId
,
createdAt
,
updatedAt
new
⚠️ **IDを再マップすることは最もリスクの高いステップです。**クライアントが古い機能の配置を維持していた場所 slug を識別子として使用する場合、パス操作の新しい UUID
id
を格納する必要があります。 は
key
として存続します。
legacy placement slug → new {id, key}
検索のビルドと永続化は、 移行。

例

古い機能 — 広告単位でのバッチ作成:
POST /monetize/v1/projects/{projectId}/stores/apple/adunits/{adUnitId}/placements[ { "name":"Rewarded Placement", "id": "rewarded_01", "addTargets": [ { "value":18.5, "type": "global" } ] } ]
新規 — 配置ごとに1つの作成(ターゲットの削除、adFormat + 設定の追加):
POST /ads/publisher/public/v1/organizations/{orgId}/applications/{applicationId}/placements{ "name": "リワード配置", "adFormat": "rewarded", "adFormatConfigurations": { "name": "coins", "value":100, "adminSettings": { "allowSkip": true, "allowSkipInSeconds":5, "muteVideo": false } }}

ブロック D — 組織プレースリスト

変更内容

同じ意図(組織内のすべてのプレースメントのリスト)ですが、反応形状が異なります。eCPM
targets
は gone;
adFormat
、
platform
、および
storeId
が追加されます。古い機能
id
は
placementId
になります。 (人間が判読できるキー)。アクティブな iOS/Android プレースメントのみが返されます。

エンドポイントマッピング

古い機能

新規

GET /monetize/v1/organizations/{orgId}/placements
GET /public/v1/organizations/{orgId}/placements

フィールドマッピング (placementWithGameId → OrganizationPlacementPublicResponseDto)

規
規

古い機能フィールド

新しいフィールド

ノート

id
placementId
人間が判読できるキー(
Banner_Android
など)になりました。
name
name
unchanged
placementType
placementType
unchanged (文字列、例:
bidding
)
gameId
gameId
(integer、nullable)
unchanged
targets
(配列)
—🚫 を削除しました
—
adFormat
(
rewarded
/
interstitial
/
banner
/
native
)
新
—
platform
(
ios
/
android
/
""
)
新規; iOS と Android のどちらでもない場合の
""
—
storeId
(nullable)
新

ブロックE - eCPMターゲットを削除

🚫 新しいパブリック API には同等のものはありません

すべての古い機能ターゲット エンドポイントはなくなり、この API に代わるものはありません。
getTargets
、
createTargets
、
getTargetDetail
、
patchTarget
、
deleteTarget
、 および placements/ad-units の
targets
/
addTargets
フィールド。
エージェント指示:
  1. これらを新しいエンドポイントにマップしないでください。
    …/targets
    パスを作成しません。
  2. すべての配置作成/更新ペイロードから
    targets
    /
    addTargets
    を削除します。
  3. クライアントのインテグレーションがこのAPIを介してeCPMの下限価格を管理する場合は、これを停止してレポートする 人間がブロックするギャップ — eCPMターゲット管理は新しいパブリッシャーではカバーされない パブリックAPI。帯域外で処理する必要がある(例えば、異なるUnityサーフェスや製品を使用) decision)。明示的にフラグを立てます。価格ロジックを提示せずに黙ってドロップしないでください。

ブロック F — アプリケーションテストモード (NEW)

古い機能と同等なものはありません。新しいエンドポイント:
  • GET …/applications/{applicationId}/test-mode
    →
    { id, testMode }
  • PATCH …/applications/{applicationId}/test-mode
    と
    { "testMode": "forceAll" | "forceOff" }
アプリケーション反応にも
testMode
があります(ブロック A)。Migration is additive only(移行は付加的のみ): 古い機能 API にはポートするものはありません。クライアントがテストモードコントロールが必要な場合は、これらを公開します。

ブロック G — テストデバイス (NEW)

古い機能と同等なものはありません。Org-scoped CRUD (組織スコープ付き CRUD):
  • POST …/organizations/{orgId}/test-devices
    —
    CreateTestDevicePublicDto
    { name*, advertisingId*, platform? }
  • GET …/organizations/{orgId}/test-devices
    — リスト(任意の
    platform
    フィルター)
  • GET …/organizations/{orgId}/test-devices/{testDeviceId}
    — 購入
  • PATCH …/organizations/{orgId}/test-devices/{testDeviceId}
    —
    UpdateTestDevicePublicDto
  • DELETE …/organizations/{orgId}/test-devices/{testDeviceId}
    — 204
testDeviceId
は UUID です。
platform
は完全なプラットフォーム enum を使用します。 (
Android
,
iOS
,
OSX
,
Windows
,
Linux
,
WebGL
,
Windows_Store
,
PS4
,
PS5
,
XboxOne
,
tvOS
,
Switch
,
VisionOS
).マイグレーションは加算的です。

推奨される移行アルゴリズム (エージェントの決定的な順序)

  1. 構成: ベースホストを
    …/ads/publisher
    にスワップし、パスプレフィックスを「
    /monetize/v1
    」→「
    /public/v1
    」にします。 Basic 認証を維持します。すべての
    dryrun
    パラメーターを削除します。
  2. アプリケーション(ブロックA):古い機能プロジェクトごとに、ストアごとに1つのアプリケーションを作成。Transform
    coppa
    enum→boolean、drop
    adsProvider
    、set
    platform
    /
    store
    /
    storeId
    。グループ化
    projectName
    /
    projectId
    .
    legacy projectId+store → new {applicationId, projectId}
    マップを持続します。
  3. **Placements(Block C):古い機能配置ごとに、マップから所有アプリケーションを解決し、
    adFormat
    (古い機能の広告単位) +
    adFormatConfigurations
    を使用して個別に作成 (広告単位/管理者設定から)。
    targets
    /
    addTargets
    をドロップします。**持続
    legacy placement slug → new {id, key}
    .
  4. **再ポイント識別子:**格納された古い機能配置ナメクジをパスの新しい UUID
    id
    に置き換えます。 ops (ディスプレイの
    key
    を保持)。格納されている
    projectId
    ベースのアプリケーション参照を
    applicationId
    に置き換えます。
  5. アーカイブセマンティクス:
    archive:true/false
    パッチコールを
    DELETE
    /
    PATCH …/restore
    に置き換えます。
  6. リスト/読み取り形状: フィールドテーブルごとの反応解析の更新(esp. org リスト — ブロック D)。
  7. **eCPMターゲット(**ブロックE): ターゲットコードを削除し、ユーザーにレポートします。
  8. 任意新機能: テストモード (F) とテストデバイス (G) は、必要な場合のみ接続します。
  9. レート制限: 上限は 1 秒未満と 60 時間未満で作成され、20 秒未満で読み取ります。

検証チェックリスト (移行後に実行)

  • リクエスト パスに
    /monetize/v1
    、
    /projects/{
    、
    /adunits
    、
    /stores/
    、または
    /targets
    は含まれません。
  • adsProvider
    、
    addTargets
    、
    targets
    、または
    archive
    を含むリクエスト ボディはありません。
  • coppa
    は、すべての場所でブーリアンです (決して
    "compliant"
    /
    "non_compliant"
    ではありません)。
  • 配置作成/更新のたびに、有効な
    adFormat
    と
    adFormatConfigurations
    が送信されます。 その形式と一致します。
  • 配置パスパラメーターは、古い機能のナメクジ (
    key
    ) ではなく、新しい UUID
    id
    を使用します。
  • 2つのストアを持つ古い機能プロジェクトでは、1つの
    projectId
    を共有する2つのアプリケーションが生成されていました。
  • eCPM ターゲット管理は、(クライアントがターゲット管理を使用している場合) サポートされていないギャップとしてユーザーに認識されました。

クイック リファレンス:🚫削除済み/同等なし(移行または製造しない)

  • すべての広告単位エンドポイントと広告単位リソース。
  • すべての eCPM ターゲットエンドポイントと
    targets
    /
    addTargets
    フィールド。
  • プロジェクトの
    adsProvider
    と
    maxCaps
    。
  • dryrun
    および
    showarchived
    クエリパラメーター。
  • クライアントによって選択された配置 ID(サーバが UUID を割り当てます。スラッグは
    key
    として保持します)。