Indicatori forniti dal publisher

Puoi inviare dati sul pubblico e contestuali 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 pubblico agli offerenti in tutti i tipi di transazioni utilizzando tassonomie standard, senza la necessità di condividere gli identificatori utente. Le caratteristiche del pubblico possono includere dati comportamentali, 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 consentire l'invio di indicatori aggiuntivi.

Costruire il file JSON degli indicatori utente

A livello superiore, crea un oggetto JSON con una singola coppia chiave-valore. La chiave deve essere PublisherProvidedTaxonomySignals e il relativo valore deve essere un array di oggetti. Ogni oggetto nell'array deve avere due coppie chiave-valore:

  • La chiave taxonomy, che accetta i seguenti valori mappati alle seguenti specifiche pubbliche IAB:

    • IAB_AUDIENCE_1_1 per la Tassonomia del pubblico 1.1
    • IAB_CONTENT_2_2 per la tassonomia dei contenuti 2.2
  • La chiave values con un array corrispondente di valori della tassonomia di stringhe.

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 dell'indicatore:

Attiva/disattiva la visualizzazione della tabella degli indicatori strutturati

Indicatore <code" dir="ltr" translate="no">"type" Value</code"> Valori possibili per "single_value" Valori possibili di "values"
Tipo di feed audio "audio_feed"
  • "af_1": musica
  • "af_2": annuncio
  • "af_3": podcast
n/a
Classificazione contenuti "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
n/a
Importazione dei contenuti "delivery" n/a
  • "cd_1": streaming
  • "cd_2": progressiva
  • "cd_3": scarica
Qualità di produzione "prodq"
  • "pq_1": prodotto da professionisti
  • "pq_2": prosumer
  • "pq_3": contenuti generati dagli utenti
n/a

Consulta l'esempio seguente che utilizza IAB_AUDIENCE_1_1 e IAB_CONTENT_2_2 per gli indicatori della 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"],
    },
  ],
};

Configura la richiesta di streaming

Per inviare i PPS con il tuo StreamRequest:

  • Crea una stringa JSON con gli interessi, il comportamento o i dati contestuali dell'utente.
  • Crea una stringa ASCII con codifica Base64 dalla stringa JSON precedente.
  • Aggiungi il file 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)