AdMob API を使用すると、次のようなメディエーション グループの作成、一覧表示、更新を行うことができます。
- リージョン、フォーマット、プラットフォーム、IDFA のターゲティングなど、メディエーション グループのターゲティングを指定する
- 既存のメディエーション グループに新しいメディエーション グループの行を追加する
- どのメディエーション グループがメディエーション A/B テストの一部であるか、どのメディエーション グループの行が各バリエーション(A または B)に属しているかを確認する
例
OAuth 2.0 認証情報を作成したら、AdMob API の使用を開始できます。OAuth 2.0 を使用してアクセスをリクエストする場合、アプリケーションにはスコープ情報も必要になります。
OAuth 2.0 のスコープ情報は次のとおりです。
| スコープ | 意味 |
|---|---|
https://www.googleapis.com/auth/admob.monetization |
AdMob 収益化の設定を表示、作成、編集します。 |
https://www.googleapis.com/auth/admob.readonly |
AdMob のすべてのデータが表示されます。これには、アカウント情報、在庫とメディエーションの設定、レポートなどのデータが含まれる場合があります。これには、お支払い情報やキャンペーンの詳細などのセンシティブ データは含まれません。 |
作成
メディエーション グループを作成するには、関連する広告ユニットなど、メディエーション グループのターゲティング情報を指定する必要があります。次の例では、2 つの広告ユニットの Android インタースティシャル広告用の新しいメディエーション グループを作成します。作成時に、InMobi 広告のソースのメディエーション グループの行が 1 つ追加されます。AdMob ネットワークは作成時にデフォルトで追加されるため、含める必要はありません。
次のコード スニペットで、pub-XXXXXXXXXXXXXXXX をパブリッシャー ID に置き換えます。
次に、YYYYYYYYYY を広告ユニット ID の最後の 10 桁に置き換えます。形式は次のとおりです。
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
この例では広告ユニットが 2 つあるため、YYYYY11111 は最初の広告ユニットを、WWWWW11111 は最初の広告ユニットのマッピングを指します。YYYYY22222 と WWWWW22222 は、2 番目の広告ユニットと広告ユニットのマッピングを指します。
curl(コマンドライン)
WWWWWWWWWW は、広告ユニット マッピング ID に置き換えます。広告ユニットのマッピング ID は、accounts.adUnits.adUnitMappings.list メソッドで確認できます。
curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"displayName": "Test Mediation Group"
"targeting": {
"platform": "ANDROID",
"format": "INTERSTITIAL"
"adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"}
}
"mediationGroupLines": {
"-1": {
"displayName": "test line",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
}
}
}
リスト
pub-XXXXXXXXXXXXXXXX をパブリッシャー ID に置き換えて、メディエーション グループを表示します。
curl(コマンドライン)
リクエストの例:
curl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
レスポンスの例:
{ "mediationGroups": [ { "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ", "mediationGroupId": "ZZZZZZZZZZ", "displayName": "Test Mediation Group", "state": "ENABLED", "state": "NOT_RUNNING", "targeting": { "platform": "iOS", "format": "BANNER", "targetedRegionCodes": "[CA]", "adUnits": ["YYYYY11111", "YYYYY22222"] }, "mediationGroupLines": { "11111111111111111": { "id": "11111111111111111", "displayName": "AdMob Network", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "state": "ENABLED", "experimentVariant": "ORIGINAL" }, "22222222222222222": { "id": "22222222222222222", "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" }, "state": "ENABLED", "experimentVariant": "ORIGINAL" } }, }] }
パッチ
メディエーション グループを更新するためのフィールド マスクのリストは次のとおりです。リスト内の項目などの繰り返しフィールドの更新では、既存の値が新しい値に完全に置き換えられます。マップ内の個々の値の更新は、キーによるインデックス作成で行うことができます。
メディエーション グループの更新では、次のフィールド マスクがサポートされています。
targeting.adUnitIdsmediationGroupLines[mediationGroupLineId]mediationGroupLines[mediationGroupLineId].statemediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
新しいメディエーション グループの行でメディエーション グループを更新するには、mediationGroupLineId に異なる負の数を使用します。既存のメディエーション グループの行を更新するには、以下に示すように、update_mask とペイロードの両方でメディエーション グループの行 ID を参照します。
"updateMask" {
paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}
"mediationGroup" {
"mediationGroupLines": {
"123": {
"id": "123"
"adUnitMappings": {
"456": "newAdUnitMappingId"
}
}
}
}
curl(コマンドライン)
次の例では、既存のメディエーション グループに 3 つの新しいメディエーション行を追加します。updateMask には、プレースホルダとして異なる負の値を持つ 3 つのメディエーション グループ行が含まれます。
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
すべての URL は URI(Uniform Resource Identifier)仕様で規定されている構文に従う必要があるため、特殊文字を変換する必要があります。したがって、updateMask は次のようになります。
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
次の例を実行するには、pub-XXXXXXXXXXXXXXXX をパブリッシャー ID に、ZZZZZZZZZZ をメディエーション グループ ID に置き換えます。メディエーション グループ ID は、AdMob 管理画面で確認するか、accounts.mediationGroups:list メソッドを使用して取得できます。
YYYYYYYYYY は、次の形式で広告ユニット ID の最後の 10 桁に置き換えます。
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
WWWWWWWWWW は、広告ユニット マッピング ID に置き換えます。広告ユニットのマッピング ID は、accounts.adUnits.adUnitMappings.list メソッドで確認できます。
curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"mediationGroupLines": {
"-1": {
"displayName": "test line 2",
"adSourceId": "7681903010231960458",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-2": {
"displayName": "test line 3",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "120000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-3": {
"displayName": "test line 4",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "130000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
}
}
}
EOF