Sıklığa göre reklam öğesi seçme

Bir URL seçmek ve bunu sınırlanmış bir çerçevede oluşturmak için bir Paylaşılan Depolama iş akışı çalıştırın.

Shared Storage API bir gizlilik ayarıdır. Pek çok özelliği destekleyen genel amaçlı, siteler arası depolamaya yönelik korumalı alan teklifi örneklerden bahsetmek istiyorum. Bir örnek olarak, RACI matrisinde Chrome Beta 104.0.5086.0 ve sonraki sürümlerde test edebilirsiniz.

Depolanan ve ardından bu URL'yi sınırlanmış bir çerçevede oluşturun. Bu özellik, video reklam gösterimini yeni reklamlar veya diğer içerikler gösterilebilir.

Reklam öğesi seçimini sıklığa göre test edin

Paylaşılan Depolama ve Kısıtlanmış Çerçeveler ile reklam öğesi seçimini sıklığa göre test etmek için (Chrome 104.0.5086.0 veya sonraki sürümleri kullanıyorsanız). chrome://settings/adPrivacy altındaki tüm reklam gizliliği API'lerini etkinleştirin.

Paylaşılan Depolama Alanı'nı, komut satırındaki --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames işaretini kullanarak da etkinleştirebilirsiniz.

Kod örnekleriyle denemeler yapma

Opak bir URL seçmek ve oluşturmak için paylaşılan verileri okumak üzere bir işlet modülü kaydedin depolama alanı verileridir. Çalışma alanı sınıfı en fazla sekiz URL'den oluşan bir liste alır ve ardından seçilen URL'nin dizinini döndürür.

İstemci sharedStorage.selectURL() adlı kullanıcıyı çağırdığında, iş akışı yürütülür ve çitli bir çerçeveye oluşturulacak opak bir URL döndürür.

Bir kullanıcının reklamı veya içeriği daha önce görüntüleme sıklığına bağlı olarak oluşturmak için farklı bir reklam veya içerik seçmek istediğinizi varsayalım. Bir kullanıcının bir içeriği kaç kez gördüğünü sayabilir ve bu değeri paylaşılan depolama alanında depolayabilirsiniz. Paylaşılan depolama alanındaki değer depolandıktan sonra farklı kaynaklarda sizin için kullanılabilir hale gelir.

Daha sonra, paylaşılan depolama iş akışı paylaşılan depolama alanındaki değerleri okur ve sayacı her ek görünümde artırır. Sayı önceden tanımlanmış sınıra ulaşmamışsa oluşturmak istediğiniz içerik döndürülür (dizin 1). Aksi takdirde, varsayılan URL döndürülür (0 dizini).

Bu örnekte:

  • creative-selection-by-frequencyjs, içerik üreticisinin veya reklamverenin iframe'i aracılığıyla yüklenir ve paylaşılan depolama iş akışını yüklemek ve döndürülen opak bir çerçeveye yerleştireceğiz.
  • creative-selection-by-frequency-worklet.js, sıklık sayısını kullanır.

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

Kullanım alanları

Seçili URL API'si için kullanılabilen tüm kullanım alanlarını bu bölümde bulabilirsiniz. Geri bildirim aldıkça ve yeni test örnekleri keşfettikçe örnekler eklemeye devam edeceğiz.

Etkileşim kurma ve geri bildirim paylaşma

Seçili URL API teklifinin aktif olarak tartışıldığını ve geliştirildiğini ve değişiklik yapılabileceğini unutmayın.

Seçili URL API'si hakkındaki düşüncelerinizi öğrenmek isteriz.

Gelişmeleri takip edin

  • Posta Listesi: Seçili URL ve Paylaşılan Depolama API'leri ile ilgili en son güncellemeler ve duyurular için posta listemize abone olun.

Yardıma mı ihtiyacınız var?