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 verwenden, um die programmatische Monetarisierung zu verbessern, indem Sie Ihre Zielgruppenmerkmale an Bieter in allen Transaktionstypen unter Verwendung von Standardtaxonomien senden, ohne Nutzerkennungen weitergeben zu müssen. Zu den Zielgruppenmerkmalen können verhaltens- und interessenbezogene 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-Nutzersignale erstellen

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

  • Der Schlüssel taxonomy, der die folgenden Werte akzeptiert, die den folgenden öffentlichen IAB-Spezifikationen zugeordnet sind:

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

Array für strukturierte Signale erstellen

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

Ansicht der Tabelle mit strukturierten Signalen wechseln

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 (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 erstellt

Im folgenden Beispiel werden IAB_AUDIENCE_1_1 und IAB_CONTENT_2_2 für Taxonomiesignale verwendet und es sind strukturierte Signale enthalten.

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, dem Verhalten oder den Kontextdaten des Nutzers.
  • Erstellen Sie einen Base64-codierten ASCII-String aus dem obigen JSON-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)