Grupos de mediación

La API de AdMob te permite crear, enumerar y actualizar grupos de mediación, incluidos los siguientes:

  • Especificar la segmentación del grupo de mediación, incluida la segmentación por regiones, formato, plataforma y por IDFA
  • Agregar nuevas líneas de grupos de mediación a un grupo de mediación existente
  • Ver qué grupos de mediación forman parte de un experimento de mediación A/B y qué líneas de grupos de mediación pertenecen a cada variante: A o B

Ejemplos

Con las credenciales de OAuth 2.0 creadas, ya puedes comenzar a usar la API de AdMob. Para solicitar acceso con OAuth 2.0, tu aplicación también necesitará la información del alcance.

A continuación, se muestra la información del alcance de OAuth 2.0:

Alcance Significado
https://www.googleapis.com/auth/admob.monetization Ver, crear y editar tu configuración de monetización de AdMob
https://www.googleapis.com/auth/admob.readonly Ver todos los datos de AdMob Esto puede incluir información de la cuenta, la configuración del inventario y la mediación, informes y otros datos. No se incluyen datos sensibles, como detalles de pagos o campañas.

Crear

Para crear un grupo de mediación, debes especificar la información de la segmentación del grupo de mediación, incluidas las unidades de anuncios pertinentes. En el siguiente ejemplo, se crea un grupo de mediación nuevo para los anuncios intersticiales de Android en 2 unidades de anuncios. Se agrega una línea de grupo de mediación en el momento de la creación para la fuente de anuncios de InMobi. No es necesario que incluyas la red de AdMob, ya que se agregará de forma predeterminada en el momento de la creación.

En el siguiente fragmento de código, reemplaza pub-XXXXXXXXXXXXXXXX por tu ID de publicador.

Luego, reemplaza YYYYYYYYYY por los últimos 10 dígitos de tu ID de unidad de anuncios, según el siguiente formato:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

Como hay dos unidades de anuncios en este ejemplo, YYYYY11111 hace referencia a la primera unidad de anuncios y WWWWW11111 a la asignación de la primera unidad de anuncios. YYYYY22222 y WWWWW22222 hacen referencia a la segunda unidad de anuncios y a la segunda asignación de unidad de anuncios.

curl (línea de comandos)

Reemplaza WWWWWWWWWW por el ID de asignación de tu unidad de anuncios. El ID de asignación de la unidad de anuncios se puede encontrar con el método 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"
      }
  }
}

Lista

Reemplaza pub-XXXXXXXXXXXXXXXX por tu ID de publicador para ver tus grupos de mediación.

curl (línea de comandos)

Solicitud de muestra:

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)"

Respuesta de muestra:

{
"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"
      }
    },
  }]
}

Aplicar parche

A continuación, se incluye la lista de máscaras de campo para actualizar un grupo de mediación. Las actualizaciones de los campos repetidos, como los elementos de una lista, reemplazan por completo los valores existentes por valores nuevos. Las actualizaciones de valores individuales en un mapa se pueden realizar a través de la indexación por clave.

Se admiten las siguientes máscaras de campo para las actualizaciones de grupos de mediación:

  • targeting.adUnitIds
  • mediationGroupLines[mediationGroupLineId]
  • mediationGroupLines[mediationGroupLineId].state
  • mediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]

Para actualizar un grupo de mediación con una nueva línea de grupo de mediación, usa un número negativo distinto para mediationGroupLineId. Para actualizar las líneas de grupos de mediación existentes, haz referencia al ID de la línea del grupo de mediación en update_mask y en la carga útil, como se muestra a continuación.

"updateMask" {
    paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}

"mediationGroup" {
  "mediationGroupLines": {
   "123": {
     "id": "123"
     "adUnitMappings": {
      "456": "newAdUnitMappingId"
     }
    }
  }
}

curl (línea de comandos)

En el siguiente ejemplo, se agregan 3 líneas de mediación nuevas a un grupo de mediación existente. El objeto updateMask incluye las 3 líneas del grupo de mediación con valores negativos distintos como marcador de posición:

updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]

Debes traducir los caracteres especiales porque todas las URLs deben cumplir con la sintaxis que se indica en la especificación del identificador de recursos uniforme (URI), por lo que updateMask se convierte en lo siguiente:

updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D

Para ejecutar el siguiente ejemplo, reemplaza pub-XXXXXXXXXXXXXXXX por tu ID de publicador y ZZZZZZZZZZ por tu ID de grupo de mediación. El ID del grupo de mediación se puede encontrar en la IU de AdMob o con el método accounts.mediationGroups:list.

Reemplaza YYYYYYYYYY por los últimos 10 dígitos de tu ID de unidad de anuncios con el siguiente formato:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`

Reemplaza WWWWWWWWWW por el ID de asignación de tu unidad de anuncios. El ID de asignación de la unidad de anuncios se puede encontrar con el método 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