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

يمكنك إرسال بيانات الجمهور والبيانات السياقية على أنّها إشارات مقدَّمة من الناشر (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": أمبير
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 باستخدام AdsRequest:

  • أنشئ سلسلة JSON تتضمّن اهتمامات المستخدم أو سلوكه أو بياناته السياقية.
  • أنشِئ سلسلة ASCII بترميز Base64 من سلسلة JSON أعلاه.
  • أضِف السلسلة المشفّرة إلى عنوان URL لعلامة الإعلان باستخدام المَعلمة &ppsj=.
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();
}

String userSignals = userSignalsObject.toString();

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);
}

String finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;