FLEDGE API geliştirici kılavuzu

Bu makale kimler için hazırlandı?

Bu yayın, deneysel Protected Audience API'nin mevcut iterasyonuna teknik bir referanstır.

Protected Audience nedir?

Protected Audience API, yeniden pazarlama ve özel kitle kullanım alanları sunan bir Özel Korumalı Alan teklifidir. Bu API, üçüncü tarafların sitelerdeki kullanıcı göz atma davranışını izlemek için kullanılamayacaktır. API, kullanıcının daha önce ziyaret ettiği web siteleri için alakalı reklamları seçmek amacıyla tarayıcı tarafından cihaz üzerinde açık artırmalar yapılmasını sağlar.

Protected Audience, Chromium'da TURTLEDOVE teklif ailesinde 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 bir bakış sunan resim
FLEDGE yaşam döngüsü.

Protected Audience'ı nasıl deneyebilirim?

Korunan kitle demosu

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

Tanıtım videosunda demo kodunun işleyiş şekli ve Protected Audience hata ayıklaması için Chrome Geliştirici 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 Chrome Beta 101.0.4951.26 ve sonraki sürümlerde Özel Korumalı Alan Alaka Düzeyi ve Ölçüm kaynak denemesi kullanıma sunulmuştur.

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

Denemeye 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ı isteyebilir ve ardından bir reklam seçip göstermek için reklam açık artırması düzenleyebilirsiniz.

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

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

  • <head> içinde bir meta etiket olarak:

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

  • HTTP üstbilgisi olarak:

    Origin-Trial: TOKEN_GOES_HERE

  • Jetonu programatik olarak 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 sahibi tarafından yapılan navigator.joinAdInterestGroup() çağrısı) kaynağıyla eşleşen bir jeton sağlaması gerekir.

Önerilen İlk Korunan Kitle Kaynak Denemesi 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 et

Masaüstü bilgisayarda Chrome Beta 101.0.4951.26 ve sonraki sürümlerde Protected Audience'ı tek bir kullanıcı için test edebilirsiniz:

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

iframe'ler veya korumalı çerçeveler içinde reklam oluşturun

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

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

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

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

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

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

Chrome'u işaretlerle çalıştırma, Chrome ve diğer Chromium tabanlı tarayıcıları komut satırından çalıştırırken işaretlerin nasıl ayarlanacağını açıklar. Protected Audience işaretlemelerinin tam listesine Chromium Code Search'ten ulaşabilirsiniz.

Chrome'un son sürümünde hangi özellikler destekleniyor?

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

  • İlgi alanı grupları: Tarayıcı tarafından saklanır ve reklam teklif vermeyi ve oluşturmayı yapılandırmak için ilişkili meta verilerle birlikte.
  • Alıcılara göre cihaz üzerinde teklif verme (TTP veya reklamveren): Kayıtlı ilgi alanı gruplarına ve satıcıdan gelen sinyallere göre.
  • Satıcı (STP veya yayıncı) tarafından cihaz üzerinde reklam seçimi: Açık artırma tekliflerine ve alıcılardan gelen meta verilere dayanır.
  • Kısıtlanmış Çerçeveler'in geçici olarak rahat bir sürümünde reklam oluşturma: Reklam oluşturma için ağ erişimi ve günlük kaydına izin verilir.

API açıklayıcısı, özellik desteği ve kısıtlamalar hakkında daha fazla ayrıntı sağlar.

İlgi alanı grubu izinleri

Protected Audience'ın mevcut uygulamasında varsayılan olarak, alanlar arası iframe'ler de dahil olmak üzere sayfanın herhangi bir yerinden joinAdInterestGroup() çağrılmasına izin verilir. Gelecekte, site sahipleri alanlar arası iframe izin politikalarını ayarladığında, açıklayıcının da belirttiği gibi alanlar arası iframe'lerden gelen çağrılara izin verilmemelidir.

Key/Value hizmeti

Protected Audience reklam açık artırmasının parçası olarak tarayıcı, reklam alıcısına kalan kampanya bütçesi gibi bilgileri sağlamak için basit anahtar/değer çiftleri döndüren bir anahtar/değer hizmetine erişebilir. Protected Audience teklifi, bu sunucunun "etkinlik düzeyinde günlük kaydı gerçekleştirmediğini ve bu isteklere dayalı başka yan etkisi olmadığını" zorunlu kılar.

Korunan Kitle Anahtarı/Değeri hizmet kodu artık Özel Korumalı Alan GitHub deposunda bulunabilir. 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 Anahtar/Değer Hizmeti hakkında daha fazla bilgiye API açıklayıcısı ve güven modeli açıklayıcısı üzerinden ulaşabilirsiniz.

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

Ekosistemin test için yeterli zamana sahip olmasını sağlamak amacıyla, üçüncü taraf çerezleri için desteğin sonlandırılmasının sonrasına kadar açık kaynak Anahtar/Değer Çiftleri hizmetlerinin veya TEE'lerin kullanılmasını zorunlu tutmuyoruz. Geliştiricilerin, bu geçiş gerçekleşmeden önce test etmeye ve benimsemeye başlamaları için önemli bir bildirimde bulunacağız.

Özellik desteğini algıla

API'yi kullanmadan önce, API'nin tarayıcı tarafından desteklenip desteklenmediğini ve dokümanda mevcut olup olmadığı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'ı 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 işlevinin kullanılabilir olması için sitelerin bir izin politikası belirlemesini gerektirecektir. Bu, rastgele üçüncü tarafların bir sitenin bilgisi olmadan API'yi kullanamamasını sağlamaya yardımcı olur. Bununla birlikte, ilk kaynak denemesi sırasında testi kolaylaştırmak için bu koşul varsayılan olarak feragat edilir. Test dönemi boyunca Protected Audience işlevini açık bir şekilde devre dışı bırakmak isteyen siteler, erişimi engellemek için ilgili İzin Politikası'nı kullanabilir.

Bağımsız olarak ayarlanabilecek iki Protected Audience 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 yapma işlevini etkinleştirir/devre dışı bırakır

Birinci taraf bağlamlarında Protected Audience API'lerine erişim, HTTP yanıt başlığında aşağıdaki izin politikası belirtilerek 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 bir 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>

Önerilen İlk Korunan Kitle Kaynak Deneme İzinleri-Politikası bölümünde daha fazla ayrıntı sağlanır.

Kullanıcı onayı isteme

Kullanıcılar, aşağıdaki mekanizmalardan birini kullanarak Protected Audience API ve diğer Özel Korumalı Alan özelliklerine erişimi engelleyebilir:

  • Chrome Ayarları'nda Özel Korumalı Alan denemelerini devre dışı bırakın: Ayarlar > Güvenlik ve gizlilik > Özel Korumalı Alan. Buna chrome://settings/adPrivacy adresinden de erişilebilir.
  • Chrome Ayarları'nda üçüncü taraf çerezlerini devre dışı bırakın: Ayarlar > Güvenlik ve gizlilik.
  • chrome://settings/cookies alanında Ç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 açıklayıcısı, API tasarım öğeleri hakkında daha fazla ayrıntı sağlar ve API'nin gizlilik hedeflerini nasıl karşılamak istediğini açıklar.

Korunan Kitle iş akışlarında hata ayıklama

Chrome Canary 98.0.4718.0 sürümünden, Chrome Geliştirici Araçları'ndaki Protected Audience iş akışlarında hata ayıklamak mümkündür.

İlk adım, Kaynaklar panelindeki Etkinlik İşleyici Ayrılma Noktaları bölmesinde yeni bir kategori aracılığıyla ayrılma noktalarını ayarlamaktır.

Chrome Canary&#39;deki Geliştirici Araçları ekran görüntüsünde, Kaynaklar panelinde Etkinlik İşleyici Ayrılma Noktaları bölmesi vurgulanıyor.
   Reklam Açık Artırma İş Akışı altında Teklif Veren Teklif Verme Aşaması Başlangıcı seçilir.

Bir ayrılma noktası tetiklendiğinde yürütme, iş uygulaması komut dosyasının en üst düzeyindeki ilk ifadeden önce duraklatılır. Teklif verme/puanlama/raporlama işlevinin kendisine gitmek için normal kesme noktalarını veya adım komutlarını kullanabilirsiniz.

Canlı iş akışı komut dosyaları da İleti dizileri panelinin altında gösterilir.

Chrome Canary&#39;deki Geliştirici Araçları ekran görüntüsünde, Kaynaklar panelinde İş Parçacıkları bölümü vurgulanıyor ve duraklatılan mevcut iş programı komut dosyası gösteriliyor.

Bazı iş akışları paralel olarak çalışabileceğinden, birden fazla iş parçacığı burada "duraklatıldı" durumunda kalabilir. İleti dizileri arasında geçiş yapmak için ileti dizisi listesini kullanabilir ve bunları uygun bir şekilde devam ettirebilir veya daha yakından inceleyebilirsiniz.

Protected Audience etkinliklerini gözlemleme

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

Protected Audience demo alışveriş sitesini Protected Audience'ın etkin olduğu bir tarayıcıda ziyaret ederseniz Geliştirici Araçları, join etkinliğiyle ilgili bilgileri gösterir.

Chrome Canary&#39;deki Geliştirici Araçları Uygulaması panelinde, Protected Audience ilgi grubu katılım etkinliğiyle ilgili bilgiler gösteriliyor.

Artık Protected Audience'ın etkin olduğu bir tarayıcıda Protected Audience demo yayıncı sitesini ziyaret ederseniz Geliştirici Araçları bid ve win etkinlikleriyle ilgili bilgileri gösterir.

Chrome Canary&#39;deki Geliştirici Araçları Uygulaması panelinde Protected Audience açık artırma teklifi ve kazanma etkinlikleri hakkında bilgiler gösterilir.

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

Bu örnekte, bir kullanıcı özel bir bisiklet üreticisinin web sitesine göz atıyor, daha sonra bir haber web sitesini ziyaret ediyor ve o bisiklet üreticisine ait yeni bir bisikletin reklamını görüyor.

1. Kullanıcı bir reklamveren sitesini ziyaret eder

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

Bir kullanıcının özel bir bisiklet üreticisinin (bu örnekte reklamveren) web sitesini ziyaret ettiğini ve el yapımı çelik bir bisikletin ürün sayfasında biraz zaman geçirdiğini düşünün. Bu, bisiklet üreticisine yeniden pazarlama fırsatı sağlar.

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

Dizüstü bilgisayarındaki tarayıcıda bir siteyi görüntüleyen bir kişinin gösterildiği görsel. Tarayıcıda JoinAdinterestGroup() JavaScript kodu çalışıyor.

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

Reklamverenin talep tarafı platformu (TTP) (veya reklamverenin kendisi), tarayıcının üyesi olduğu gruplar listesine bir ilgi alanı grubu eklemesini istemek için navigator.joinAdInterestGroup() yöntemini çağırır. Bu örnekte, grup custom-bikes, sahibi ise dsp.example olarak adlandırılmıştır. İlgi alanı grubu sahibi (bu durumda TTP), 4. adımda açıklanan reklam açık artırmasında bir alıcı olur. İlgi alanı grubu üyeliği tarayıcı tarafından ve kullanıcının cihazında depolanır ve tarayıcının sağlayıcısıyla ya da başka biriyle paylaşılmaz.

joinAdInterestGroup(), şu kişilerden izin gerektiriyor:

  • Ziyaret edilen site
  • İlgi alanı grubu sahibi

Örneğin: malicious.example, dsp.example izni olmadan sahip olarak dsp.example ile joinAdInterestGroup() yöntemini çağıramaz.

Ziyaret edilen sitenin izni

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

Kaynaklar arası: Geçerli sayfadan farklı kaynaklardan joinAdInterestGroup() çağrılması yalnızca ziyaret edilen site, çapraz kaynak iframe'lerden joinAdInterestGroup() çağrısına izin veren bir izin politikası ayarlamışsa başarılı olabilir.

İlgi alanı grubu sahibinden izin

İlgi alanı grubu sahibi izni, ilgi alanı grubunun sahibiyle aynı kaynağa sahip bir iframe'den joinAdInterestGroup() çağrısı yapılarak dolaylı olarak verilir. Örneğin bir dsp.example iframe, sahibi dsp.example olan ilgi alanı grupları için joinAdInterestGroup() öğesini çağırabilir.

Teklife göre joinAdInterestGroup(), sahibin alanındaki bir sayfada veya iframe'de çalıştırılabilir ya da .well-known URL'sindeki bir liste kullanılarak sağlanan diğer alanlara yetki verilebilir.

navigator.joinAdinterestGroup() yöntemini kullanma

Aşağıda, API'nin nasıl kullanılabileceğine dair bir örnek verilmiştir:

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 nesnesinin boyutu 50 kiB'tan büyük olmamalıdır. Aksi takdirde çağrı başarısız olur. İkinci parametre, ilgi alanı grubunun 30 günle sınırlı süresini belirtir. Art arda yapılan çağrılar, daha önce depolanan değerlerin üzerine yazılır.

İlgi grubu özellikleri

Özellik Gerekli Örnek Rol
owner Gerekli 'https://dsp.example' İlgi alanı grubu sahibinin kaynağı.
name Gerekli 'custom-bikes' İlgi grubunun adı.
biddingLogicUrl** İsteğe bağlı* 'https://dsp.example/bid/custom-bikes/bid.js' İş akışında çalışan teklif JavaScript'i için URL.
biddingWasmHelperUrl** İsteğe bağlı* 'https://dsp.example/bid/custom-bikes/bid.wasm' biddingLogicUrl kaynağından alınan 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 değerini döndüren URL. (İlgi alanı grubunu güncelleme başlıklı makaleyi inceleyin.)
trustedBiddingSignalsUrl** İsteğe bağlı 'https://dsp.example/trusted/bidding-signals' Teklif verenin güvenilir sunucusuna yapılan anahtar/değer çifti istekleri için temel URL.
trustedBiddingSignalsKeys İsteğe bağlı ['key1', 'key2' ...] Anahtar/değer güvenilir sunucusu isteklerinin anahtarları.
userBiddingSignals İsteğe bağlı {...} İçerik sahibinin teklif verirken 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 çok parçadan oluşan reklamlara yönelik bileşenler.

* owner ve name dışındaki tüm mülkler isteğe bağlıdır. biddingLogicUrl ve ads mülkleri isteğe bağlı olsa da açık artırmaya katılabilmek için zorunludur. Bu özelliklerin bulunmadığı bir ilgi alanı grubu oluşturmanın kullanım alanları olabilir. Örneğin, bir ilgi alanı grubu sahibi, henüz yayınlanmayan bir kampanya için veya ileride başka kullanımlar için bir ilgi alanı grubuna tarayıcı eklemek isteyebilir ya da geçici olarak reklam bütçesi tükenmiş olabilir.

** biddingLogicUrl, biddingWasmHelperUrl, dailyUpdateUrl ve trustedBiddingSignalsUrl URL'leri sahip ile 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() hizmetine iletilen ilgi alanı grubu nesnesine karşılık gelen JSON tanımlayıcı ilgi alanı grubu özelliklerini döndüren bir web sunucusu belirtir. Bu, grup 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 hiçbir alanın üzerine yazılmaz. Yalnızca JSON'da belirtilen alanlar güncellenir. Buna karşılık, navigator.joinAdInterestGroup() çağrısı, mevcut herhangi bir ilgi alanı grubunun üzerine yazılır.

Güncellemeler en iyi sonucu verir ve aşağıdaki koşullarda başarısız olabilir:

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

Ayrıca, güncelleme için çok fazla kesintisiz zaman harcanırsa güncellemeler de iptal edilebilir. Ancak bu, iptal edilen (kalan) güncellemelere hız sınırlaması uygulamaz. Güncellemeler günde en fazla bir defa hızla sınırlandırılır. Ağ hataları nedeniyle başarısız olan güncellemeler bir saat sonra yeniden denenir ve internet bağlantısı kesildiğinden dolayı başarısız olan güncellemeler, yeniden bağlandığınızda hemen yeniden denenir.

El ile güncellemeler

Mevcut karenin kaynağına ait ilgi alanı grupları için yapılan güncellemeler, navigator.updateAdInterestGroups() aracılığıyla manuel olarak tetiklenebilir. Hız sınırlandırma, güncellemelerin çok sık yapılmasını önler: navigator.updateAdInterestGroups() için 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 oran sınırı sıfırlanır.

Otomatik güncellemeler

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

Bir ilgi alanı grubuna ilişkin reklamları belirtme

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

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

Alıcılar nasıl teklif verir?

İlgi alanı grubu sahibi tarafından sağlanan biddingLogicUrl adresindeki komut dosyası, generateBid() işlevi içermelidir. Bir reklam alanı satıcısı navigator.runAdAuction() özelliğini çağırdığında generatedBid() işlevi, ilgi alanı grubunun sahibi teklif vermeye davet edilirse tarayıcının üyesi olduğu ilgi alanı gruplarının her biri için bir kez çağrılır. Diğer bir deyişle generateBid(), her aday reklam için bir kez çağrılır. Satıcı, navigator.runAdAuction() ürününe iletilen açık artırma yapılandırma parametresinde bir decisionLogicUrl özelliği sağlıyor. Bu URL'deki kod, generateBid() tarafından döndürülen tekliflerin her birini puanlamak amacıyla açık artırmadaki her teklif veren için çalıştırılan bir scoreAd() işlevi içermelidir.

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

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

generateBid(), şu bağımsız değişkenleri alır:

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

  • auctionSignals
    Reklam alanı satıcısı tarafından navigator.runAdAuction() hizmetine iletilen açık artırma yapılandırması bağımsız değişkeninin ö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 ürününde olduğu gibi, satıcı tarafından navigator.runAdAuction() öğesine iletilen açık artırma yapılandırması bağımsız değişkeninin bir özelliği. Satıcı, alıcı sunucularına gerçek zamanlı teklif çağrısı yapan ve yanıtı yanıt veren bir STP ise ya da yayıncı sayfası doğrudan alıcının sunucusuyla iletişim kuruyorsa, alıcının sunucusundan sayfayla ilgili bağlamsal sinyaller sağlayabilir. Böyle bir durum söz konusuysa alıcı, değişikliğe karşı koruma olarak generateBid() içindeki sinyallerin kriptografik bir 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şturulmuş bir nesne. Bu nesne, sayfa bağlamı hakkında bilgi (satıcının başka bir şekilde taklit edebileceği geçerli sayfanın hostname kodu gibi) ve ilgi alanı grubuna ait verileri (ör. cihaz üzerinde sıklık sınırına izin vermek için grubun daha önce açık artırmayı ne zaman kazandığının kaydı) 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). */
}

generateBid() içindeki kod, bid değerini hesaplamak için işlev 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ği olan bir nesne döndürür:

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

  • bid
    Açık artırmaya girecek sayısal bir teklif. Satıcı, farklı alıcıların tekliflerini karşılaştırabilecek bir konumda olmalıdır.Bu nedenle, teklifler satıcı tarafından seçilen bir birimde olmalıdır (ör. "Bin başına ABD doları"). Teklif sıfır veya negatif ise bu ilgi alanı grubu, satıcının açık artırmasına hiç katılmaz. Bu mekanizma sayesinde alıcı, reklamlarının görüntülenip görünmeyeceğini belirleyen reklamveren kurallarını uygulayabilir.

  • render
    Bu teklifin açık artırmayı kazanması durumunda reklam öğesini oluşturmak için kullanılacak URL veya URL listesi. (API açıklayıcıda Birden Çok Parçadan Oluşan Reklamlar konusuna bakın.) Değerin, ilgi alanı grubu için tanımlanan reklamlardan birinin renderUrl ile eşleşmesi gerekir.

  • adComponents
    Birden fazla parçadan oluşan reklamlar için en fazla 20 bileşen içeren isteğe bağlı bir liste. Bu liste, ilgi alanı grubu bağımsız değişkeninin adComponents mülkünden navigator.joinAdInterestGroup() adresine iletildi.

Tarayıcıdan bir ilgi alanı grubundan ayrılmasını isteme

İlgi alanı grubu sahibi, tarayıcının bir ilgi alanı grubundan kaldırılmasını isteyebilir. Başka 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'
});

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

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

Dizüstü bilgisayarındaki tarayıcıdan haber web sitesini ziyaret eden bir kişinin gösterildiği görsel. Sitede boş bir reklam alanı vardır.

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

4. Tarayıcıda bir reklam açık artırması yapılı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 kullanılarak bir reklam açık artırması yapılıyor.

Açıklayıcı bölümü: Cihaz Üzerinde Açık Artırma Gerçekleştiren Satıcılar

Reklam açık artırması, büyük olasılıkla yayıncının STP'si veya yayıncının kendisi tarafından yürütülebilir. Açık artırmanın amacı, geçerli sayfadaki tek bir reklam alanı için en uygun reklamı seçmektir. Açık artırma, tarayıcının üyesi olduğu ilgi alanı gruplarının yanı sıra Anahtar/Değer hizmetlerinden gelen reklam alanı alıcılarına ve satıcılarına ait verileri de dikkate alır.

Reklam alanı satıcısı, navigator.runAdAuction() numaralı telefonu çağırarak kullanıcının tarayıcısına reklam açık artırması başlatmak için istek gönderir.

Ö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ının sonucunu temsil eden URN (urn:uuid:<something>) değerine dönüşen bir taahhüt döndürür. Bu kod, oluşturma için çitli çerçeveye geçirildiğinde yalnızca tarayıcı tarafından çözülebilir: Yayıncı sayfası kazanan reklamı inceleyemez.

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

auctionConfig tesis

Özellik Gerekli Örnek Rol
seller Gerekli 'https://ssp.example' Satıcının kökeni.
decisionLogicUrl Gerekli '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* Gerekli ['https://dsp.example', 'https://buyer2.example', ...] Açık artırmada teklif vermek isteyen tüm ilgi alanı grubu sahiplerinin kaynakları.
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, içeriğe dayalı reklam isteğinde bulunma vb.
sellerTimeout İsteğe bağlı 100 Satıcının scoreAd() komut dosyasının maksimum çalışma zamanı (ms).
perBuyerSignals İsteğe bağlı {'https://dsp.example': {...},
  'https://another-buyer.example': {...},
...}
Her bir alıcının sunucusundaki sayfayla ilgili bağlamsal sinyaller.
perBuyerTimeouts İsteğe bağlı 50 Belirli alıcının generateBid() komut dosyalarının maksimum çalışma zamanı (ms).
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. Reklamlar, daha sonra ilgi alanı grubu sahibinin dahil edilmesi dışındaki ölçütlere göre kabul edilir veya reddedilir. Örneğin, satıcı kendi politikalarına uygun olduğunu onaylamak için reklam öğelerini inceleyebilir.

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

Reklamlar nasıl seçilir?

decisionLogicUrl adresindeki kod (runAdAuction() öğesine geçirilen açık artırma yapılandırma nesnesinin mülkü) scoreAd() işlevi içermelidir. Bu sorgu, istenilebilir olup olmadığını belirlemek için her reklam için bir kez çalıştırılır.

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

scoreAd(), şu bağımsız değişkenleri alır:

  • adMetadata
    Alıcı tarafından sağlanan rastgele meta veriler.
  • bid
    Sayısal teklif değeridir.
  • auctionConfig
    navigator.runAdAuction() için iletilen açık artırma yapılandırma nesnesi.
  • trustedScoringSignals
    Açık artırma anında satıcının güvenilir sunucusundan alınan ve satıcının reklamla ilgili görüşünü temsil eden 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 uygun içeriğe dayalı reklamı bulur. scoreAd() mantığının bir parçası da içeriğe dayalı kazananı geçemeyen reklamları reddetmektir.

5. Satıcı ve katılımcı alıcılar, Anahtar/Değer Hizmetinden gerçek zamanlı veriler 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 kullanılarak yapılan bir reklam açık artırmasında bir katılımcı Key/Value hizmetinden veri alıyor.

Açıklayıcı bölümü: Korunan Kitle Anahtar/Değer Hizmeti hizmetinden gerçek zamanlı veriler alma.

Bir reklam açık artırması sırasında reklam alanı satıcısı, navigator.runAdAuction() adresine iletilen açık artırma yapılandırması bağımsız değişkeninin trustedScoringSignalsUrl özelliğini kullanarak bir Anahtar/Değer hizmetine istek göndererek ve açık artırmadaki tüm ilgi alanı gruplarının ads ve adComponents alanlarındaki tüm girişlerin renderUrl mülklerindeki anahtarlarla birlikte belirli reklam öğeleriyle ilgili gerçek zamanlı veriler alabilir.

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

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

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

Bu isteğin yanıtı, her anahtar için değer sağlayan bir JSON nesnesidir.

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. Bisiklet
 reklamı (%20 indirim) gösterilir. Reklamın üzerinde, reklamın çitle çevrili bir çerçevede gösterildiğini belirten bir kilit bulunur.

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

Daha önce de açıklandığı gibi: runAdAuction() tarafından döndürülen söz, URN'ye çözümlenir. Bu durum, oluşturma için çizili çerçeveye iletilir ve site, kazanan reklamı gösterir.

7. Açık artırma sonucu raporlanır

Açıklayıcı bölümü: Etkinlik Düzeyinde Raporlama (şimdilik)

Satıcı rapor sonucu

Açıklayıcı bölümü: Oluşturmayla İlgili Satıcı Raporlaması

Satıcının decisionLogicUrl adresinde sağlanan JavaScript'i (aynı zamanda scoreAd() sağladı) 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
    navigator.runAdAuction() için iletilen açık artırma yapılandırma nesnesi.

  • browserSignals
    Tarayıcı tarafından oluşturulan ve açık artırma hakkında bilgi sağlayan 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ürülen değeri, kazanan teklif verenin reportWin() işlevi için sellerSignals bağımsız değişkeni olarak kullanılır.

Kazanan teklif veren raporu sonucu

Açıklayıcı bölümü: Oluşturma ve Reklam Etkinlikleriyle İlgili Alıcı Raporları

Kazanan teklif verenin JavaScript'i (generateBid() değerini de sağladı), açık artırma sonucunu bildirmek için 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() reklam grubuna aynı değerler iletildi.
  • sellerSignals
    Satıcıya bilgileri alıcıya iletme fırsatı sunan reportResult() ürününün döndürülen değeri.
  • browserSignals
    Tarayıcı tarafından oluşturulan ve açık artırma hakkında bilgi veren 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 uygulaması

Chrome'da açık artırma raporlaması için 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, yani açık artırma tamamlandıktan sonra getirilecek bir URL alır. Bunlar hem scoreAd() hem de generateBid() için farklı URL bağımsız değişkenleriyle birden çok kez çağrılabilir.

Chrome, yalnızca bir açık artırma tamamlanıncaya kadar hata ayıklama kayıp/kazanma raporları gönderir. Açık artırma iptal edilirse (örneğin, yeni 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. Protected Audience'ı etkinleştirmek için Chrome'u komut satırı işaretleriyle çalıştırıyorsanız BiddingAndScoringDebugReportingAPI işaretini ekleyerek yöntemleri açıkça etkinleştirmeniz gerekir. İşaretleme etkinleştirilmezse yöntemler kullanılabilir durumda kalır ancak hiçbir şey yapmaz.

8. Bir reklam tıklaması raporlanır

Bir haber web sitesinde, çitle çevrili çerçevenin içinde bisiklet reklamını tıklayan bir kişinin, satıcı ve alıcılara giden rapor verilerinin bulunduğu görsel.

Çitli çerçevede oluşturulan bir reklamın tıklanması raporlanır. Bunun nasıl olabileceği hakkında daha fazla bilgi edinmek için Kısıtlanmış Çerçevelerle Reklam Raporu'na bakın.



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

Protected Audience reklam açık artırmasının her aşamasıyla ilgili genel bakış sunan resim


Protected Audience ile TURTLEDOVE arasındaki fark nedir?

Protected Audience, TURTLEDOVE teklif ailesi içinde Chromium'da uygulanan ilk denemedir.

Protected Audience, TURTLEDOVE'un üst düzey ilkelerine uyar. Bazı çevrimiçi reklamcılık faaliyetleri, bir reklamın, daha önce reklamverenle veya reklam ağıyla etkileşimde bulunmuş, potansiyel olarak ilgili kişilere gösterilmesini temel almaktadır. Geçmişte bu özellik, günümüzün web dünyasının temel gizlilik sorunu olan web sitelerinde gezinen belirli bir kişiyi tanımak için reklamverenler tarafından işe yaramıştır.

TURTLEDOVE'un çalışmaları, bu kullanım alanına yönelik yeni bir API sunarken gizlilikle ilgili bazı önemli gelişmeler de sunuyor:

  • Reklamverenin, bir kullanıcının ilgilendiğini düşündüğü şeylerle ilgili bilgiler reklamveren değil, tarayıcı tarafından tutulur.
  • Reklamverenler bir ilgi alanına dayalı reklamlar yayınlayabilir, ancak bu ilgi alanını bir kişiyle ilgili diğer bilgilerle, özellikle de o kişinin kim olduğu veya hangi sayfayı ziyaret ettiğiyle birleştiremez.

Protected Audience, API'yi kullanacak geliştiricilere daha iyi hizmet sunmak için TURTLEDOVE'un yanı sıra ilgili teklifler koleksiyonundan geliştirildi:

  • SPARROW'da: Criteo, güvenilir yürütme ortamında (TEE) çalışan bir ("Gatekeeper") hizmet modelinin eklenmesini önerdi. Protected Audience, gerçek zamanlı veri araması ve toplu raporlama için TEE'lerin daha sınırlı bir şekilde kullanımını içerir.
  • NextRoll'un TERN ve Magnite'ın PARRROT teklifleri, alıcıların ve satıcıların cihaz üzerinde açık artırmadaki farklı rollerini açıkladı. Protected Audience'ın reklam teklifi/puanlama akışı bu çalışmaya göre belirlenir.
  • RTB House Sonuca 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, reklam isteklerini anonimleştirmek ve gizlilik özelliklerini uygulamak için Microsoft'un, tarayıcı ile reklam teknolojisi sağlayıcıları arasında bir TEE'de çalışan proxy sunucusuna dayanan TURTLEDOVE benzeri bir reklam hizmetine yönelik teklifidir. Protected Audience, bu proxy modelini benimsemedi. PARAKEET ve Protected Audience için JavaScript API'lerini, her iki teklifin en iyi özelliklerini daha da birleştirmeye yönelik gelecekteki çalışmaları desteklemek üzere uyumlu hâle getiriyoruz.

Protected Audience henüz bir web sitesinin reklam ağının kullanıcının hangi reklamları gördüğünü öğrenmesini engellemez. API'yi zaman içinde daha gizli hale gelecek şekilde değiştirmeyi planlıyoruz.

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

Kullanıcılar, chrome://settings/adPrivacy ürününde üst düzey ayarı etkinleştirerek veya devre dışı bırakarak Chrome'daki Özel Korumalı Alan denemelerine katılımlarını ayarlayabilirler. İlk test sırasında kullanıcılar, Protected Audience'ı 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örmesine ve yönetmesine izin vermeyi planlamaktadır. Özel Korumalı Alan teknolojilerinin kendisinde olduğu gibi, kullanıcı ayarları da kullanıcılardan, düzenleyici kurumlardan ve diğer kullanıcılardan gelen geri bildirimlerle değişebilir.

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

API arayanları, 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şimde bulunun ve geri bildirim paylaşın

Destek alın

Uygulamanız, demo hakkında veya belgeler hakkında soru sormak için:

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

Güncellemeleri al

Daha fazla bilgi


Fotoğraf: Ray Hennessy tarafından Unsplash'te yayınlandı.