Улучшайте рекламные кампании с помощью PPS

Выберите платформу: HTML5 Android iOS tvOS

Вы можете отправлять данные об аудитории и контекстные данные в виде сигналов, предоставляемых издателем (PPS), в запросах на показ рекламы. С помощью PPS вы можете использовать данные о пользователях для улучшения программной монетизации, передавая характеристики вашей аудитории участникам торгов во всех типах транзакций , используя стандартные таксономии, без необходимости делиться идентификаторами пользователей. Характеристики вашей аудитории могут включать поведенческие данные и данные об интересах ( IAB Audience Taxonomy 1.1 ), а также контекстные данные ( IAB Content Taxonomy 2.2 ). Вы также можете отправлять структурированные сигналы, предоставляемые издателем, которые определены Google и позволяют отправлять дополнительные сигналы.

Сформируйте JSON-файлы пользовательских сигналов.

На верхнем уровне создайте JSON-объект с одной парой ключ-значение. Ключом должен быть PublisherProvidedTaxonomySignals , а значением — массив объектов. Каждый объект в массиве должен содержать две пары ключ-значение:

  • Ключ taxonomy , принимающий следующие значения, которые соответствуют общедоступным спецификациям IAB:

    • IAB_AUDIENCE_1_1 для таксономии аудитории 1.1
    • IAB_CONTENT_2_2 для таксономии контента 2.2
  • Ключом values является соответствующий массив строковых значений таксономии.

Создайте массив структурированных сигналов.

Для структурированных сигналов добавьте ключ PublisherProvidedStructuredSignals со значением в виде массива объектов. Создайте объект на основе следующего списка пар ключ-значение сигнала:

Переключить отображение таблицы структурированных сигналов

Сигнал Значение типа Возможные значения типа "single_value" Возможные "values"
Тип аудиопотока "audio_feed"
  • "af_1" : Музыка
  • "af_2" : Трансляция
  • "af_3" : Подкаст
н/д
Возрастной рейтинг "content_rating"
  • "cr_1" : G
  • "cr_2" : PG
  • "cr_3" : T
  • "cr_4" : MA
н/д
Доставка контента "delivery" н/д
  • "cd_1" : Потоковое воспроизведение
  • "cd_2" : Прогрессивный
  • "cd_3" : Скачать
Качество продукции "prodq"
  • "pq_1" : Профессионально произведено
  • "pq_2" : Просьюмер
  • "pq_3" : Пользовательский контент (UGC)
н/д

См. следующий пример, в котором используются IAB_AUDIENCE_1_1 и IAB_CONTENT_2_2 в качестве сигналов таксономии и включены структурированные сигналы.

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

Настройте запрос на показ рекламы.

Выполните следующие шаги, чтобы отправить PPS вместе с вашим AdsRequest :

  • Создайте JSON-строку, содержащую данные об интересах пользователя, его поведении или контекстную информацию.
  • Создайте ASCII-строку в кодировке Base64 из приведенной выше JSON-строки.
  • Добавьте закодированную строку к URL-адресу вашего рекламного тега с помощью параметра &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;