فلترة إعلانات تثبيت التطبيقات للجمهور المحمي

عادةً ما يتمّ زيادة عمليات تثبيت التطبيقات الجديدة على الأجهزة الجوّالة من خلال "إعلانات تثبيت التطبيقات". لزيادة عائد الاستثمار من إنفاقك الإعلاني إلى أقصى حدّ، من المستحسن عدم عرض إعلان لتثبيت تطبيق على الأجهزة التي تم تثبيت التطبيق نفسه عليها. في هذا الاقتراح، نشير إلى هذه الممارسة باسم "فلترة إعلانات تثبيت التطبيقات".

يقترح هذا المستند طريقة تتيح ميزة "الجمهور المحمي" على Android فلترة الإعلانات السياقية، وخاصةً إعلانات تثبيت التطبيقات، بطريقة تحافظ على الخصوصية. للمشاركة، يجب أن يوافق التطبيق على الجهاز صراحةً على فلترة الإعلانات التي تؤدي إلى تثبيت التطبيق. أثناء اختيار الإعلان، يتم استبعاد الإعلانات المرشّحة استنادًا إلى قائمة التطبيقات المثبَّتة على الجهاز والتي تعرفها تكنولوجيا الإعلان.

لا تظهر قائمة التطبيقات المثبَّتة إلا ضمن مسار اختيار الإعلان، وتعتمد على منصة الشراء للإشارة إلى أنّه يجب فلترة إعلان معيّن استنادًا إلى توفّر تطبيق على الجهاز.

لإعداد فلترة "إعلانات تثبيت التطبيقات"، اتّبِع الخطوات التالية:

الخطوة 1: تسجيل التطبيق لتفعيل فلترة إعلانات تثبيت التطبيقات

لتفعيل فلترة "الإعلانات عن تثبيت التطبيقات"، يستدعي مطوّر التطبيق واجهة برمجة التطبيقات الخاصة بتسجيل التطبيق registerForAdFiltering من تطبيقه أو حزمة تطوير البرامج (SDK) الخاصة بتقنية الإعلان، مع قائمة تتضمّن أسماء النطاقات eTLD+1 الخاصة بمشترين في تقنية الإعلان. ويتيح ذلك للمشترين المدرَجين في القائمة، وهؤلاء المشترين فقط، فلترة الإعلانات استنادًا إلى حالة تثبيت التطبيق، سواء بشكل مباشر أو باستخدام حزمة تطوير البرامج (SDK) الخاصة بتكنولوجيا الإعلان. يمنح التسجيل مطوّر التطبيق تحكّمًا كاملاً في ما إذا كان تطبيقه سيشارك في فلترة الإعلانات على التطبيقات التي يتم تثبيتها أم لا. java void registerForAdFiltering(List<AdTechIdentifier> buyers);

الخطوة 2: طلب فلترة الإعلانات التي تؤدي إلى تثبيت التطبيقات

عندما يتمّ أخذ إعلان في الاعتبار لتقديم عروض أسعار، يمكن للمشترين اختيار وضع علامة على الإعلان ليتمّ استبعاده استنادًا إلى حالة تثبيت التطبيق. ويتم ذلك من خلال تضمين اسم حزمة التطبيق في البيانات الوصفية للإعلان. يُعدّ طلب فلترة الإعلانات على التطبيقات التي يتم تثبيتها جزءًا من بيانات الإعلانات التي يتم إدخالها في عملية مزاد Protected Audience API. يتم إنشاء بيانات الإعلانات هذه بشكل مختلف استنادًا إلى ما إذا كان الإعلان سياقيًا أو يستهدف تجديد النشاط التسويقي.

  • بالنسبة إلى حالة استخدام الإعلانات السياقية، وهي حالة الاستخدام الرئيسية لفلترة الإعلانات التي تحثّ على تثبيت التطبيق، يتم تضمين معلومات الفلترة كجزء من بيانات الإعلانات التي يمكن للمشترين تقديمها إلى البائعين عند الردّ على عرض أسعار سياقي خارج Protected Audience. تتوقّع Protected Audience أن يتم عرض معلومات الفلترة كجزء من الاستجابة السياقية، تمامًا مثل أي بيانات وصفية أخرى خاصة بالإعلان.
  • بالنسبة إلى حالة استخدام تجديد النشاط التسويقي، تتوقّع Protected Audience تضمين معلومات الفلترة في شريحة الجمهور المخصّصة. هناك فرصتان لإجراء هذا التضمين: عند الانضمام إلى شريحة الجمهور وعند جلب بيانات جديدة خاصة بشريحة الجمهور كجزء من عملية تعديل شريحة الجمهور. يجب أن يبدو طلب فلترة "الإعلانات عن تثبيت التطبيقات" على النحو التالي ضمن عنصر JSON AdData: json { "render_uri": "https://..", "metadata": {..}, "filters": { "app_install": { "app_package_names": ["app1.package", "app2.package"] } } }

الخطوة 3: فلترة "إعلانات تثبيت التطبيقات" أثناء اختيار الإعلان

أثناء طلب الإعلان، يمكن للمشتري إرسال إعلانات متعددة إلى البائع مع معلومات الفلترة حتى يمكن فلترة الإعلانات الخاصة بالتطبيقات المثبَّتة. على جهة البيع إدخال معلومات الفلترة كجزء من إعدادات الدالة selectAds في الحقل adData. يتوقّع Android تنسيق رسالة مشابهًا للتنسيق التالي.

AdData myAdData = new AdData.Builder()
        .setRenderUri(Uri.parse("https://.."))
        .setMetadata("{...}")
        .setFilters(new AdFilters.Builder()
                .setAppInstalledFilter(new AppInstalledFilter.Builder()
                    .setPackageNames(ImmutableList.of("app1.package", "app2.package"))
                    .build())
                .build())
        .build();
AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig.Builder()
    .setSeller(AdTechIdentifier.fromString("example-ssp1.com"))
    .setDecisionLogicUri(Uri.parse("https://..."))
    ...
    .setContextualAds(ImmutableList.of(new ContextualAd.Builder()
                      .setBuyer(AdTechIdentifier.fromString("example.com"))
                      .setReportingUri("https://example.com/reporting")
                      .setBid(20)
                      // myAdData could be taken from the JSON defined earlier
                      .setAd(myAdData)
                      .build()))
    .build();
// Invoke ad services API to initiate ad selection workflow.
selectAds(myAdSelectionConfig);

تتم معالجة الفلترة ضمن واجهة برمجة التطبيقات selectAds. تستبعد فلاتر Protected Audience الإعلان إذا كان التطبيق المحدّد في الرسالة يتطابق مع التطبيق في قائمة تثبيت التطبيقات المحدّدة الخاصة بمشترين في تكنولوجيات الإعلان. هناك نتيجتان محتملتان:

  • لم يتم العثور على التطبيق في هذه القائمة، ما يعني أنّه غير مثبَّت وغير مفتوح.
  • يظهر التطبيق في هذه القائمة، ما يعني أنّه مثبّت ومفتوح. إذا رصدت Protected Audience أنّ أحد التطبيقات متوفّر حاليًا، سيتم استبعاد الإعلان من قائمة الإعلانات التي تستخدمها المزاد لتنفيذ scoreAds.

الاعتبارات عند عرض إعلانات مرتبطة بموضوع الصفحة

من خلال فلترة "إعلانات تثبيت التطبيقات"، تبدأ واجهات Protected Audience API في إتاحة فلترة الإعلانات السياقية. من المهم تحديد بعض الأمور في الحالات التي يكون فيها المزاد مزيجًا من الإعلانات السياقية وإعلانات تجديد النشاط التسويقي، أو يتألف بالكامل من الإعلانات السياقية فقط.

  • عند إجراء selectAd مزاد، يمكن للمشتري إدخال قائمة بعناصر ContextualAd. تحتوي هذه العناصر على eTLD+1 الخاص بمشتري الإعلان، وعرض سعر الإعلان، وعنوان URL يشير إلى منطق إعداد التقارير الخاص بالإعلان، وAdData الذي يحتوي على عنوان URL الخاص بمحتوى الإعلان الفعلي، وتوقيع التحقّق الذي يخص المشتري (راجِع توقيع الإعلانات السياقية لمزيد من التفاصيل). يُرجى العِلم أنّه يتم استخدام التنسيق AdData في كلّ من الإعلانات السياقية وإعلانات تجديد النشاط التسويقي.
  • في بداية عملية المزاد، يتم فلترة الإعلانات السياقية وإعلانات تجديد النشاط التسويقي باستخدام مجموعة أسماء الحِزم المحدّدة في AdData.adFilters.appInstallFilters.packageNames. بعد ذلك، يتم تحديد قيم عروض الأسعار لأي إعلانات تجديد نشاط تسويقي، ويتم تسجيل نقاط لكلّ من إعلانات تجديد النشاط التسويقي والإعلانات السياقية باستخدام الدالة scoreAds المقدَّمة. يفوز الإعلان الذي يحصل على أعلى نتيجة. يُرجى العِلم أنّ هذه العملية تعمل حتى في حال عدم توفّر أي إعلانات تجديد النشاط التسويقي.
  • إذا فاز إعلان سياقي بالمزاد وتم تفعيل إعداد تقارير مرات الظهور من خلال التطبيق، ستنزّل Protected Audience دالة JavaScript باسم reportWin() وتنفّذها من عنوان URL لإعداد التقارير المضمّن في بيانات الإعلان السياقي. ويشبه ذلك طريقة إعداد التقارير عن إعلان تجديد النشاط التسويقي الذي يفوز بالمزاد.

    نموذج لوظيفة إعداد التقارير في JavaScript:

    function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
    contextual_signals) {
    let reporting_address = 'https://reporting.example.com';
    return {'status': 0, 'results': {'reporting_uri':
         reporting_address + '?some_signal=' + per_buyer_signals.some_signal} };
    }
    

توقيع الإعلانات السياقية

  • يجب أن يوقّع المشتري على الإعلانات السياقية التي تتضمّن فلترة إعلانات تثبيت التطبيقات. تستخدم المنصّة هذه التوقيع للتحقّق من تكنولوجيا الإعلان التي قدّمت الإعلانات وفلاتر تثبيت التطبيقات التي تستخدم تكنولوجيا الإعلان والتي يجب تطبيقها على الإعلانات. ويتم ذلك لمنع تكنولوجيا إعلانية ضارة من استخدام هوية تكنولوجيا إعلانية أخرى للاستفادة من تسجيل فلترة عمليات تثبيت التطبيقات في التكنولوجيا الإعلانية الأخرى.

  • ستستردّ "مبادرة حماية الخصوصية" هذه المفاتيح من نقطة نهاية تكنولوجيا الإعلان المقدَّمة أثناء التسجيل. ننصحك، كأفضل ممارسة، بتحديث المفاتيح بشكل متكرّر، على ألا يتجاوز ذلك 6 أشهر.

  • ستطلب "مبادرة حماية الخصوصية" من تكنولوجيات الإعلان تأكيد توفّر نقطة النهاية التي تقدّمها تكنولوجيا الإعلان خلال عملية التسجيل. لمزيد من التفاصيل حول الإجراء المطلوب من تكنولوجيات الإعلان الحالية وتكنولوجيات الإعلان التي تم تسجيلها حديثًا، يُرجى الاطّلاع على تعليمات التسجيل.

  • سننشر في المستقبل القريب &quot;دليل المطوّرين&quot; الذي يتضمّن تعليمات أكثر تفصيلاً حول عملية التنفيذ.