Indicatori forniti dal publisher

Puoi inviare dati contestuali e sui segmenti di pubblico come indicatori forniti dal publisher (PPS) nelle richieste di annuncio. 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.

Crea 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 secondo le 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.

Crea l'array di indicatori strutturati

Per gli indicatori strutturati, aggiungi la chiave PublisherProvidedStructuredSignals con un valore costituito da 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 di "single_value" Valori possibili per "values"
Tipo di feed audio "audio_feed"
  • "af_1": Musica
  • "af_2": trasmissione
  • "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": Produzione professionale
  • "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 annunci

Per inviare i PPS con il tuo AdsRequest:

  • 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 sopra.
  • Aggiungi la stringa codificata all'URL del tag annuncio con il parametro &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;