メディエーション グループ

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.adUnitIds
  • mediationGroupLines[mediationGroupLineId]
  • mediationGroupLines[mediationGroupLineId].state
  • mediationGroupLines[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