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

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

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

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

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

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

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

الخطوة 2: طلب استبعاد إعلانات تثبيت التطبيق

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

  • بالنسبة إلى حالة استخدام الإعلانات السياقية، وهي حالة الاستخدام الرئيسية لفلترة إعلانات تثبيت التطبيقات، يتم تضمين معلومات الفلترة كجزء من بيانات الإعلانات التي يمكن للمشترين تقديمها إلى البائعين عند الردّ على عرض سعر سياقي خارج الجمهور المحمي. تتوقّع ميزة "الجمهور المحمي" أن يتم عرض معلومات الفلترة كجزء من الاستجابة السياقية، تمامًا مثل أي بيانات وصفية أخرى خاصة بالإعلان.
  • بالنسبة إلى حالة استخدام تجديد النشاط التسويقي، تتوقّع ميزة Protected Audience تضمين معلومات filtering في شريحة الجمهور المخصّصة. تتوفّر فرصتان لتحقيق هذا الدمج: عند دمج شريحة الجمهور وعند جلب بيانات شريحة جمهور جديدة كجزء من عملية تعديل شريحة الجمهور. يجب أن يبدو طلب فلترة إعلانات تثبيت التطبيقات على النحو التالي ضمن عنصر AdData JSON: 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 above
                      .setAd(myAdData)
                      .build()))
    .build();
// Invoke ad services API to initiate ad selection workflow.
selectAds(myAdSelectionConfig);

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

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

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

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