اختيار تصميم إعلان حسب معدّل التكرار

شغِّل عامل تشغيل مصغّر على مساحة التخزين المشتركة لاختيار عنوان URL وعرضه في إطار مضمّن.

Shared Storage API هي اقتراح ضمن "مبادرة حماية الخصوصية" مخصّص للاستخدام العام ومساحة التخزين على مواقع إلكترونية متعددة، ويتوافق مع العديد من حالات الاستخدام الممكنة وأحد الأمثلة على ذلك هو التحكم في معدل التكرار، والذي يتوفر للاختبار في الإصدار التجريبي 104.0.5086.0 من Chrome والإصدارات الأحدث.

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

اختبار اختيار تصميم الإعلان حسب معدّل التكرار

لاختبار اختيار تصميم الإعلان حسب معدّل التكرار باستخدام "مساحة التخزين المشتركة" و"الإطارات المضمّنة"، تأكَّد من استخدام Chrome 104.0.5086.0 أو إصدار أحدث. بعد ذلك، فعِّل علامة تجربة واجهات برمجة التطبيقات لإعلانات "مبادرة حماية الخصوصية" على chrome://flags/#privacy-sandbox-ads-apis.

ضبط تجربة واجهات برمجة التطبيقات لإعلانات "مبادرة حماية الخصوصية" على تفعيل لاستخدام واجهات برمجة التطبيقات هذه

يمكنك أيضًا تفعيل "مساحة التخزين المشتركة" باستخدام العلامة --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames في سطر الأوامر.

تجربة عيّنات التعليمات البرمجية

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

عندما يستدعي العميل sharedStorage.selectURL()، يتم تنفيذ العمل المصغَّر وعرض عنوان URL مبهم ليتم عرضه في إطار مضمّن.

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

بعد ذلك، يقرأ العمل الصغير لمساحة التخزين المشتركة القيم في مساحة التخزين المشتركة، ويزيد من العدّاد مع كل طريقة عرض إضافية. إذا لم يصل العدد إلى الحد المحدد مسبقًا، يتم عرض المحتوى الذي تريد عرضه (الفهرس 1). وإذا لم يصل إلى الحد الأقصى، يتم عرض عنوان URL التلقائي (الفهرس 0).

في هذا المثال:

  • يتم تحميل creative-selection-by-frequencyjs من خلال إطار iframe الخاص بمنتجع المحتوى أو المعلِن، وهو مسؤول عن تحميل مهام مساحة التخزين المشتركة الصغيرة وعرض المصدر المغطى الذي تم عرضه في إطار مضمّن مستقل.
  • creative-selection-by-frequency-worklet.js هو وظيفة مساحة التخزين المشتركة التي تقرأ عدد مرات التكرار لتحديد عنوان URL الذي يتم عرضه للمحتوى أو تصميم الإعلان.

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await this.sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await this.sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

حالات الاستخدام

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

اختيار المحتوى

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

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

إنشاء تقارير تلخيصية

جمع المعلومات باستخدام "مساحة التخزين المشتركة" وإنشاء تقرير ملخّص مجمّع صاخب بوابة الإخراج لحالات الاستخدام هذه هي Private Aggregation API.

  • قياس مدى الوصول الفريد: يريد العديد من منتجي المحتوى والمعلنين معرفة عدد المستخدمين الفرديين الذين رأوا المحتوى الخاص بهم. استخدِم "مساحة التخزين المشتركة" لتسجيل المرة الأولى التي يشاهد فيها المستخدم إعلانك أو فيديو مضمّنًا أو جهة نشر، وتمنع الحساب المتكرر لهذا المستخدم نفسه على مواقع إلكترونية مختلفة. يمكنك بعد ذلك استخدام واجهة برمجة التطبيقات Private Aggregation API لإعداد تقرير ملخّص عن مدى وصولك إلى الجمهور.
  • قياس الخصائص الديمغرافية: غالبًا ما يريد منتجو المحتوى فهم الخصائص الديمغرافية للجمهور. يمكنك استخدام "مساحة التخزين المشتركة" لتسجيل البيانات الديمغرافية للمستخدمين في سياق يتوفّر لديك ذلك، مثل الموقع الإلكتروني للطرف الأول، واستخدام التقارير المجمّعة لإعداد تقارير عنها على العديد من المواقع الإلكترونية الأخرى، مثل المحتوى المضمَّن.
  • قياس معدل التكرار بـ K+: في بعض الأحيان، يكون هناك حد أدنى لعدد مرات المشاهدة حتى يتمكن المستخدم من التعرف على محتوى معين أو تذكُّره (غالبًا في سياق مشاهدات الإعلان). يمكنك استخدام مساحة التخزين المشتركة لإنشاء تقارير عن المستخدمين الفريدين الذين شاهدوا محتوى ما لا يقل عن ألف مرة.

التفاعل مع الملاحظات ومشاركتها

يخضع اقتراح مساحة التخزين المشتركة للمناقشة النشطة ويخضع للتغيير في المستقبل. إذا جربت واجهة برمجة التطبيقات هذه ولديك تعليقات، يسعدنا سماعها.