Вы можете отправлять данные об аудитории и контекстные данные в виде сигналов, предоставляемых издателем (PPS), в запросах на рекламу. С помощью PPS вы можете использовать пользовательские данные для улучшения программной монетизации, передавая характеристики своей аудитории участникам торгов во всех типах транзакций , используя стандартные таксономии, без необходимости предоставлять идентификаторы пользователей. Характеристики вашей аудитории могут включать поведенческие данные и данные, основанные на интересах ( таксономия аудитории IAB 1.1 ), а также контекстные данные ( таксономия контента IAB 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" |
| н/д |
Рейтинг контента | "content_rating" |
| н/д |
Доставка контента | "delivery" | н/д |
|
Качество продукции | "prodq" |
| н/д |
См. следующий пример, в котором 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 с помощью StreamRequest
, выполните следующие действия:
- Создайте строку JSON с данными об интересах, поведении или контексту пользователя.
- Создайте строку ASCII в кодировке Base64 из строки JSON, указанной выше.
- Добавьте закодированный JSON с помощью
StreamRequest.setAdTagParameters
.
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)