Puoi inviare dati contestuali e sui segmenti di pubblico come indicatori forniti dal publisher (PPS) nelle richieste di annunci. Con i PPS, puoi utilizzare i dati utente per migliorare la monetizzazione programmatica comunicando le caratteristiche del tuo pubblico agli offerenti in tutti i tipi di transazione, utilizzando tassonomie standard, senza la necessità di condividere gli identificatori utente. Le caratteristiche del pubblico possono includere dati comportamentali e basati sugli interessi ( Tassonomia del pubblico IAB 1.1) e dati contestuali ( Tassonomia dei contenuti IAB 2.2). Puoi anche inviare indicatori strutturati forniti dal publisher, definiti da Google e che consentono di inviare indicatori aggiuntivi.
Costruire il JSON degli indicatori utente
A livello principale, crea un oggetto JSON con una singola coppia chiave-valore. La chiave deve essere PublisherProvidedTaxonomySignals e il suo valore deve essere un array di oggetti. Ogni oggetto nell'array deve avere 2 coppie chiave-valore:
La chiave
taxonomy, che accetta i seguenti valori mappati alle seguenti specifiche pubbliche IAB:IAB_AUDIENCE_1_1per la tassonomia del pubblico 1.1IAB_CONTENT_2_2per la tassonomia dei contenuti 2.2
La chiave
valuescon un array corrispondente di valori di tassonomia stringa.
Costruire l'array di indicatori strutturati
Per gli indicatori strutturati, aggiungi la chiave PublisherProvidedStructuredSignals con un valore di un array di oggetti. Costruisci l'oggetto in base al seguente elenco di coppie chiave-valore degli indicatori:
Attivare/disattivare la visualizzazione della tabella degli indicatori strutturati
| Indicatore | <code" dir="ltr" translate="no">"type" Value</code"> | Valori "single_value" possibili |
Valori "values" possibili |
|---|---|---|---|
| Tipo di feed audio | "audio_feed" |
|
n/a |
| Classificazione contenuti | "content_rating" |
|
n/a |
| Importazione dei contenuti | "delivery" |
n/a |
|
| Qualità di produzione | "prodq" |
|
n/a |
Consulta il seguente esempio che utilizza IAB_AUDIENCE_1_1 e IAB_CONTENT_2_2 per gli indicatori di tassonomia e include indicatori strutturati.
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"],
},
],
};
Configurare la richiesta di stream
Segui questi passaggi per inviare i PPS con il tuo
StreamRequest:
- Crea una stringa JSON con i dati contestuali, comportamentali o sugli interessi dell'utente.
- Crea una stringa ASCII con codifica Base64 dalla stringa JSON sopra.
- Aggiungi il JSON codificato utilizzando
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)