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.1IAB_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" |
|
N/A |
Calificación del contenido: | "content_rating" |
|
N/A |
Publicación de contenido | "delivery" |
N/A |
|
Calidad de producción | "prodq" |
|
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)