Indicadores proporcionados por el publicador

Puedes enviar datos de público y contextuales como indicadores proporcionados por el publicador (PPS) en las solicitudes de anuncios. Con los PPS, puedes usar tus datos de usuario para mejorar la monetización programática. Para ello, comunica las características de tu público a los ofertantes en todos los tipos de transacciones, mediante taxonomías estándar, sin la necesidad de compartir identificadores de usuario. Las características del público pueden incluir datos basados en intereses y comportamientos (taxonomía de público de IAB 1.1) y datos contextuales (taxonomía de contenido de IAB 2.2). También puedes enviar indicadores estructurados proporcionados por el publicador, definidos por Google, y permitir el envío de indicadores adicionales.

Crea el JSON de los indicadores del usuario

En el nivel superior, crea un objeto JSON con un solo par clave-valor. La clave debe ser PublisherProvidedTaxonomySignals y su valor debe ser un array de objetos. Cada objeto del array debe tener 2 pares clave-valor:

  • La clave taxonomy, que acepta los siguientes valores asignados a las siguientes especificaciones públicas de IAB:

    • IAB_AUDIENCE_1_1 para la Taxonomía de públicos 1.1
    • IAB_CONTENT_2_2 para la taxonomía de contenido 2.2
  • La clave values con un array correspondiente de valores de taxonomía de cadenas.

Cómo construir el array de indicadores estructurados

Para los indicadores estructurados, agrega la clave PublisherProvidedStructuredSignals con un valor de un array de objetos. Construye el objeto según la siguiente lista de pares clave-valor de indicadores:

Activar o desactivar la vista de la tabla de indicadores estructurados

Indicador <code" dir="ltr" translate="no">"type" Value</code"> Valores posibles de "single_value" Valores posibles de "values"
Tipo de feed de audio "audio_feed"
  • "af_1": Música
  • "af_2": Publicación
  • "af_3": Podcast
N/A
Calificación del contenido: "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
N/A
Publicación de contenido "delivery" N/A
  • "cd_1": Transmisión
  • "cd_2": Progresivo
  • "cd_3": Descargar
Calidad de producción "prodq"
  • "pq_1": Producción profesional
  • "pq_2": Prosumidor
  • "pq_3": Generado por el usuario (CGU)
N/A

Consulta el siguiente ejemplo que usa IAB_AUDIENCE_1_1 y IAB_CONTENT_2_2 para los indicadores de taxonomía y que incluye indicadores estructurados.

const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["6", "284"]
     // '6' = 'Demographic | Age Range | 30-34'
     // '284' = 'Interest | Business and Finance |  Mergers and Acquisitions'
  },
  {
     "taxonomy": "IAB_CONTENT_2_2",
     "values": ["49", "138"]
     // '49' = 'Books and Literature | Poetry'
     // '138' = 'Education | College Education | College Planning'
  }],
  "PublisherProvidedStructuredSignals": [{
      "type": "audio_feed",
      "single_value": "af_1",
    },
    {
      "type": "delivery",
      "values": ["cd_1", "cd_3"],
    },
  ],
};

Configura tu solicitud de anuncio

Sigue estos pasos para enviar PPS con tu AdsRequest:

  • Crea una cadena JSON con los datos de interés, comportamiento o contextuales del usuario.
  • Crea una cadena ASCII codificada en Base64 a partir de la cadena JSON anterior.
  • Agrega la cadena codificada a la URL de tu etiqueta de anuncio con el parámetro &ppsj=.
JSONObject userSignalsObject = new JSONObject();
JSONArray userSignalsArray = new JSONArray();
JSONObject audienceTaxonomyObject = new JSONObject();
JSONArray valuesArray = new JSONArray();
valuesArray.put("1");
valuesArray.put("284");
try {
  audienceTaxonomyObject.put("taxonomy", "IAB_AUDIENCE_1_1");
  audienceTaxonomyObject.put("values", valuesArray);
} catch (JSONException e) {
  e.printStackTrace();
}

userSignalsArray.put(audienceTaxonomyObject);

try {
  userSignalsObject.put("PublisherProvidedTaxonomySignals", userSignalsArray);
} catch (JSONException e) {
  e.printStackTrace();
}

String userSignals = userSignalsObject.toString();

byte[] userSignalsByte=new byte[0];
try {
  userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);
  String encodedBas64Signals = android.util.Base64.encodeToString(
    userSignalsByte,
    android.util.Base64.URL_SAFE);
  encodedSignals = URLEncoder.encode(encodedBas64Signals, "UTF-8");
} catch (java.io.UnsupportedEncodingException error) {
  Log.w("Sample app", error);
}

String finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;