Ulepszanie kampanii reklamowych za pomocą PPS

Wybierz platformę: HTML5 Android iOS tvOS

W żądaniach reklamy możesz wysyłać dane o odbiorcach i dane kontekstowe jako sygnały dostarczane przez wydawcę. Dzięki sygnałom dostarczanym przez wydawcę możesz używać danych użytkowników do poprawy monetyzacji programowej, przekazując licytującym charakterystykę odbiorców we wszystkich typach transakcji za pomocą standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Charakterystyka odbiorców może obejmować dane behawioralne i dane o zainteresowaniach ( taksonomia odbiorców IAB 1.1) oraz dane kontekstowe ( taksonomia treści IAB 2.2). Możesz też wysyłać sygnały uporządkowane dostarczane przez wydawcę, które są zdefiniowane przez Google i umożliwiają wysyłanie dodatkowych sygnałów.

Tworzenie pliku JSON z sygnałami użytkownika

Na najwyższym poziomie utwórz obiekt JSON z pojedynczą parą klucz-wartość. Klucz powinien mieć postać PublisherProvidedTaxonomySignals, a jego wartość powinna być tablicą obiektów. Każdy obiekt w tablicy powinien zawierać 2 pary klucz-wartość:

  • Klucz taxonomy, który akceptuje te wartości zmapowane na te publiczne specyfikacje IAB:

    • IAB_AUDIENCE_1_1 w przypadku taksonomii odbiorców 1.1
    • IAB_CONTENT_2_2 w przypadku taksonomii treści 2.2
  • Klucz values z odpowiednią tablicą wartości taksonomii w postaci ciągów znaków.

Tworzenie tablicy sygnałów uporządkowanych

W przypadku sygnałów uporządkowanych dodaj klucz PublisherProvidedStructuredSignals z wartością w postaci tablicy obiektów. Utwórz obiekt na podstawie tej listy par klucz-wartość sygnału:

Przełączanie widoku tabeli sygnałów uporządkowanych

Sygnał <code" dir="ltr" translate="no">"type" Value</code"> Możliwe wartości "single_value" Możliwe wartości "values"
Typ pliku danych audio "audio_feed"
  • "af_1": muzyka
  • "af_2": broadcast
  • "af_3": podcast
nie dotyczy
Ocena treści "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
nie dotyczy
Dostawa treści "delivery" nie dotyczy
  • "cd_1": streaming
  • "cd_2": przesyłanie progresywne
  • "cd_3": pobieranie
Poziom produkcji "prodq"
  • "pq_1": opracowane przez profesjonalistę
  • "pq_2": prosument
  • "pq_3": treści wygenerowane przez użytkowników
nie dotyczy

Oto przykład, który używa IAB_AUDIENCE_1_1 i IAB_CONTENT_2_2 w przypadku sygnałów taksonomii oraz zawiera sygnały uporządkowane.

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

Konfigurowanie żądania reklamy

Aby wysłać sygnały dostarczane przez wydawcę za pomocą AdsRequest:

  • Utwórz ciąg znaków JSON z danymi o zainteresowaniach, zachowaniu lub kontekście użytkownika.
  • Utwórz ciąg znaków ASCII zakodowany w Base64 na podstawie powyższego ciągu znaków JSON.
  • Dołącz zakodowany ciąg znaków do adresu URL tagu reklamy za pomocą parametru &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;