FLEDGE API geliştirici kılavuzu

Bu gönderi, deneysel Protected Audience API'nin mevcut iterasyonuna yönelik teknik bir referanstır.

Protected Audience nedir?

Protected Audience API, yeniden pazarlama ve özel kitle kullanım alanlarını sunmak için bir Özel Korumalı Alan önerisidir. Üçüncü tarafların, kullanıcıların siteler arasında gezinme davranışını izlemek için kullanamayacağı şekilde tasarlanmıştır. API, kullanıcının daha önce ziyaret ettiği web siteleriyle alakalı reklamlar seçmek için tarayıcı tarafından cihaz üzerinde açık artırmalar yapılmasını sağlar.

Protected Audience, TURTLEDOVE teklifleri ailesinde Chromium'da uygulanan ilk denemedir.

Aşağıdaki şemada FLEDGE yaşam döngüsüne genel bir bakış sunulmaktadır:

FLEDGE yaşam döngüsünün her aşamasına genel bakış sunan görsel
FLEDGE yaşam döngüsü.

Protected Audience'ı nasıl deneyebilirim?

Protected Audience demosu

Reklamveren ve yayıncı sitelerinde temel bir Protected Audience dağıtımının adım adım açıklamalı kılavuzunu protected-audience-demo.web.app adresinde bulabilirsiniz.

Demo videosunda, demo kodunun nasıl çalıştığı açıklanmakta ve Protected Audience hata ayıklama için Chrome Geliştirme Araçları'nın nasıl kullanılacağı gösterilmektedir.

Protected Audience kaynak denemesine katılma

Protected Audience, Topics ve Attribution Reporting API'leri için masaüstünde Chrome Beta 101.0.4951.26 ve sonraki sürümlerde Özel Korumalı Alan Alaka ve Ölçüm kaynak denemesi kullanıma sunuldu.

Programa katılmak için kaynak deneme jetonuna kaydolun.

Deneme sürümüne başarıyla kaydolduktan sonra, geçerli bir deneme jetonu sağlayan sayfalarda Protected Audience JavaScript API'yi deneyebilirsiniz. Örneğin, tarayıcıdan bir veya daha fazla ilgi alanı grubuna katılmasını, ardından bir reklam seçip görüntülemek için reklam açık artırması yapmasını isteyebilirsiniz.

Protected Audience demosu, uçtan uca Protected Audience dağıtımının temel bir örneğini sunar.

Protected Audience API kodunu çalıştırmak istediğiniz her sayfa için bir deneme jetonu sağlayın:

  • <head> bölümünde meta etiket olarak:

    <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

  • HTTP üstbilgisi olarak:

    Origin-Trial: TOKEN_GOES_HERE

  • Programatik olarak jeton sağlayarak:

    const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = 'TOKEN_GOES_HERE';
    document.head.append(otMeta);
    

Protected Audience kodunu çalıştıran bir iframe'in (ör. bir ilgi alanı grubu sahibinin navigator.joinAdInterestGroup() çağrısı) kaynağıyla eşleşen bir jeton sağlaması gerekir.

Önerilen İlk Protected Audience Kaynak Deneme Ayrıntıları, ilk denemenin hedefleri hakkında daha fazla ayrıntı sağlar ve hangi özelliklerin desteklendiğini açıklar.

Bu API'yi test etme

Özel Korumalı Alan'ı Chrome Beta 101.0.4951.26 ve sonraki sürümlerde masaüstünde tek bir kullanıcı için test edebilirsiniz:

  • chrome://settings/adPrivacy altındaki tüm reklam gizliliği API'lerini etkinleştirerek
  • Komut satırından işaretler ayarlayarak.

Reklamları iframe'lerde veya çitle çevrili çerçevelerde oluşturma

Reklamlar, hangi işaretlerin ayarlandığına bağlı olarak <iframe> veya <fencedframe> olarak oluşturulabilir.

Reklamları oluşturmak için <fencedframe>'ü kullanmak istiyorsanız:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames

Reklamları oluşturmak için <iframe>'ü kullanmak üzere:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames

Geçici hata ayıklama kaybı/kazanç raporlama yöntemlerini etkinleştirmek için BiddingAndScoringDebugReportingAPI işaretini ekleyin.

Chromium'u işaretlerle çalıştırma başlıklı makalede, Chrome ve Chromium tabanlı diğer tarayıcıları komut satırından çalıştırırken işaretlerin nasıl ayarlanacağı açıklanmaktadır. Protected Audience işaretlerinin tam listesini Chromium Code Search'te bulabilirsiniz.

Chrome'un en yeni sürümünde hangi özellikler desteklenir?

Protected Audience, Protected Audience teklifinin aşağıdaki özelliklerini test etmek için ilk deneme olarak Chromium'da özellik işaretlerinin arkasında kullanıma sunulmaktadır:

  • İlgi alanı grupları: Reklam teklifli sistemini ve oluşturmayı yapılandırmak için ilişkili meta verilerle birlikte tarayıcı tarafından depolanır.
  • Alıcılar (TTP veya reklamveren) tarafından cihaz üzerinde teklif verme: Saklanan ilgi alanı gruplarına ve satıcıdan gelen sinyallere dayanır.
  • Satıcı (SSP veya yayıncı) tarafından cihaz üzerinde reklam seçimi: Açık artırma tekliflerine ve alıcılardan gelen meta verilere dayanır.
  • Çitli çerçevelerin geçici olarak gevşetilmiş bir sürümünde reklam oluşturma: Reklam oluşturma için ağ erişimine ve günlük kaydına izin verilir.

Özellik desteği ve kısıtlamalar hakkında daha fazla bilgi için API açıklama sayfasını inceleyin.

İlgi grubu izinleri

Protected Audience'ın mevcut uygulamasında varsayılan olarak, joinAdInterestGroup()'ün bir sayfanın herhangi bir yerinden (alanlar arası iframe'lerden bile) çağrılmasına izin verilir. Gelecekte, site sahipleri alanlar arası iframe izin politikalarını düzenlemek için zaman bulduğunda, açıklama metninde açıklandığı gibi alanlar arası iframe'lerden gelen çağrılara izin verilmemesi planlanmaktadır.

Key/Value hizmeti

Tarayıcı, Protected Audience reklam açık artırmasının bir parçası olarak, reklam alıcısına bilgi sağlamak için basit anahtar/değer çiftleri döndüren bir anahtar/değer hizmetine erişebilir. Bu bilgiler arasında kalan kampanya bütçesi gibi bilgiler yer alır. Protected Audience teklifi, bu sunucunun "olay düzeyinde günlük kaydı yapmadığını ve bu isteklerden kaynaklanan başka yan etkileri olmadığını" zorunlu kılar.

Protected Audience Key/Value hizmet kodu artık Privacy Sandbox GitHub deposunda mevcuttur. Bu hizmet, Chrome ve Android geliştiricileri tarafından kullanılabilir. Durum güncellemesi için duyuru blog yayınına göz atın. Protected Audience Key/Value hizmeti hakkında daha fazla bilgi edinmek için API açıklamalı ve güven modeli açıklamalı makaleleri inceleyin.

İlk test için "Kendi Sunucunuzu Getirin" modeli kullanılır. Reklam teknolojilerinin uzun vadede gerçek zamanlı verileri almak için güvenilir yürütme ortamlarında çalışan açık kaynak Protected Audience Anahtar/Değer hizmetlerini kullanması gerekecek.

Ekosistemin test için yeterli zamana sahip olmasını sağlamak amacıyla, üçüncü taraf çerezlerinin desteğinin sonlandırılmasından bir süre sonraya kadar açık kaynak anahtar/değer hizmetlerinin veya TEE'lerin kullanılması gerekmeyecektir. Bu geçiş gerçekleşmeden önce geliştiricilerin test etmeye ve kullanmaya başlaması için önemli bir bildirimde bulunacağız.

Özellik desteğini algılama

API'yi kullanmadan önce, tarayıcının API'yi destekleyip desteklemediğini ve dokümanda kullanılıp kullanılamayacağını kontrol edin:

'joinAdInterestGroup' in navigator &&
  document.featurePolicy.allowsFeature('join-ad-interest-group') &&
  document.featurePolicy.allowsFeature('run-ad-auction') ?
  console.log('navigator.joinAdInterestGroup() is supported on this page') :
  console.log('navigator.joinAdInterestGroup() is not supported on this page');

Protected Audience'i nasıl devre dışı bırakabilirim?

Protected Audience API'ye erişimi site sahibi veya bireysel kullanıcı olarak engelleyebilirsiniz.

Siteler erişimi nasıl kontrol edebilir?

Protected Audience, Protected Audience işlevinin kullanılabilmesi için sitelerin bir İzin Politikası belirlemesini zorunlu kılacaktır. Bu, sitenin bilgisi olmadan API'nin keyfi üçüncü taraflarca kullanılamamasını sağlar. Ancak ilk kaynak denemesi sırasında test sürecini kolaylaştırmak için bu şart varsayılan olarak atlanmaktadır. Test döneminde Protected Audience işlevini açıkça devre dışı bırakmak isteyen siteler, erişimi engellemek için ilgili izin politikasını kullanabilir.

Bağımsız olarak ayarlanabilen iki Korunan Kitle izin politikası vardır:

  • join-ad-interest-group, ilgi alanı gruplarına tarayıcı ekleme işlevini etkinleştirir/devre dışı bırakır
  • run-ad-auction, cihaz üzerinde açık artırma çalıştırma işlevini etkinleştirir/devre dışı bırakır

Protected Audience API'lerine erişim, bir HTTP yanıt başlığında aşağıdaki izin politikası belirtilerek birinci taraf bağlamlarında tamamen devre dışı bırakılabilir:

Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()

Bir iframe öğesine aşağıdaki allow özelliğini ekleyerek iframe'de API'lerin kullanımını devre dışı bırakabilirsiniz:

<iframe src="https://example.com" allow="join-ad-interest-group 'none'; run-ad-auction 'none'"></iframe>

Daha fazla bilgi için Önerilen İlk Protected Audience Kaynak Deneme İzinleri-Politika bölümüne bakın.

Kullanıcı onayı isteme

Kullanıcılar, aşağıdaki mekanizmalardan herhangi birini kullanarak Protected Audience API'ye ve diğer Privacy Sandbox özelliklerine erişimi engelleyebilir:

  • Chrome Ayarları'nda Privacy Sandbox denemelerini devre dışı bırakın: Ayarlar > Güvenlik ve gizlilik > Privacy Sandbox. Bu dokümana chrome://settings/adPrivacy adresinden de erişebilirsiniz.
  • Chrome Ayarları'nda üçüncü taraf çerezlerini devre dışı bırakın: Ayarlar > Güvenlik ve gizlilik.
  • chrome://settings/cookies bölümünde Çerezler ve diğer site verileri'ni "Üçüncü taraf çerezlerini engelle" veya "Tüm çerezleri engelle" olarak ayarlayın.
  • Gizli modu kullanın.

Protected Audience'ın açıklamalı sayfasında API tasarım öğeleri hakkında daha fazla ayrıntı sağlanmakta ve API'nin gizlilik hedeflerini nasıl karşılamayı amaçladığı açıklanmaktadır.

Protected Audience iş parçacıklarında hata ayıklama

Chrome Canary 98.0.4718.0 sürümünden itibaren Chrome DevTools'da Protected Audience iş parçacıklarında hata ayıklama yapılabilir.

İlk adım, Kaynaklar panelindeki Etkinlik Dinleyicisi Kesme Noktaları bölmesinde yeni bir kategori aracılığıyla kesme noktaları ayarlamaktır.

Chrome Canary&#39;daki Geliştirici Araçları&#39;nın ekran görüntüsü. Kaynaklar panelinde Etkinlik İşleyici Ayrılma Noktaları bölmesi vurgulanmıştır.
   Reklam Açık Artırması İş Akışı altında Teklif Verenin Teklif Verme Aşaması Başlangıcı seçilidir.

Bir kesme noktası tetiklendiğinde, çalışma aracı komut dosyasının üst düzeyindeki ilk ifadeden önce yürütme duraklatılır. Teklif verme/puanlama/raporlama işlevine ulaşmak için normal kesme noktalarını veya adım komutlarını kullanabilirsiniz.

Canlı iş akışı komut dosyaları da Mesaj dizileri panelinde gösterilir.

Chrome Canary&#39;daki DevTools&#39;un ekran görüntüsü. Kaynaklar panelindeki Mesaj dizileri bölmesi vurgulanmış ve duraklatılmış mevcut iş parçacığı komut dosyası gösteriliyor.

Bazı iş parçacıkları paralel olarak çalışabileceğinden, birden fazla iş parçacığı "duraklatıldı" durumunda olabilir. İş parçacıkları arasında geçiş yapmak ve uygun olduğunda bunları devam ettirmek veya daha ayrıntılı incelemek için iş parçacığı listesini kullanabilirsiniz.

Protected Audience etkinliklerini gözlemleme

Chrome Geliştirici Araçları'ndaki Uygulama panelinden Protected Audience ilgi alanı grubunu ve açık artırma etkinliklerini gözlemleyebilirsiniz.

Protected Audience'un etkin olduğu bir tarayıcıda Protected Audience demo alışveriş sitesini ziyaret ederseniz DevTools, join etkinliği hakkında bilgi gösterir.

Chrome Canary&#39;daki DevTools Uygulama panelinde, Protected Audience ilgi alanı grubuna katılma etkinliği hakkında bilgi gösterilmektedir.

Artık Protected Audience'un etkin olduğu bir tarayıcıda Protected Audience demo yayıncı sitesini ziyaret ettiğinizde DevTools, bid ve win etkinlikleriyle ilgili bilgileri gösterir.

Chrome Canary&#39;daki DevTools Uygulama panelinde Protected Audience açık artırma teklifi ve kazanan etkinlikleri hakkında bilgi gösterilir.

Protected Audience API nasıl çalışır?

Bu örnekte, bir kullanıcı özel bisiklet üreticisinin web sitesine göz atar ve daha sonra bir haber web sitesini ziyaret eder. Bu sırada, bisiklet üreticisinin yeni bisikletinin reklamı gösterilir.

1. Bir kullanıcı reklamveren sitesini ziyaret eder

Dizüstü bilgisayarındaki tarayıcıda özel bisiklet üreticisinin sitesini ziyaret eden bir kişiyi gösteren görsel.

Bir kullanıcının, özel bisiklet üreticisinin (bu örnekte reklamveren) web sitesini ziyaret ettiğini ve el yapımı çelik bisikletin ürün sayfasında biraz zaman geçirdiğini varsayalım. Bu sayede bisiklet üreticisi yeniden pazarlama fırsatı elde eder.

2. Kullanıcının tarayıcısından ilgi alanı grubu eklemesi istenir

Dizüstü bilgisayarındaki tarayıcıda bir siteyi görüntüleyen bir kişiyi gösteren görsel. Tarayıcınızda joinAdInterestGroup() JavaScript kodu çalışıyor.

Açıklama bölümü: Tarayıcılar İlgi Alanı Gruplarını Kaydeder

Reklamverenin talep tarafı platformu (DSP) (veya reklamverenin kendisi) navigator.joinAdInterestGroup()'yi çağırır ve tarayıcıdan, tarayıcının üyesi olduğu grup listesine bir ilgi alanı grubu eklemesini ister. Bu örnekte, grubun adı custom-bikes, sahibi ise dsp.example'dır. İlgi alanı grubu sahibi (bu durumda TTP), 4. adımda açıklanan reklam açık artırmasında alıcı olur. İlgi alanı grubu üyeliği, tarayıcı tarafından kullanıcının cihazında depolanır ve tarayıcı tedarikçisiyle veya başka biriyle paylaşılmaz.

joinAdInterestGroup() için aşağıdakilerden izin alınması gerekir:

  • Ziyaret edilen site
  • İlgi grubu sahibi

Örneğin: malicious.example'nin, sahibi dsp.example olan joinAdInterestGroup()'yi dsp.example'nin izni olmadan çağırması mümkün olmamalıdır.

Ziyaret edilen siteden izin

Aynı kaynak: Varsayılan olarak, ziyaret edilen siteyle aynı kaynaktan (yani geçerli sayfanın üst düzey çerçevesiyle aynı kaynaktan) gelen joinAdInterestGroup() çağrıları için izin dolaylı olarak verilir. Siteler, joinAdInterestGroup() çağrılarını devre dışı bırakmak için Protected Audience izin politikası üstbilgisi join-ad-interest-group yönergesini kullanabilir.

Kaynaklar arası: joinAdInterestGroup() işlevi, geçerli sayfadan farklı kaynaklardan yalnızca ziyaret edilen sitede, kaynakta farklı olan iframe'lerden joinAdInterestGroup() çağrılarına izin veren bir izin politikası ayarlanmışsa çağrılabilir.

İlgi alanı grubu sahibinden izin

İlgi alanı grubu sahibi izni, ilgi alanı grubunun sahibiyle aynı köke sahip bir iFrame'den joinAdInterestGroup() çağrılarak dolaylı olarak verilir. Örneğin, bir dsp.example iframe, dsp.example'ye ait ilgi alanı grupları için joinAdInterestGroup()'i çağırabilir.

joinAdInterestGroup()'ün, sahibinin alanındaki bir sayfada veya iFrame'de çalışabileceği ya da .well-known URL'sinde bir liste kullanılarak diğer alanlara atanabileceği öneriliyor.

navigator.joinAdInterestGroup() işlevini kullanma

API'nin nasıl kullanılabileceğine dair bir örneği aşağıda bulabilirsiniz:

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  dailyUpdateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

İşleve iletilen interestGroup nesnesi en fazla 50 KB boyutunda olmalıdır. Aksi takdirde çağrı başarısız olur. İkinci parametre, ilgi alanı grubunun süresini belirtir ve bu süre en fazla 30 gün olabilir. Ardışık çağrılar, daha önce depolanan değerlerin üzerine yazar.

gerekir.

İlgi alanı grubu özellikleri

Mülk Zorunlu Örnek Rol
owner Zorunlu 'https://dsp.example' İlgi alanı grubu sahibinin kaynağı.
name Zorunlu 'custom-bikes' İlgi alanı grubunun adı.
biddingLogicUrl** İsteğe bağlı* 'https://dsp.example/bid/custom-bikes/bid.js' Worklet'te çalıştırılan teklifli sistem JavaScript'i için URL.
biddingWasmHelperUrl** İsteğe bağlı* 'https://dsp.example/bid/custom-bikes/bid.wasm' biddingLogicUrl tarafından yönlendirilen WebAssembly kodunun URL'si.
dailyUpdateUrl** İsteğe bağlı 'https://dsp.example/bid/custom-bikes/update' İlgi alanı grubu özelliklerini güncellemek için JSON döndüren URL. (İlgi alanı grubunu güncelleme bölümüne bakın.)
trustedBiddingSignalsUrl** İsteğe bağlı 'https://dsp.example/trusted/bidding-signals' Teklif verenin güvenilir sunucusuna gönderilen anahtar/değer isteklerinin temel URL'si.
trustedBiddingSignalsKeys İsteğe bağlı ['key1', 'key2' ...] Anahtar/değer güvenilir sunucusuna gönderilen istekler için anahtarlar.
userBiddingSignals İsteğe bağlı {...} Sahibin teklif verme sırasında kullanabileceği ek meta veriler.
ads İsteğe bağlı* [bikeAd1, bikeAd2, bikeAd3] Bu ilgi alanı grubu için oluşturulabilecek reklamlar.
adComponents İsteğe bağlı [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2] Birden fazla parçadan oluşan reklamlar için bileşenler.

* owner ve name hariç tüm özellikler isteğe bağlıdır. biddingLogicUrl ve ads özellikleri isteğe bağlıdır ancak açık artırmaya katılmak için gereklidir. Bu özellikler olmadan ilgi alanı grubu oluşturmanın bazı kullanım alanları olabilir: Örneğin, bir ilgi alanı grubu sahibi, henüz yayınlanmayan bir kampanya veya gelecekte başka bir kullanım için bir ilgi alanı grubuna tarayıcı eklemek isteyebilir ya da reklam bütçesi geçici olarak tükenmiş olabilir.

** biddingLogicUrl, biddingWasmHelperUrl, dailyUpdateUrl ve trustedBiddingSignalsUrl URL'leri, sahiple aynı kaynağa sahip olmalıdır. ads ve adComponents URL'lerinde böyle bir kısıtlama yoktur.

İlgi alanı grubu özelliklerini güncelleme

dailyUpdateUrl, navigator.joinAdInterestGroup()'a iletilen ilgi alanı grubu nesnesine karşılık gelen, ilgi alanı grubu özelliklerini tanımlayan JSON döndüren bir web sunucusunu belirtir. Bu, grubun sahibinin ilgi alanı grubunun özelliklerini düzenli olarak güncellemesi için bir mekanizma sağlar. Mevcut uygulamada aşağıdaki özellikler değiştirilebilir:

  • biddingLogicUrl
  • biddingWasmHelperUrl
  • trustedBiddingSignalsUrl
  • trustedBiddingSignalsKeys
  • ads
  • priority

JSON'da belirtilmeyen alanların üzerine yazılmaz (yalnızca JSON'da belirtilen alanlar güncellenir). navigator.joinAdInterestGroup() çağrıldığında ise mevcut ilgi alanı gruplarının üzerine yazılır.

Güncellemeler mümkün olduğunca yapılır ve aşağıdaki koşullarda başarısız olabilir:

  • Ağ isteği zaman aşımı (şu anda 30 saniye).
  • Diğer ağ hataları.
  • JSON ayrıştırma hatası.

Güncelleme, çok fazla süre boyunca kesintisiz olarak güncelleme yapılıyorsa da iptal edilebilir. Ancak bu durum, iptal edilen (kalan) güncellemeler için herhangi bir hız sınırlaması getirmez. Güncellemeler, günde en fazla bir kez olacak şekilde hız sınırlamasına tabidir. Ağ hataları nedeniyle başarısız olan güncellemeler bir saat sonra yeniden denenir. İnternet bağlantısının kesilmesi nedeniyle başarısız olan güncellemeler ise yeniden bağlantı kurulduktan hemen sonra yeniden denenir.

El ile güncellemeler

Geçerli çerçevenin kaynağına ait ilgi alanı gruplarındaki güncellemeler navigator.updateAdInterestGroups() aracılığıyla manuel olarak tetiklenebilir. Hız sınırlaması, güncellemelerin çok sık yapılmasını önler: navigator.updateAdInterestGroups() için yapılan tekrarlanan çağrılar, hız sınırı dönemi (şu anda bir gün) geçene kadar hiçbir şey yapmaz. navigator.joinAdInterestGroup(), aynı ilgi alanı grubu owner ve name için tekrar çağrılırsa ücret sınırı sıfırlanır.

Otomatik güncellemeler

Bir açık artırma için yüklenen tüm ilgi alanı grupları, açık artırma tamamlandıktan sonra manuel güncellemelerle aynı ücret sınırlamalarına tabi olarak otomatik olarak güncellenir. Açık artırmaya katılan en az bir ilgi alanı grubu olan her sahip için navigator.updateAdInterestGroups(), kaynağı bu sahiple eşleşen bir iframe'den çağrılır.

İlgi alanı grubu için reklam belirtme

ads ve adComponents nesneleri, bir reklam öğesi için URL ve isteğe bağlı olarak teklif verme sırasında kullanılabilecek rastgele meta veriler içerir. Örneğin:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

Alıcılar nasıl teklif verir?

Bir ilgi alanı grubu sahibi tarafından sağlanan biddingLogicUrl adresindeki komut dosyası bir generateBid() işlevi içermelidir. Reklam alanı satıcısı navigator.runAdAuction() işlevini çağırdığında, generatedBid() işlevi, tarayıcı üyesi olduğu her ilgi alanı grubu için bir kez çağrılır (ilgi alanı grubunun sahibi teklif vermeye davet edilmişse). Diğer bir deyişle, generateBid() her aday reklam için bir kez çağrılır. Satıcı, navigator.runAdAuction() parametresine iletilen açık artırma yapılandırması parametresinde bir decisionLogicUrl mülkü sağlar. Bu URL'deki kod, generateBid() tarafından döndürülen tekliflerin her birini puanlamak için açık artırmadaki her teklif veren için çalıştırılan bir scoreAd() işlevi içermelidir.

Bir reklam alanı alıcısı tarafından sağlanan biddingLogicUrl adresindeki komut dosyası bir generateBid() işlevi içermelidir. Bu işlev, her aday reklam için bir kez çağrılır. runAdAuction(), her reklamı ilişkili teklifi ve meta verileriyle birlikte tek tek kontrol eder, ardından reklama sayısal bir arzu puanı atar.

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  ...
  return {
    ad: adObject,
    bid: bidValue,
    render: renderUrl,
    adComponents: [adComponentRenderUrl1, ...]
   };
}

generateBid() aşağıdaki bağımsız değişkenleri alır:

  • interestGroup
    Reklam alıcısı tarafından joinAdInterestGroup()'ye iletilen nesne. (İlgi alanı grubu dailyUpdateUrl üzerinden güncellenebilir.)

  • auctionSignals
    Reklam alanı satıcısı tarafından navigator.runAdAuction()'e iletilen açık artırma yapılandırması bağımsız değişkeninin bir özelliği. Bu, sayfa bağlamı (reklam boyutu ve yayıncı kimliği gibi), açık artırma türü (ilk fiyat veya ikinci fiyat) ve diğer meta veriler hakkında bilgi sağlar.

  • perBuyerSignals
    auctionSignals ile aynı şekilde, satıcı tarafından navigator.runAdAuction()'e iletilen açık artırma yapılandırması bağımsız değişkeninin bir özelliğidir. Satıcı, alıcı sunucularına gerçek zamanlı teklif çağrısı gerçekleştiren ve yanıtı geri veren bir SSP ise veya yayıncı sayfası doğrudan alıcının sunucusuyla iletişim kuruyorsa bu, alıcı sunucusundan sayfayla ilgili bağlamsal sinyaller sağlayabilir. Bu durumda alıcı, tahriflere karşı koruma olarak generateBid() işlevinde bu sinyallerin kriptografik imzasını kontrol etmek isteyebilir.

  • trustedBiddingSignals
    Anahtarları ilgi alanı grubu için trustedBiddingSignalsKeys olan ve değerleri trustedBiddingSignals isteğinde döndürülen bir nesne.

  • browserSignals
    Tarayıcı tarafından oluşturulan bir nesnedir. Sayfa bağlamı (ör. satıcının sahte olarak oluşturabileceği geçerli sayfanın hostname değeri) ve ilgi alanı grubunun kendisiyle ilgili veriler (ör. cihaz üzerinde sıklık sınırlamasına izin vermek için grubun daha önce bir açık artırmayı kazandığına dair kayıt) içerebilir.

browserSignals nesnesi aşağıdaki özelliklere sahiptir:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  joinCount: 3,
  bidCount: 17,
  prevWins: [[time1,ad1],[time2,ad2],...],
  wasmHelper: ... /* WebAssembly.Module object based on interest group's biddingWasmHelperUrl. */
  dataVersion: 1, /* Data-Version value from the buyer's Key/Value service response(s). */
}

bid değerini hesaplamak için generateBid()'teki kod, işlevin parametrelerinin özelliklerini kullanabilir. Örneğin:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
    ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    ...
  }
}

generateBid(), dört özelliğe sahip bir nesne döndürür:

  • ad
    Reklamla ilgili keyfi meta veriler (ör. satıcının bu teklif veya reklam öğesiyle ilgili öğrenmeyi beklediği bilgiler). Satıcı](/resources/glossary#ssp), bu bilgileri açık artırmasında ve reklam öğesi kararında kullanır. Satıcı, bu bilgileri açık artırma ve karar mantığında kullanır.

  • bid
    Açık artırmaya girecek olan sayısal bir teklif. Satıcı, farklı alıcılardan gelen teklifleri karşılaştırabilecek durumda olmalıdır.Bu nedenle teklifler, satıcı tarafından seçilen bir birimde (ör. "bin başına ABD doları") olmalıdır. Teklif sıfır veya negatifse bu ilgi alanı grubu satıcının açık artırmasına hiç katılmaz. Bu mekanizmayla alıcı, reklamlarının gösterilebileceği veya gösterilemeyeceği yerlerle ilgili reklamveren kurallarını uygulayabilir.

  • render
    Bu teklif açık artırmayı kazanırsa reklam öğesini oluşturmak için kullanılacak URL veya URL listesi. (API açıklamalı kılavuzundaki Birden Fazla Parçadan Oluşan Reklamlar bölümüne bakın.) Değerin, ilgi alanı grubu için tanımlanan reklamlardan birinin renderUrl ile eşleşmesi gerekir.

  • adComponents
    navigator.joinAdInterestGroup() parametresine iletilen ilgi alanı grubu bağımsız değişkeninin adComponents mülkünden alınan, birden fazla parçadan oluşan reklamlar için 20'ye kadar bileşen içeren isteğe bağlı bir liste.

Bir tarayıcıdan ilgi alanı grubundan ayrılmasını isteme

İlgi alanı grubu sahibi, bir tarayıcının ilgi alanı grubundan kaldırılmasını isteyebilir. Diğer bir deyişle, tarayıcıdan ilgi alanı grubunu üyesi olduğu gruplar listesinden kaldırması istenir.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

Bir kullanıcı, tarayıcıdan ilgi alanı grubu eklemesini istediği siteye geri dönerse ilgi alanı grubu sahibi, tarayıcıdan ilgi alanı grubunu kaldırmasını istemek için navigator.leaveAdInterestGroup() işlevini çağırabilir. Bir reklamın kodu, ilgi alanı grubu için bu işlevi de çağırabilir.

3. Kullanıcı, reklam alanı satan bir siteyi ziyaret eder

Dizüstü bilgisayarındaki tarayıcıda bir haber sitesini ziyaret eden bir kişiyi gösteren görsel. Sitede boş bir reklam alanı var.

Daha sonra kullanıcı, reklam alanı satan bir siteyi (bu örnekte bir haber sitesi) ziyaret eder. Sitede, gerçek zamanlı teklif verme'yi kullanarak programatik olarak sattığı reklam envanteri vardır.

4. Tarayıcıda bir reklam açık artırması düzenlenir

Dizüstü bilgisayarındaki tarayıcıda bir haber web sitesini görüntüleyen bir kişiyi gösteren görsel. Protected Audience API&#39;nin kullanıldığı bir reklam açık artırması gerçekleşiyor.

Açıklama bölümü: Satıcılar Cihaz Üzerinde Açık Artırma Düzenler

Reklam açık artırması büyük olasılıkla yayıncının SSP'si veya yayıncı tarafından yönetilir. Açık artırmanın amacı, mevcut sayfada bulunan tek bir reklam alanı için en uygun reklamı seçmektir. Açık artırmada, tarayıcı üyesi olduğu ilgi alanı gruplarının yanı sıra anahtar/değer hizmetlerindeki reklam alanı alıcılarından ve satıcılardan gelen veriler dikkate alınır.

Reklam alanı satıcısı, navigator.runAdAuction() çağrısını yaparak kullanıcının tarayıcısından reklam açık artırması başlatmasını ister.

Örneğin:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

const auctionResultPromise = navigator.runAdAuction(auctionConfig);

runAdAuction(), reklam açık artırması sonucunu temsil eden bir URN'ye (urn:uuid:<something>) çözüm bulan bir promise döndürür. Bu, yalnızca tarayıcı tarafından oluşturulmak üzere bir çitli çerçeveye aktarıldığında kodu çözülebilir: Yayıncı sayfası, kazanan reklamı denetleyebilir.

decisionLogicUrl komut dosyası, her bir reklamı ilişkili teklifi ve meta verileriyle birlikte tek tek dikkate alır ve ardından reklama sayısal bir arzu puanı atar.

auctionConfig tesis

Mülk Zorunlu Örnek Rol
seller Zorunlu 'https://ssp.example' Satıcının menşei.
decisionLogicUrl Zorunlu 'https://ssp.example/auction-decision-logic.js' Açık artırma iş akışı JavaScript'inin URL'si.
trustedScoringSignalsUrl İsteğe bağlı 'https://ssp.example/scoring-signals' Satıcının güvenilir sunucusunun URL'si.
interestGroupBuyers* Zorunlu ['https://dsp.example', 'https://buyer2.example', ...] Açık artırmada teklif vermesi istenen tüm ilgi grubu sahiplerinin kökenleri.
auctionSignals İsteğe bağlı {...} Sayfa bağlamı, açık artırma türü vb. hakkında satıcı bilgileri
sellerSignals İsteğe bağlı {...} Yayıncı ayarlarına dayalı bilgiler, bağlama dayalı reklam isteği gönderme vb.
sellerTimeout İsteğe bağlı 100 Satıcının scoreAd() komut dosyasının maksimum çalışma süresi (milisaniye).
perBuyerSignals İsteğe bağlı {'https://dsp.example': {...},
  'https://another-buyer.example': {...},
...}
Her alıcıya ait sayfayla ilgili bağlamsal sinyaller (alıcı sunucusundan).
perBuyerTimeouts İsteğe bağlı 50 Belirli bir alıcının generateBid() komut dosyalarının maksimum çalışma zamanı (milisaniye).
componentAuctions İsteğe bağlı [{'seller': 'https://www.some-other-ssp.com',
  'decisionLogicUrl': ..., ...},
  ...]
Bileşen açık artırmaları için ek yapılandırmalar.

* Satıcı, tüm ilgi alanı gruplarının teklif vermesine izin vermek için interestGroupBuyers: '*' değerini belirtebilir. Ardından reklamlar, ilgi alanı grubu sahibinin dahil edilmesi dışındaki ölçütlere göre kabul edilir veya reddedilir. Örneğin, satıcı, politikalarına uygunluğu onaylamak için reklam öğelerini inceleyebilir.

** additionalBids, Protected Audience'ın mevcut uygulamasında desteklenmez. Daha fazla bilgi için Protected Audience açıklama metnindeki Açık Artırma Katılımcıları bölümünü okuyun.

Reklamlar nasıl seçilir?

decisionLogicUrl adresindeki kod (runAdAuction() adresine iletilen açık artırma yapılandırması nesnesinin bir özelliği) bir scoreAd() işlevi içermelidir. Bu işlem, arzu edilirliğini belirlemek için her reklam için bir kez çalıştırılır.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

scoreAd() aşağıdaki bağımsız değişkenleri alır:

  • adMetadata
    Alıcı tarafından sağlanan rastgele meta veriler.
  • bid
    Sayısal bir teklif değeri.
  • auctionConfig
    Açık artırma yapılandırma nesnesi navigator.runAdAuction()'ye iletildi.
  • trustedScoringSignals
    Satıcının reklamla ilgili görüşünü temsil eden, açık artırma sırasında satıcının güvenilir sunucusundan alınan değerler.
  • browserSignals
    Tarayıcının bildiği ve satıcının açık artırma komut dosyasının doğrulamak isteyebileceği bilgiler de dahil olmak üzere tarayıcı tarafından oluşturulan bir nesne:
{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* Data-Version value from the seller's Key/Value service response. */
}

Açık artırma başlamadan önce satıcı, mevcut reklam alanı için en iyi içeriğe dayalı reklamı bulur. scoreAd() mantığının bir parçası, bağlamsal kazananı geçemeyen tüm reklamları reddetmektir.

5. Satıcı ve katılımcı alıcılar, Anahtar/Değer hizmetinden gerçek zamanlı veri alır.

Dizüstü bilgisayarındaki tarayıcıda bir haber web sitesini görüntüleyen bir kişiyi gösteren görsel. Protected Audience API&#39;nin kullanıldığı bir reklam açık artırması gerçekleşiyor. Bir katılımcı, Anahtar/Değer hizmetinden veri alıyor.

Açıklama bölümü: Protected Audience Anahtar/Değer hizmetinden gerçek zamanlı veri getirme.

Reklam açık artırması sırasında reklam alanı satıcısı, navigator.runAdAuction()'e iletilen açık artırma yapılandırması bağımsız değişkeninin trustedScoringSignalsUrl mülkünü ve açık artırmadaki tüm ilgi alanı gruplarının ads ve adComponents alanlarındaki tüm girişlerin renderUrl mülklerinden gelen anahtarları kullanarak bir anahtar/değer hizmetine istek göndererek belirli reklam öğeleriyle ilgili anlık veriler elde edebilir.

Benzer şekilde, reklam alanı alıcıları, navigator.joinAdInterestGroup()'e iletilen ilgi alanı grubu bağımsız değişkeninin trustedBiddingSignalsUrl ve trustedBiddingSignalsKeys özelliklerini kullanarak Anahtar/Değer hizmetinden gerçek zamanlı veri isteyebilir.

runAdAuction() çağrıldığında tarayıcı, her reklam alıcısının güvenilir sunucusuna bir istek gönderir. İsteğin URL'si aşağıdaki gibi görünebilir:

https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
  • Temel URL, trustedBiddingSignalsUrl kaynağından alınır.
  • hostname, tarayıcı tarafından sağlanır.
  • keys değeri trustedBiddingSignalsKeys öğesinden alınır.

Bu isteğinin yanıtı, anahtarların her biri için değerler sağlayan bir JSON nesnesi olacaktır.

6. Kazanan reklam gösterilir

Dizüstü bilgisayarındaki tarayıcıda bir haber web sitesini görüntüleyen bir kişiyi gösteren görsel. Bir bisikletin (%20 indirimli) reklamı gösterilmektedir. Reklamın, korumalı bir çerçevede gösterildiğini gösteren bir kilit de reklamın üzerindedir.

Açıklama bölümü: Tarayıcılar Kazanan Reklamı Oluşturur

Daha önce açıklandığı gibi: runAdAuction() tarafından döndürülen söz, oluşturma için çitli çerçeveye iletilen bir URN ile çözünür ve site kazanan reklamı gösterir.

7. Açık artırma sonucu bildirilir

Açıklama bölümü: Etkinlik düzeyinde raporlama (şimdilik)

Satıcının bildirdiği sonuç

Açıklama bölümü: Oluşturma işlemiyle ilgili satıcı raporları

decisionLogicUrl adresinde satıcının sağladığı JavaScript (scoreAd() da sağlanmıştır) açık artırma sonucunu bildirmek için bir reportResult() işlevi içerebilir.

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

Bu işleve iletilen bağımsız değişkenler şunlardır:

  • auctionConfig
    Açık artırma yapılandırma nesnesi navigator.runAdAuction()'ye iletildi.

  • browserSignals
    Açık artırma hakkında bilgi sağlayan, tarayıcı tarafından oluşturulan bir nesne. Örneğin:

    {
      'topWindowHostname': 'publisher.example',
      'interestGroupOwner': 'https://dsp.example',
      'renderUrl': 'https://cdn.example/url-of-winning-creative.wbn',
      'bid:' <bidValue>,
      'desirability': <winningAdScore>
    }
    

Bu işlevin döndürdüğü değer, kazanan teklif verenin reportWin() işlevi için sellerSignals bağımsız değişkeni olarak kullanılır.

Kazanan teklif veren sonucu bildirir

Açıklama bölümü: Oluşturma ve Reklam Etkinlikleri Hakkında Alıcı Raporları

Kazanan teklif verenin JavaScript'i (generateBid() değerini de sağlayan), açık artırma sonucunu bildirmek için bir reportWin() işlevi içerebilir.

reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
  ...
}

Bu işleve iletilen bağımsız değişkenler şunlardır:

  • auctionSignals ve perBuyerSignals
    Kazanan teklif veren için generateBid()'e aynı değerler iletilir.
  • sellerSignals
    reportResult() işlevinin döndürdüğü değerdir. Satıcıya alıcıya bilgi aktarma fırsatı verir.
  • browserSignals
    Açık artırma hakkında bilgi sağlayan, tarayıcı tarafından oluşturulan bir nesne. Örneğin:

    {
      'topWindowHostname': 'publisher.example',
      'seller': 'https://ssp.example',
      'interestGroupOwner': 'https://dsp.example',
      'interestGroupName': 'custom-bikes',
      'renderUrl': 'https://cdn.example/winning-creative.wbn',
      'bid:' <bidValue>
    }
    

Geçici kayıp/kazanç raporlama özelliğinin uygulanması

Açık artırma raporlaması için Chrome'da geçici olarak kullanılabilen iki yöntem vardır:

  • forDebuggingOnly.reportAdAuctionLoss()
  • forDebuggingOnly.reportAdAuctionWin()

Bu yöntemlerin her biri tek bir bağımsız değişken alır: açık artırma tamamlandıktan sonra getirilecek bir URL. Bunlar hem scoreAd() hem de generateBid() içinde farklı URL bağımsız değişkenleriyle birden çok kez çağrılabilir.

Chrome, yalnızca bir açık artırma tamamlandığında hata ayıklama kaybı/kazanç raporları gönderir. Bir açık artırma iptal edilirse (örneğin, yeni bir gezinme nedeniyle) rapor oluşturulmaz.

Bu yöntemler Chrome'da varsayılan olarak kullanılabilir. Yöntemleri test edebilmek için chrome://settings/adPrivacy altındaki tüm reklam gizliliği API'lerini etkinleştirin. Chrome'u Protected Audience'ı etkinleştirmek için komut satırı işaretleriyle çalıştırıyorsanız BiddingAndScoringDebugReportingAPI işaretini ekleyerek yöntemleri açıkça etkinleştirmeniz gerekir. İşaretçi etkinleştirilmezse yöntemler kullanılabilir durumda kalır ancak hiçbir işlem yapmaz.

8. Bir reklam tıklaması bildirilir

Bir haber web sitesinde, çitle çevrili bir çerçevenin içindeki bisiklet reklamını tıklayan bir kişiyi ve satıcıya ve alıcılara giden rapor verilerini gösteren görsel.

Çitli bir çerçevede oluşturulan bir reklamın tıklaması raporlanır. Bu özelliğin nasıl çalışabileceği hakkında daha fazla bilgi edinmek için Çitli çerçeve reklam raporları başlıklı makaleyi inceleyin.



Aşağıdaki şemada, Protected Audience reklam açık artırmasının her aşaması özetlenmiştir:

Protected Audience reklam açık artırmasının her aşamasına genel bakış sunan görsel


Protected Audience ile TURTLEDOVE arasındaki fark nedir?

Protected Audience, TURTLEDOVE teklifleri ailesinde Chromium'da uygulanan ilk denemedir.

Protected Audience, TURTLEDOVE'un üst düzey ilkelerine uyar. Bazı online reklamcılık, daha önce reklamveren veya reklam ağı ile etkileşimde bulunmuş, ilgilenme olasılığı olan bir kullanıcıya reklam göstermeye dayanıyordu. Geçmişte bu, reklamverenin web sitelerinde gezinirken belirli bir kişiyi tanıması sayesinde işe yaramıştır. Bu da günümüz web'inde temel bir gizlilik endişesidir.

TURTLEDOVE çalışması, bu kullanım alanını ele alırken bazı önemli gizlilik geliştirmeleri sunan yeni bir API sunmaktır:

  • Reklamverenin kullanıcının neye ilgi gösterdiğini düşündüğüyle ilgili bilgiler reklamverenin değil, tarayıcının elindedir.
  • Reklamverenler, ilgi alanına göre reklam yayınlayabilir ancak bu ilgi alanını bir kişiyle ilgili diğer bilgilerle (özellikle de kim olduğu veya hangi sayfayı ziyaret ettiği) birleştiremez.

Protected Audience, TURTLEDOVE'dan ve API'yi kullanacak geliştiricilere daha iyi hizmet vermek için yapılacak değişikliklerle ilgili bir öneri koleksiyonundan doğdu:

  • SPARROW'da: Criteo, güvenilir yürütme ortamında (TEE) çalışan bir ("Güvenlik görevlisi") hizmet modelinin eklenmesini önerdi. Korunan Kitle, gerçek zamanlı veri arama ve toplu raporlama için TEE'lerin daha sınırlı bir şekilde kullanılmasını içerir.
  • NextRoll'un TERN ve Magnite'nin PARRROT teklifleri, alıcıların ve satıcıların cihaz üzerinde açık artırmada sahip olduğu farklı rolleri tanımladı. Protected Audience'ın reklam teklifli sistemi/puanlama akışı bu çalışmaya dayanır.
  • RTB House'un sonuça dayalı ve ürün düzeyinde TURTLEDOVE değişiklikleri, cihaz üzerinde açık artırmanın anonimlik modelini ve kişiselleştirme özelliklerini iyileştirdi
  • PARAKEET, Microsoft'ın reklam isteklerini anonimleştirmek ve gizlilik özelliklerini zorunlu kılmak için tarayıcı ile reklam teknolojisi sağlayıcılar arasında TEE'de çalışan bir proxy sunucuya dayanan TURTLEDOVE benzeri bir reklam hizmeti önerisidir. Protected Audience bu proxy modelini benimsemedi. PARAKEET ve Protected Audience için JavaScript API'lerini uyumlu hale getiriyoruz. Bu sayede, her iki teklifin en iyi özelliklerini daha da birleştirmek için gelecekteki çalışmaları destekliyoruz.

Korunan Kitle, bir web sitesinin reklam ağının kullanıcının hangi reklamları gördüğünü öğrenmesini henüz engellemiyor. API'yi zaman içinde daha gizli olacak şekilde değiştirmeyi planlıyoruz.

Hangi tarayıcı yapılandırması kullanılabilir?

Kullanıcılar, chrome://settings/adPrivacy'teki üst düzey ayarı etkinleştirerek veya devre dışı bırakarak Chrome'daki Özel Korumalı Alan denemelerine katılımlarını ayarlayabilir. İlk test sırasında kullanıcılar, Korunan Kitle'yi devre dışı bırakmak için bu üst düzey Özel Korumalı Alan ayarını kullanabilir. Chrome, kullanıcıların ziyaret ettikleri web sitelerinde eklendikleri ilgi alanı gruplarının listesini görmelerine ve yönetmelerine olanak tanımayı planlamaktadır. Özel Korumalı Alan teknolojilerinde olduğu gibi, kullanıcı ayarları da kullanıcılardan, düzenleyicilerden ve diğerlerinden gelen geri bildirimlerle gelişebilir.

Protected Audience teklifi ilerledikçe Chrome'daki mevcut ayarları testlere ve geri bildirimlere göre güncellemeye devam edeceğiz. Protected Audience ve ilişkili verileri yönetmek için gelecekte daha ayrıntılı ayarlar sunmayı planlıyoruz.

API çağırıcıları, kullanıcılar Gizli modda gezinirken grup üyeliğine erişemez ve kullanıcılar site verilerini temizlediğinde üyelik kaldırılır.



Etkileşim kurma ve geri bildirim paylaşma

Destek alın

Uygulamanız, demo veya dokümanlar hakkında soru sormak için:

Chrome'da Protected Audience API'nin uygulanmasıyla ilgili hatalar ve sorunlar için: * API için bildirilen mevcut sorunları görüntüleyin. * crbug.com/new adresinden yeni bir sorun bildirin.

Güncellemeleri al

Daha fazla bilgi


Fotoğraf: Ray Hennessy, Unsplash.