يمكنك إرسال بيانات الجمهور والسياق على أنّها إشارات مقدَّمة من الناشر (PPS) في طلبات الإعلانات. باستخدام ميزة PPS، يمكنك استخدام بيانات المستخدِمين لتحسين تحقيق الربح الآلي من خلال إطلاع مقدمي عروض الأسعار على سمات جمهورك في جميع أنواع المعاملات، باستخدام تصنيفات عادية، بدون الحاجة إلى مشاركة معرّفات المستخدِمين. يمكن أن تتضمّن سمات جمهورك بيانات مستندة إلى السلوك والاهتمامات ( تصنيف IAB للجمهور 1.1) و بيانات سياقية ( تصنيف IAB للمحتوى 2.2). يمكنك أيضًا إرسال إشارات منظَّمة يوفّرها الناشر، والتي تحدّدها Google، والسماح بإرسال إشارات إضافية.
إنشاء ملف JSON لإشارات المستخدم
في المستوى الأعلى، أنشئ عنصر JSON يتضمّن زوجًا واحدًا من المفتاح والقيمة. يجب أن يكون المفتاح
PublisherProvidedTaxonomySignals
، ويجب أن تكون قيمته صفيفًا
من العناصر. يجب أن يحتوي كل كائن في الصفيف على زوجَي المفتاح/القيمة:
مفتاح
taxonomy
الذي يقبل القيم التالية التي يتم ربطها بمواصفات IAB العامة التالية:IAB_AUDIENCE_1_1
لتصنيف الجمهور 1.1IAB_CONTENT_2_2
لنظام تصنيف المحتوى 2.2
يشير ذلك المصطلح إلى مفتاح
values
مع مصفوفة مقابلة من قيم تصنيف السلسلة.
إنشاء صفيف الإشارات المنظَّمة
بالنسبة إلى الإشارات المنظَّمة، أضِف المفتاح PublisherProvidedStructuredSignals
مع
قيمة لمجموعة من العناصر. ويمكنك إنشاء الكائن استنادًا إلى القائمة التالية
لقيم مفاتيح الإشارة:
تبديل عرض جدول الإشارات المنظَّمة
إشارة | <code" dir="ltr" translate="no">"type" Value</code"> | قيم "single_value" المحتملة |
قيم "values" المحتملة |
---|---|---|---|
نوع خلاصة الصوت | "audio_feed" |
|
timing fixed in amara |
تقييم المحتوى | "content_rating" |
|
timing fixed in amara |
عرض المحتوى | "delivery" |
timing fixed in amara |
|
جودة الإنتاج | "prodq" |
|
timing fixed in amara |
راجِع المثال التالي الذي يستخدم 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)