ফ্রিকোয়েন্সি দ্বারা একটি সৃজনশীল নির্বাচন করুন

একটি URL নির্বাচন করতে একটি শেয়ার্ড স্টোরেজ ওয়ার্কলেট চালান এবং এটিকে একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করুন।

শেয়ার্ড স্টোরেজ API হল সাধারণ উদ্দেশ্যে, ক্রস-সাইট স্টোরেজের জন্য একটি প্রাইভেসি স্যান্ডবক্স প্রস্তাব, যা অনেক সম্ভাব্য ব্যবহারের ক্ষেত্রে সমর্থন করে। একটি উদাহরণ হল ফ্রিকোয়েন্সি নিয়ন্ত্রণ, যা Chrome বিটা 104.0.5086.0 এবং পরবর্তী সংস্করণে পরীক্ষার জন্য উপলব্ধ।

সঞ্চিত ডেটার উপর ভিত্তি করে প্রদত্ত তালিকা থেকে একটি URL নির্বাচন করতে একটি ওয়ার্কলেট স্ক্রিপ্ট চালান এবং তারপর সেই URLটিকে একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করুন। ফ্রিকোয়েন্সি সীমায় পৌঁছে গেলে নতুন বিজ্ঞাপন বা অন্যান্য সামগ্রী নির্বাচন করতে এটি ব্যবহার করা যেতে পারে।

ফ্রিকোয়েন্সি অনুসারে সৃজনশীল নির্বাচন পরীক্ষা করুন

শেয়ার্ড স্টোরেজ এবং ফেন্সড ফ্রেমের মাধ্যমে ফ্রিকোয়েন্সি অনুসারে সৃজনশীল নির্বাচন পরীক্ষা করতে, নিশ্চিত করুন যে আপনি Chrome 104.0.5086.0 বা তার পরবর্তী সংস্করণ ব্যবহার করছেন। chrome://settings/adPrivacy এর অধীনে সমস্ত বিজ্ঞাপন গোপনীয়তা API সক্ষম করুন।

আপনি কমান্ড লাইনে --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames ফ্ল্যাগ ব্যবহার করেও Shared Storage সক্ষম করতে পারেন।

কোড নমুনা নিয়ে পরীক্ষা-নিরীক্ষা করুন

একটি অস্বচ্ছ URL নির্বাচন এবং তৈরি করতে, শেয়ার্ড স্টোরেজ ডেটা পড়ার জন্য একটি ওয়ার্কলেট মডিউল নিবন্ধন করুন। ওয়ার্কলেট ক্লাসটি আটটি পর্যন্ত URL এর একটি তালিকা পায় এবং তারপর নির্বাচিত URL এর সূচী ফেরত দেয়।

যখন ক্লায়েন্ট sharedStorage.selectURL() কল করে, তখন ওয়ার্কলেটটি একটি অস্বচ্ছ URL কার্যকর করে এবং একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করার জন্য ফেরত দেয়।

ধরুন, আপনি একজন ব্যবহারকারী কতবার কোনও বিজ্ঞাপন বা কন্টেন্ট দেখেছেন তার ফ্রিকোয়েন্সির উপর ভিত্তি করে রেন্ডার করার জন্য একটি ভিন্ন বিজ্ঞাপন বা কন্টেন্ট নির্বাচন করতে চান। আপনি একজন ব্যবহারকারী কতবার কোনও কন্টেন্ট দেখেছেন তা গণনা করতে পারেন এবং সেই মানটি শেয়ার্ড স্টোরেজে সংরক্ষণ করতে পারেন। একবার স্টোর হয়ে গেলে, শেয়ার্ড স্টোরেজে থাকা মানটি আপনার জন্য বিভিন্ন উৎসে উপলব্ধ হয়ে যায়।

তারপর, শেয়ার্ড স্টোরেজ ওয়ার্কলেট শেয়ার্ড স্টোরেজের মানগুলি পড়ে এবং প্রতিটি অতিরিক্ত ভিউয়ের সাথে কাউন্টার বৃদ্ধি করে। যদি গণনা পূর্বনির্ধারিত সীমাতে না পৌঁছায়, তাহলে আপনি যে কন্টেন্টটি রেন্ডার করতে চান তা ফেরত পাঠানো হয় (সূচক 1 )। যদি না হয়, তাহলে ডিফল্ট URL ফেরত পাঠানো হয় (সূচক 0 )।

এই উদাহরণে:

  • creative-selection-by-frequencyjs কন্টেন্ট প্রযোজক বা বিজ্ঞাপনদাতার আইফ্রেমের মাধ্যমে লোড করা হয় এবং শেয়ার্ড স্টোরেজ ওয়ার্কলেট লোড করার জন্য এবং ফিরে আসা অস্বচ্ছ উৎসটিকে একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করার জন্য দায়ী।
  • creative-selection-by-frequency-worklet.js হল শেয়ার্ড স্টোরেজ ওয়ার্কলেট যা ফ্রিকোয়েন্সি গণনা পড়ে কোন কন্টেন্ট বা বিজ্ঞাপন সৃজনশীলের জন্য কোন URL ফেরত পাঠানো হবে তা নির্ধারণ করে।

ফ্রিকোয়েন্সি অনুসারে সৃজনশীল-নির্বাচন.জেএস

// 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();

ফ্রিকোয়েন্সি-ওয়ার্কলেট.জেএস অনুসারে সৃজনশীল-নির্বাচন

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await 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 sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

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

কেস ব্যবহার করুন

সিলেক্ট ইউআরএল এপিআই-এর জন্য সমস্ত উপলব্ধ ব্যবহারের ক্ষেত্রে এই বিভাগে পাওয়া যাবে। আমরা প্রতিক্রিয়া পেতে এবং নতুন পরীক্ষার কেস আবিষ্কার করার সাথে সাথে আমরা উদাহরণ যোগ করা চালিয়ে যাব।

অংশগ্রহণ করুন এবং মতামত শেয়ার করুন

মনে রাখবেন যে Select URL API প্রস্তাবটি সক্রিয় আলোচনা এবং উন্নয়নাধীন এবং পরিবর্তন সাপেক্ষে।

আমরা Select URL API সম্পর্কে আপনার মতামত শুনতে আগ্রহী।