الإشارات المقدَّمة من الناشر

يمكنك إرسال بيانات الجمهور والسياق على أنّها إشارات مقدَّمة من الناشر (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 مع قيمة لمجموعة من العناصر. ويمكنك إنشاء الكائن استنادًا إلى القائمة التالية لقيم مفاتيح الإشارة:

تبديل عرض جدول الإشارات المنظَّمة

إشارة <code" dir="ltr" translate="no">"type" Value</code"> قيم "single_value" المحتملة قيم "values" المحتملة
نوع خلاصة الصوت "audio_feed"
  • "af_1": موسيقى
  • "af_2": البث
  • "af_3": بودكاست
timing fixed in amara
تقييم المحتوى "content_rating"
  • "cr_1": أخضر
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
timing fixed in amara
عرض المحتوى "delivery" timing fixed in amara
  • "cd_1": البث
  • "cd_2": متدرّجة
  • "cd_3": تنزيل
جودة الإنتاج "prodq"
  • "pq_1": تم إنتاجه بشكل احترافي
  • "pq_2": مستهلك
  • "pq_3": المحتوى من إنشاء المستخدمين
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)