Bạn có thể gửi dữ liệu về đối tượng và bối cảnh dưới dạng tín hiệu do nhà xuất bản cung cấp (PPS) trong các yêu cầu quảng cáo. Với PPS, bạn có thể sử dụng dữ liệu người dùng để cải thiện hoạt động kiếm tiền có lập trình bằng cách truyền đạt các đặc điểm về đối tượng của bạn cho bên đặt giá thầu trong tất cả các loại giao dịch, bằng cách sử dụng dữ liệu phân loại chuẩn mà không cần chia sẻ giá trị nhận dạng người dùng. Đặc điểm của đối tượng có thể bao gồm dữ liệu hành vi và dữ liệu dựa trên mối quan tâm (Hệ thống phân loại đối tượng của IAB 1.1) và dữ liệu theo bối cảnh (Hệ thống phân loại nội dung của IAB 2.2). Bạn cũng có thể gửi tín hiệu có cấu trúc do nhà xuất bản cung cấp (do Google xác định) và cho phép gửi các tín hiệu bổ sung.
Tạo JSON tín hiệu người dùng
Ở cấp cao nhất, hãy tạo một đối tượng JSON có một cặp khoá-giá trị duy nhất. Khoá phải là PublisherProvidedTaxonomySignals
và giá trị của khoá phải là một mảng các đối tượng. Mỗi đối tượng trong mảng phải có 2 cặp khoá-giá trị:
Khoá
taxonomy
chấp nhận các giá trị sau đây được liên kết tới thông số kỹ thuật công khai của IAB:IAB_AUDIENCE_1_1
cho Hệ thống phân loại đối tượng 1.1IAB_CONTENT_2_2
cho Hệ thống phân loại nội dung 2.2
Khoá
values
có một mảng tương ứng gồm các giá trị phân loại chuỗi.
Tạo mảng tín hiệu có cấu trúc
Đối với tín hiệu có cấu trúc, hãy thêm khoá PublisherProvidedStructuredSignals
có giá trị của một mảng đối tượng. Tạo đối tượng dựa trên danh sách giá trị khoá tín hiệu sau:
Bật/tắt chế độ xem của bảng tín hiệu có cấu trúc
Tín hiệu | <code" dir="ltr" translate="no">"type" Value</code"> | Giá trị "single_value" có thể có |
Giá trị "values" có thể có |
---|---|---|---|
Loại nguồn cấp dữ liệu dạng âm thanh | "audio_feed" |
|
không áp dụng |
Phân loại nội dung | "content_rating" |
|
không áp dụng |
Cung cấp nội dung | "delivery" |
không áp dụng |
|
Chất lượng sản xuất | "prodq" |
|
không áp dụng |
Hãy xem ví dụ sau đây về việc sử dụng IAB_AUDIENCE_1_1
và IAB_CONTENT_2_2
cho tín hiệu phân loại và bao gồm cả tín hiệu có cấu trúc.
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"],
},
],
};
Định cấu hình yêu cầu truyền trực tuyến
Hãy làm theo các bước sau để gửi PPS bằng StreamRequest
của bạn:
- Tạo một chuỗi JSON có mối quan tâm, hành vi hoặc dữ liệu bối cảnh của người dùng.
- Tạo một chuỗi ASCII được mã hoá Base64 từ chuỗi JSON ở trên.
- Thêm JSON được mã hoá bằng cách sử dụng
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)