تحسين الحملات الإعلانية باستخدام نموذج "التكلفة لكل تثبيت"

اختيار النظام الأساسي: HTML5 Android iOS tvOS

يمكنكم إرسال بيانات الجمهور والبيانات السياقية كـ إشارات مقدَّمة من الناشر (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": بودكاست
لا تنطبق
تقييم المحتوى "content_rating"
  • "cr_1": الْبَوَّابَة
  • "cr_2": إشراف الأهل مطلوب
  • "cr_3": للبالغين فقط
  • "cr_4": للبالغين فقط
لا تنطبق
إرسال المحتوى "delivery" لا تنطبق
  • "cd_1": البث
  • "cd_2": البث التدريجي
  • "cd_3": التنزيل
جودة الإنتاج "prodq"
  • "pq_1": إنتاج احترافي
  • "pq_2": إنتاج شبه احترافي
  • "pq_3": محتوى من إنشاء المستخدمين
لا تنطبق

اطّلِعوا على المثال التالي الذي يستخدم 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"],
    },
  ],
};

ضبط طلب الإعلان

اتّبِعوا الخطوات التالية لإرسال الإشارات المقدَّمة من الناشر مع 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;