Bạn có thể gửi dữ liệu đối tượng và dữ liệu 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 khả năng kiếm tiền có lập trình bằng cách truyền đạt các đặc điểm của đối tượng cho các bên đặt giá thầu trong tất cả các loại giao dịch, sử dụng hệ thống phân loại tiêu chuẩn mà không cần chia sẻ mã nhận dạng người dùng. Các đặc điểm của đối tượng có thể bao gồm dữ liệu dựa trên hành vi và mối quan tâm ( Hệ thống phân loại đối tượng 1.1 của IAB) và dữ liệu bối cảnh ( Hệ thống phân loại nội dung 2.2 của IAB). 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 thêm tín hiệu.
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ị. Khoá phải là PublisherProvidedTaxonomySignals và giá trị của khoá phải là một mảng đố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 được liên kết với các thông số kỹ thuật công khai sau của IAB:IAB_AUDIENCE_1_1cho Hệ thống phân loại đối tượng 1.1IAB_CONTENT_2_2cho Hệ thống phân loại nội dung 2.2
Khoá
valuescó một mảng giá trị phân loại chuỗi tương ứng.
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ị là một mảng đối tượng. Tạo đối tượng dựa trên danh sách khoá-giá trị tín hiệu sau:
Bật/tắt chế độ xem 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 có |
| Phân loại nội dung | "content_rating" |
|
Không có |
| Phân phối nội dung | "delivery" |
Không có |
|
| Chất lượng sản xuất | "prodq" |
|
Không có |
Hãy xem ví dụ sau đây 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 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 luồng
Hãy làm theo các bước sau để gửi PPS bằng
StreamRequest:
- 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
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)