Vom Publisher bereitgestellte Signale

In Anzeigenanfragen können Sie Zielgruppen- und Kontextdaten als vom Publisher bereitgestellte Signale (Publisher Provided Signals, PPS) senden. Mit PPS können Sie Ihre Nutzerdaten nutzen, um die programmatische Monetarisierung zu verbessern. Dazu geben Sie Ihre Zielgruppenmerkmale mithilfe standardisierter Taxonomien an Bieter für alle Transaktionstypen weiter, ohne Nutzer-IDs weitergeben zu müssen. Zu den Zielgruppeneigenschaften können verhaltens- und interessenbasierte Daten (IAB-Taxonomie für Zielgruppen 1.1) und kontextbezogene Daten (IAB-Taxonomie für Inhalte 2.2) gehören. Sie können auch vom Publisher bereitgestellte strukturierte Signale senden, die von Google definiert sind und das Senden zusätzlicher Signale ermöglichen.

JSON-Objekt für Nutzersignale erstellen

Erstellen Sie auf der obersten Ebene ein JSON-Objekt mit einem einzelnen Schlüssel/Wert-Paar. Der Schlüssel sollte PublisherProvidedTaxonomySignals und sein Wert ein Array von Objekten sein. Jedes Objekt im Array sollte zwei Schlüssel/Wert-Paare haben:

  • Den Schlüssel taxonomy für die folgenden Werte, die den folgenden öffentlichen IAB-Spezifikationen zugeordnet sind:

    • IAB_AUDIENCE_1_1 für Zielgruppen-Taxonomie 1.1
    • IAB_CONTENT_2_2 für die Content-Taxonomie 2.2
  • Der Schlüssel values mit einem entsprechenden Array von String-Taxonomiewerten.

Array für strukturierte Signale erstellen

Fügen Sie für strukturierte Signale den Schlüssel PublisherProvidedStructuredSignals mit dem Wert eines Objektarrays hinzu. Erstellen Sie das Objekt basierend auf der folgenden Liste von Signal-Schlüssel/Wert-Paaren:

Ansicht der Tabelle mit strukturierten Signalen umschalten

Signal <code" dir="ltr" Translate="no">"type" Value</code"> Mögliche "single_value"-Werte Mögliche "values"-Werte
Audiofeedtyp "audio_feed"
  • "af_1": Musik
  • "af_2": Broadcast
  • "af_3": Podcast
Einstufung des Inhalts "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
Inhaltsübermittlung "delivery"
  • "cd_1": Streaming
  • "cd_2": Progressiv
  • "cd_3": Herunterladen
Produktionsqualität "prodq"
  • "pq_1": Professionelle Produktion
  • "pq_2": Prosumer
  • "pq_3": Von Nutzern erstellte Inhalte

Im folgenden Beispiel werden IAB_AUDIENCE_1_1 und IAB_CONTENT_2_2 für Taxonomiesignale verwendet und strukturierte Signale einbezogen.

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"],
    },
  ],
};

Streamanfrage konfigurieren

So senden Sie PPS mit Ihrer StreamRequest:

  • Erstellen Sie einen JSON-String mit den Interessen-, Verhaltens- oder Kontextdaten des Nutzers.
  • Erstellen Sie aus dem obigen JSON-String einen Base64-codierten ASCII-String.
  • Fügen Sie den codierten JSON-Code mit StreamRequest.setAdTagParameters hinzu.
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)