Migliorare le campagne pubblicitarie con i PPS

Seleziona la piattaforma: HTML5 Android iOS tvOS

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 della pubblicità programmatica comunicando le caratteristiche del tuo segmento di pubblico agli offerenti in tutti i tipi di transazione, utilizzando tassonomie standard, senza dover condividere identificatori utente. Le caratteristiche del tuo 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 consentire l'invio di indicatori aggiuntivi.

Crea il file JSON degli indicatori utente

Al livello più alto, 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 due coppie chiave-valore:

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

    • IAB_AUDIENCE_1_1 per Audience Taxonomy 1.1
    • IAB_CONTENT_2_2 per la tassonomia dei contenuti 2.2
  • La chiave values con un array corrispondente di valori di tassonomia di stringhe.

Crea l'array di indicatori strutturati

Per gli indicatori strutturati, aggiungi la chiave PublisherProvidedStructuredSignals con un valore di un array di oggetti. Crea l'oggetto in base al seguente elenco di coppie chiave-valore degli indicatori:

Attiva/disattiva 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"
  • "af_1": Musica
  • "af_2": Trasmetti
  • "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": download
Qualità di produzione "prodq"
  • "pq_1": Produzione professionale
  • "pq_2": Prosumer
  • "pq_3": Contenuti generati dagli utenti
n/a

Vedi l'esempio seguente, 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"],
    },
  ],
};

Configura la richiesta di annuncio

Segui questi passaggi per inviare PPS con AdsRequest:

  • Crea una stringa JSON con i dati relativi a interessi, comportamento o contesto dell'utente.
  • Crea una stringa ASCII con codifica Base64 dalla stringa JSON riportata 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;