Indicadores proporcionados por el publicador

Puedes enviar datos contextuales y de público como indicadores proporcionados por el publicador (PPS) en las solicitudes de anuncios. Con PPS, puedes usar tus datos de usuarios para mejorar la monetización programática, ya que puedes comunicar las características de tu público a los ofertantes en todos los tipos de transacciones con taxonomías estándar, sin necesidad de compartir identificadores de usuario. Las características de tu 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, que define Google, y permitir que se envíen 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 cadena

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:

Activa o desactiva la vista de la tabla de indicadores estructurados

Indicador <code" dir="ltr" translate="no">"type" Valor</code"> Valores posibles de "single_value" Valores posibles de "values"
Tipo de feed de audio "audio_feed"
  • "af_1": Música
  • "af_2": Anunciar
  • "af_3": Podcast
N/A
Calificación del contenido: "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": B
  • "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, en el que se usan IAB_AUDIENCE_1_1 y IAB_CONTENT_2_2 para los indicadores taxonómicos y, además, 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 transmisión

Sigue estos pasos para enviar PPS con tu StreamRequest:

  • 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 tu JSON codificado con StreamRequest.setAdTagParameters.
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();
}

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);
}

Map<String, String> adTagParamMap = new java.util.HashMap<String, String>();
adTagParamMap.put("ppsj", encodedSignals);

streamRequest.setAdTagParameters(adTagParamMap)