Bu makale kimler için hazırlandı?
Bu yayın, deneysel Protected Audience API'nin mevcut iterasyonuna teknik bir referanstır.
Protected Audience API teklife daha az teknik genel bir bakış sunar. sözlüğü de var.
Protected Audience demosu, temel bir FLEDGE'in adım adım açıklamalı kılavuzunu sunar. dağıtım.
Protected Audience demo videosu demo kodunun işleyiş şeklini ve Protected Audience hata ayıklaması için Chrome Geliştirici Araçları'nın nasıl kullanılacağını gösterir.
Protected Audience nedir?
Protected Audience API, yayınlanacak bir Özel Korumalı Alan teklifidir tarafından kullanılamayacak şekilde tasarlanmış yeniden pazarlama ve özel kitle kullanım alanları üçüncü tarafların web sitelerinde kullanıcının web'e göz atma davranışını izlemesi için tasarlanmıştır. API, cihaz üzerinde açık artırmaları kullanıcının daha önce ziyaret ettiği web siteleri için alakalı reklamları seçmek amacıyla tarayıcı.
Protected Audience, Chromium'da uygulanan ilk denemedir. TURTLEDOVE teklif ailesi.
Aşağıdaki şemada, FLEDGE yaşam döngüsüne genel bir bakış sunulmaktadır:
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ılavuzu şu adreste sunulmuştur: protected-audience-demo.web.app.
Tanıtım videosu demo kodunun işleyiş şeklini ve Protected Audience hata ayıklaması için Chrome Geliştirici Araçları'nın nasıl kullanılacağını gösterir.
Protected Audience kaynak denemesine katılma
Özel Korumalı Alan Alaka Düzeyi ve Ölçüm kaynak denemesi Masaüstündeki Chrome Beta 101.0.4951.26 ve sonraki sürümlerinde Protected Audience için kullanıma sunulmuştur. Topics ve Attribution Reporting API'leri
Programa katılmak için kaynak deneme jetonuna kaydolun.
Denemeye başarıyla kaydolduktan sonra sayfalarda Protected Audience JavaScript API'yi deneyebilirsiniz Geçerli bir deneme jetonu sağlayan: örneğin, tarayıcıdan bir veya daha fazla ilgi alanı grubuna katılmasını istemek için ve ardından bir reklam seçip göstermek için reklam açık artırması çalıştırmak.
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 kodu çalıştıran bir iframe (ör. navigator.joinAdInterestGroup()
)
çağrısının, 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, <iframe>
veya <fencedframe>
içinde oluşturulabilir,
değişiklik gösterir.
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.
Chromium'u bayraklarla çalıştırma Chrome ve diğer Chromium tabanlı tarayıcıları çalıştırırken satırında görünür. Protected Audience flag'lerinin tam listesini şuradan edinebilirsiniz: Chromium Kod Arama Aracı.
Chrome'un son sürümünde hangi özellikler destekleniyor?
Protected Audience, ilk olarak Chromium'daki özellik bayraklarının arkasında kullanıma sunulmaktadır denemesini yaparak Protected Audience teklifinin aşağıdaki özelliklerini test edebilirsiniz:
- İlgi alanı grupları: Tarayıcı tarafından depolanır ve reklam teklifini yapılandırmak için ilişkili meta verilerle birlikte oluşturmayı öğreneceksiniz.
- Alıcılara göre cihaz üzerinde teklif verme (TTP veya reklamveren): Kayıtlı ilgi alanı gruplarına ve sinyallerine göre satıcıdan alınır.
- Satıcı (STP veya yayıncı) tarafından cihaz üzerinde reklam seçimi: açık artırma tekliflerine ve alıcılardan meta veriler.
- Kısıtlanmış Çerçeveler'in geçici olarak rahatlatılmış bir sürümünde reklam oluşturma: ağ erişimi ve Reklam oluşturma için günlük kaydına izin veriliyor.
API açıklayıcıda daha fazla ayrıntı yer almaktadır destek ve kısıtlamalarıyla ilgili sorular sormak.
İlgi alanı grubu izinleri
Protected Audience'ın mevcut uygulamasında varsayılan olarak joinAdInterestGroup()
, şuradan çağrılmasına izin verilir:
sayfanın herhangi bir yerinde görünür. Gelecekte, site sahiplerinin vakit ayırıp
web alanları arası iframe izin politikalarını ayarlamasına izin veriyorsa,
alan adları arası iframe'ler oluşturur.
Key/Value hizmeti
Protected Audience reklam açık artırmasının parçası olarak tarayıcı, anahtar/değer hizmeti bir reklam alıcısına bilgi sağlamak için basit anahtar/değer çiftleri döndüren Kampanya bütçesi. Protected Audience teklifi emirleri bu sunucunun "etkinlik düzeyinde günlük kaydı yapmadığını ve bu günlük kayıtlarına göre başka yan etkisi olmadığını talebi" ile yanıtlanmalıdır.
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?
Korunan Kitle, sonunda sitelerin izin politikası belirlemesini gerektirecektir Protected Audience işlevlerinin kullanılabilir olmasını sağlar. Bu, rastgele üçüncü tarafların bir sitenin bilgi sahibidir. 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ça devre dışı bırakmak isteyen siteler erişimi engellemek için ilgili İzin Politikası'nı tıklayın.
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ırrun-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 aşağıdaki şartlar belirtilerek tamamen devre dışı bırakılabilir. izin politikası eklemelidir:
Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()
Aşağıdaki allow
özelliğini
iframe öğesi:
<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ı, vardır:
- 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.
- Çerezler ve diğer site verileri'ni "Üçüncü taraf çerezlerini engelle" olarak ayarlayın veya "Tüm çerezleri engelle"
başlangıç fiyatı:
chrome://settings/cookies
. - 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, Etkinlik İşleyici Ayrılma Noktaları bölmesinde yeni bir kategori aracılığıyla ayrılma noktalarını ayarlamaktır "Kaynaklar" panelinde görünür.
Bir ayrılma noktası tetiklendiğinde yürütme, öğenin en üst düzeyindeki ilk ifadeden önce duraklatılır. Worklet komut dosyası. Teklif verme/puanlama/raporlamaya gitmek için normal kesme noktalarını veya adım komutlarını kullanabilirsiniz işlevini çağırın.
Canlı iş akışı komut dosyaları da İleti dizileri panelinin altında gösterilir.
Bazı iş akışları paralel olarak çalışabileceğinden, birden çok iş parçacığı "duraklatılmış" burada belirtmelisiniz; ileti dizileri arasında geçiş yapmak için ileti dizisi listesini kullanabilir, uygun olmalıdır.
Protected Audience etkinliklerini gözlemleme
Chrome Geliştirici Araçları'ndaki Uygulama panelinde Protected Audience ilgi alanı grubunu ve açık artırmayı gözlemleyebilirsiniz etkinlikler.
Protected Audience demo alışveriş sitesini ziyaret ederseniz
Protected Audience'ın etkinleştirildiği bir tarayıcıda, Geliştirici Araçları join
etkinliğiyle ilgili bilgileri gösterir.
Şimdi, Protected Audience demo yayıncı sitesini ziyaret ederseniz
Protected Audience'ın etkinleştirildiği bir tarayıcıda, Geliştirici Araçları bid
ve win
etkinlikleriyle ilgili bilgileri gösterir.
Protected Audience API nasıl çalışır?
Bu örnekte, bir kullanıcı özel bir bisiklet üreticisinin web sitesine göz atıp daha sonra bir haber web sitesini ziyaret ediyor. ve bisiklet üreticisine ait yeni bir bisikletin reklamı gösteriliyor.
1. Kullanıcı bir reklamveren sitesini ziyaret eder
Bir kullanıcının özel bir bisiklet üreticisinin (web sitesindeki reklamveren) bakıyor ve el yapımı çelik bir bisikletin ürün sayfasında biraz vakit geçiriyor. Bu sayede bir yeniden pazarlama fırsatı sunan bisiklet üreticisi.
2. Kullanıcının tarayıcısından bir ilgi alanı grubu eklemesi istenir
Açıklayıcı bölümü: Tarayıcılar İlgi Alanı Gruplarını Kaydı
Reklamverenin talep tarafı platformu (TTP) (veya reklamverenin)
kendisi) navigator.joinAdInterestGroup()
çağırarak tarayıcının tarayıcıya bir ilgi alanı grubu eklemesini
tarayıcının üyesi olduğu grupların listesidir. Bu örnekte, grup custom-bikes
olarak adlandırılmıştır ve
sahibi dsp.example
. İlgi alanı grubu sahibi (bu örnekte TTP)
4. adımda açıklanan reklam açık artırmasında alıcı olarak görünür.
İlgi alanı grubu üyeliği tarayıcı tarafından ve kullanıcının cihazında depolanır ve
satıcı veya başka bir kişi tarafından erişilebilir.
joinAdInterestGroup()
, şu kişilerden izin gerektiriyor:
- Ziyaret edilen site
- İlgi alanı grubu sahibi
Örneğin: malicious.example
, arama yapamamalıdır
joinAdInterestGroup()
, dsp.example
adlı kullanıcının izni olmadan
dsp.example
.
Ziyaret edilen sitenin izni
Aynı kaynak: Varsayılan olarak izin, şuradan gelen joinAdInterestGroup()
çağrılar için dolaylı olarak verilir:
ziyaret edilen siteyle aynı kaynaktan (yani, sayfanın üst düzey çerçevesiyle aynı kaynaktan)
geçerli sayfaya yönlendirir. Siteler, Protected Audience izinler politikası başlığı kullanabilir.
joinAdInterestGroup()
çağrılarını devre dışı bırakmak için join-ad-interest-group
yönergesi.
Çapraz kaynak: Geçerli kaynaktan farklı kaynaklardan joinAdInterestGroup()
çağrılıyor
sayfasının başarılı olabilmesi için, ziyaret edilmekte olan site,
Kaynaklar arası iframe'lerden joinAdInterestGroup()
.
İlgi alanı grubu sahibinden izin
İlgi alanı grubu sahibi izni, joinAdInterestGroup()
çağrısı yapılarak dolaylı olarak verilmiştir
ilgi alanı grubunun sahibiyle aynı kaynağa sahip bir iframe'den Örneğin, dsp.example
iFrame, dsp.example
hesabına ait 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
yetkisi, .well-known
URL'sindeki bir liste kullanılarak sağlanan diğer alanlara atanmış olmalıdır.
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
başarısız olur. İkinci parametre, ilgi alanı grubunun süresini 30 ile sınırlı olarak belirtir.
gün. Art arda yapılan çağrılar, daha önce depolanan değerlerin üzerine yazılır.
İlgi grubu özellikleri
Özellik | Zorunlu | Örnek | Rol |
---|---|---|---|
owner |
Zorunlu | 'https://dsp.example' |
İlgi alanı grubu sahibinin kaynağı. |
name |
Zorunlu | '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ülkler isteğe bağlıdır ancak açık artırmaya katılabilmek için zorunludur. Projenizin ilerlemesi için
oluşturduğunuz bir ilgi alanı grubu olabilir: Örneğin, bir ilgi alanı grubu sahibi
henüz yayınlanmayan bir kampanya için ilgi alanı grubuna veya
yoksa geçici olarak reklam bütçeleri 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
, JSON tanımlayan ilgi alanı grubu özelliklerini döndüren bir web sunucusu belirtir,
navigator.joinAdInterestGroup()
öğesine iletilen ilgi grubu nesnesine karşılık gelen değer. Bu
özelliklerini belirli aralıklarla güncellemesi için grup sahibine
ilgi grubu. Mevcut uygulamada,
şu özellikler değiştirilebilir:
biddingLogicUrl
biddingWasmHelperUrl
trustedBiddingSignalsUrl
trustedBiddingSignalsKeys
ads
priority
JSON'de belirtilmeyen hiçbir alanın üzerine yazılmaz. Yalnızca JSON'da belirtilen alanlar,
güncellenebilir (ancak navigator.joinAdInterestGroup()
işlevinin çağrılması, mevcut herhangi bir ilgi alanı grubunun üzerine yazılmasına neden olur).
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 sırasında çok fazla kesintisiz zaman harcanırsa güncellemeler de iptal edilebilir. İptal edilen (kalan) güncellemelere hız sınırlaması uygulamaz. Güncellemeler şununla sınırlıdır: günde en fazla bir kez. Ağ hataları nedeniyle başarısız olan güncellemeler bir saat sonra yeniden denenir ve İnternet bağlantısı kesildiği için başarısız olan güncellemeler, yeniden bağlanıldığında hemen yeniden denenir.
El ile güncellemeler
Geçerli karenin kaynağına ait ilgi alanı gruplarında yapılan güncellemeler, şunun aracılığıyla manuel olarak tetiklenebilir:
navigator.updateAdInterestGroups()
Hız sınırlaması, güncellemelerin çok sık gerçekleşmesini önler:
navigator.updateAdInterestGroups()
için tekrarlanan çağrılar, hız sınırına kadar hiçbir şey yapmaz
süre (şu anda bir gün) geçti. Oran sınırı,
navigator.joinAdInterestGroup()
, aynı ilgi alanı grubu owner
ve name
için tekrar arandı.
Otomatik güncellemeler
Bir 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ı hız sınırlarına tabidir. En az bir ilgi alanı grubuna sahip her sahip için
bir açık artırmaya katılırsanız navigator.updateAdInterestGroups()
sanki
Kaynağı bu sahiple eşleşen iframe.
Bir ilgi alanı grubuna ilişkin reklamları belirtme
ads
ve adComponents
nesneleri, bir reklam öğesi için URL ve isteğe bağlı olarak rastgele
teklif verme sırasında kullanılabilecek meta verileri 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çermelidir
işlevini kullanın. Bir reklam alanı satıcısı navigator.runAdAuction()
özelliğini aradığında generatedBid()
işlevi; ilgi alanına göre, tarayıcının üyesi olduğu ilgi gruplarının her biri için bir kez
grubun sahibi teklif vermeye davet edildi. Başka bir deyişle generateBid()
, her aday için bir kez çağrılır
reklam. Satıcı, iletilen açık artırma yapılandırma parametresinde bir decisionLogicUrl
mülkü sağlıyor.
Hedef: navigator.runAdAuction()
. Bu URL'deki kod, scoreAd()
fonksiyonunu içermelidir.
generateBid()
tarafından döndürülen tekliflerin her birini puanlamak üzere açık artırmadaki her teklif veren için koşun.
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 reklamı, ilişkili teklifi ve meta verileriyle birlikte tek tek kontrol eder ve ardından reklama
sayısal tercih edilebilirlik puanı.
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ındanjoinAdInterestGroup()
öğesine geçirilen nesne. (İlgi alanı grubudailyUpdateUrl
aracılığıyla güncellenebilir.)
auctionSignals
Açık artırma yapılandırması bağımsız değişkeninin bir özelliği Reklam alanı satıcısı tarafındannavigator.runAdAuction()
. Bu, sayfa bağlamı hakkında bilgi (ör. reklam boyutu ve yayıncı kimliği), açık artırma türü (ilk fiyat veya ikinci fiyat) ve diğer meta verilerdir.
perBuyerSignals
auctionSignals
ürününde olduğu gibi, açık artırma yapılandırmasının bir özelliğidir. bağımsız değişkeninavigator.runAdAuction()
konumuna satıcı tarafından iletildi. Bu sayede bağlamsal Satıcı bir SSP ise, bu satıcı sayfayla ilgili olarak alıcının sunucusundan alıcı sunucularına gerçek zamanlı bir teklif çağrısı gerçekleştirir ve yanıtı geri gönderirse veya yayıncı doğrudan alıcının sunucusuyla iletişim kurar. Böyle bir durum söz konusuysa alıcı kriptografik bir oluşturmalarına karşı koruma olarak generateBid() içindeki sinyallerin imzasına da sahip olursunuz.
trustedBiddingSignals
AnahtarlarıtrustedBiddingSignalsKeys
ilgi alanı grubu ve değerleritrustedBiddingSignals
isteğinde döndürülen kişiler.
browserSignals
Tarayıcı tarafından oluşturulmuş, sayfayla ilgili bilgileri içerebilecek bir nesne bağlam (satıcının aksi takdirde taklit edebileceği geçerli sayfanınhostname
adresi gibi) ve veriler (ör. grubun daha önce bir açık artırmayı ne zaman kazandığının kaydı, izin verilebilir.) cihaz üzerinde sıklık sınırı).
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, bir bid
değerini hesaplamak için fonksiyonun
parametreleridir. Ö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, örneğin satıcının bu teklif hakkında öğrenmeyi beklediği bilgiler veya reklam öğesidir. Satıcı](/privacy-sandbox/resources/glossary#ssp) açık artırmada ve kararında bu bilgileri kullanır reklam öğesidir. Satıcı, açık artırmada ve kararında bu bilgileri kullanır. mantığıyla başlayalım.
bid
Açık artırmaya sokacak sayısal bir teklif. Satıcı, karşılaştırma yapabilecek bir konumda olmalıdır. farklı alıcılardan teklif alır, bu nedenle teklifler satıcı tarafından seçilen bir birimde olmalıdır (ör. "ABD doları başına bin"). Teklif sıfır veya negatif olursa, bu ilgi alanı grubu Satıcı açık artırmasının farkındadır. Bu mekanizma sayesinde alıcı, reklamverenle ilgili tüm reklamverenler için reklamları gösterilebilir veya görünmeyebilir.
render
Bu teklifin açık artırmayı kazanması durumunda reklam öğesini oluşturmak için kullanılacak URL veya URL listesi. (Birden Çok Parçadan Oluşan Reklamlar bölümünü inceleyin. bakın.) Değerin, şunlardan birininrenderUrl
ile eşleşmesi gerekir: ilgi alanı grubu için tanımlanan reklamlar.
adComponents
En fazla 20 bileşenden oluşan isteğe bağlı bir liste birden fazla parçadan oluşan reklamlar, ilgi alanı grubu bağımsız değişkenininadComponents
özelliğinden alınırnavigator.joinAdInterestGroup()
tarihine geçti.
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 sözcükleri yerine getirirseniz, 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
Daha sonra, kullanıcı reklam alanı satan bir siteyi (bu örnekte bir haber web sitesi) ziyaret eder. Site, reklam envanterini kullanarak programatik olarak sattığını, gerçek zamanlı teklif verme.
4. Tarayıcıda bir reklam açık artırması yapılır
Açıklayıcı bölümü: Cihaz Üzerinde Açık Artırma Gerçekleştiren Satıcılar
Reklam açık artırması muhtemelen yayıncının SSP'si tarafından yapılacaksa veya yayıncının kendisi. Açık artırmanın amacı, tek bir kampanya için en uygun reklamı seçmektir Sayfada kullanılabilir reklam alanı olmalıdır. Açık artırma, reklamı görecek olan tarayıcının üyesi olduğu reklam alanı alıcılarına ve satıcılarına ait verilerin yanı sıra Anahtar/Değer Hizmetleri'nden alınan veriler de bulunur.
Reklam alanı satıcısı, şunu çağırarak bir reklam açık artırması başlatmak için kullanıcının tarayıcısına istekte bulunur:
navigator.runAdAuction()
.
Ö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()
,URNurn:uuid:<something>
reklam açık artırması sonucu Bu öğenin kodu yalnızca çitle ayrılmış bir çerçeveye geçirildiğinde tarayıcı tarafından çözülebilir
oluşturma için: Yayıncı sayfası kazanan reklamı denetleyemiyor.
decisionLogicUrl
komut dosyası, her bir reklamı, ilişkili teklifiyle birlikte dikkate alır.
meta verileri kullanır ve ardından bu meta verilere istediğiniz sayısal bir puan atar.
auctionConfig
tesis
Özellik | Zorunlu | Örnek | Rol |
---|---|---|---|
seller |
Zorunlu | 'https://ssp.example' |
Satıcının kökeni. |
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 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': {...}, |
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', |
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. Açık Artırmayı Okuyun
Katılımcılar
Daha fazla bilgi için Protected Audience açıklayıcısına göz atın.
Reklamlar nasıl seçilir?
decisionLogicUrl
konumundaki kod (
runAdAuction()
) scoreAd()
işlevi içermelidir. Bu, her reklam için bir kez yayınlanır
karar vermeniz gerekir.
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ğeri.
auctionConfig
Açık artırma yapılandırma nesnesinavigator.runAdAuction()
içine iletildi.
trustedScoringSignals
Açık artırma anında satıcının güvenilir sunucusundan alınan değerler Bu, satıcının reklamla ilgili görüşünü yansıtan
browserSignals
Tarayıcının yapılandırdığı bilgileri de içeren, tarayıcı tarafından oluşturulan bir nesne satıcının açık artırma komut dosyasının neyi doğrulamak isteyebileceğini bilir:
{
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. Ait olduğu kuruluş
scoreAd()
mantığı, içeriğe dayalı kazanandan daha iyi olmayan reklamları reddetmektir.
5. Satıcı ve katılımcı alıcılar, Anahtar/Değer Hizmetinden gerçek zamanlı veriler alır
Açıklayıcı bölümü: Korunan Kitle Anahtar/Değer Hizmeti hizmetinden gerçek zamanlı veriler alma.
Reklam açık artırmasında reklam alanı satıcısı, aşağıdakileri yaparak belirli reklam öğeleriyle ilgili gerçek zamanlı veriler alabilir:
öğesinin trustedScoringSignalsUrl
özelliğini kullanarak Anahtar/Değer hizmetine istek göndermek
açık artırma yapılandırması bağımsız değişkeni, anahtarlarla birlikte navigator.runAdAuction()
adlı iş ortağına aktarıldı
tümünün ads
ve adComponents
alanlarındaki tüm girişlerin renderUrl
özelliklerinden
dahil edilir.
Benzer şekilde, bir reklam alanı alıcısı şunu kullanarak Anahtar/Değer Hizmeti hizmetinden gerçek zamanlı veriler isteyebilir:
İlgi alanı grubu bağımsız değişkeninin trustedBiddingSignalsUrl
ve trustedBiddingSignalsKeys
özellikleri
navigator.joinAdInterestGroup()
tarihine geçti.
runAdAuction()
çağrıldığında, tarayıcı her bir reklam alıcısının güvenilir sunucusuna bir istek gönderir. İlgili içeriği oluşturmak için kullanılan
İ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
Açıklayıcı bölümü: Tarayıcılar Kazanan Reklamı Oluşturma
Daha önce açıklandığı gibi: runAdAuction()
tarafından verilen söz, URN olarak çözümlenir.
Bu resim, oluşturma için çitle ayrılmış çerçeveye aktarılır ve site,
kazanan reklamdır.
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 (ayrıca scoreAd()
sağlayan)
açık artırma sonucunu bildirmek için bir reportResult()
işlevi ekleyin.
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 nesnesinavigator.runAdAuction()
içine 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ürülen değeri, kazanan teklif verenin sellerSignals
bağımsız değişkeni olarak kullanılır.
reportWin()
işlevi.
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 (ayrıca generateBid()
sağlamıştır) bir
Açık artırma sonucunu bildirmek için reportWin()
işlevi.
reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
...
}
Bu işleve iletilen bağımsız değişkenler şunlardır:
auctionSignals
veperBuyerSignals
Kazanan teklif veren içingenerateBid()
reklam grubuna aynı değerler iletildi.
sellerSignals
reportResult()
için döndürülen değer. Bu değer, satıcıya alıcıya bilgi iletme fırsatı sunar.
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 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. Şunları yapabilirler:
hem scoreAd()
hem de generateBid()
içinde farklı URL bağımsız değişkenleriyle birden çok kez çağrılmalıdır.
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 edildi (örneğin, yeni gezinme bölümü nedeniyle) hiçbir 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 kullanıyorsanız şunları yapmanız gerekir:
BiddingAndScoringDebugReportingAPI
işaretini ekleyerek yöntemleri açıkça etkinleştirmelisiniz. Öğe
flag'i etkinleştirirseniz yöntemler kullanılabilir durumda kalır ancak hiçbir şey yapılmaz.
8. Bir reklam tıklaması raporlanır
Çitli çerçevede oluşturulan bir reklamın tıklanması raporlanır. Bunun işleyiş şekli hakkında daha fazla bilgi edinmek için Parmaklık Çerçevelerle İlgili Reklamlar Raporu adlı makaleyi inceleyin.
Aşağıdaki şemada, Protected Audience reklam açık artırmasının her bir aşaması özetlenmektedir:
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 reklamverenin ne düşündüğüyle ilgili bilgiyi, reklamverenin değil, tarayıcı belirli bir değer belirlemeniz gerekir.
- Reklamverenler bir ilgi alanına göre reklam yayınlayabilir, ancak bu ilgi alanını diğer , özellikle de bu kişinin kim olduğu veya hangi sayfayı ziyaret ettiği gibi bilgiler.
Protected Audience, API'yi kullanacak geliştiricilere daha iyi hizmet sunmak için TURTLEDOVE'un yanı sıra ilgili teklifler koleksiyonundan geliştirildi:
- SPARROW içinde: Criteo, Arkadaş Bitkiler projesinin Güvenilir yürütme ortamında (TEE) çalışan ("Gatekeeper") hizmet modelidir. 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's PARRROT tekliflerde, alıcıların ve satıcıların cihaz üzerinde açık artırmadaki farklı rolleri açıklanıyor. Protected Audience'ın reklam teklifi/puanlama akışı bu çalışmaya göre belirlenir.
- RTB House Sonuca dayalı ve Ürün düzeyi TURTLEDOVE değişiklikler, cihaz üzerinde açık artırmanın anonimlik modelini ve kişiselleştirme özelliklerini iyileştirdi.
- PARAKEET: Microsoft'un TEE'de çalışan bir proxy sunucusuna dayanan TURTLEDOVE benzeri bir reklam hizmeti teklifi Reklam isteklerini anonim hale getirmek ve gizliliği uygulamak için tarayıcı ile reklam teknolojisi sağlayıcılar arasında özellikler. Protected Audience, bu proxy modelini benimsemedi. JavaScript API'lerini kullanıma sunuyoruz ve Protected Audience'ın birbiriyle uyumlu hale gelmesini amaçlıyor. özellikleri hakkında daha fazla bilgi edinin.
Protected Audience henüz bir web sitesinin reklam ağının kullanıcının hangi reklamları gördüğünü öğrenmesini engellemez. Beklediğimiz zaman içinde daha gizli hale gelecek şekilde API'yi değiştirebilirsiniz.
Hangi tarayıcı yapılandırması kullanılabilir?
Kullanıcılar, etkinleştirerek veya devre dışı bırakarak Chrome'da Özel Korumalı Alan denemelerine katılımlarını ayarlayabilirler
chrome://settings/adPrivacy
grubundaki üst düzey ayar. İlk test sırasında insanlar
Protected Audience'ı devre dışı bırakmak için bu üst düzey Özel Korumalı Alan ayarını kullanabilirsiniz. Chrome'un
Kullanıcıların web üzerinden eklendikleri ilgi alanı gruplarının listesini görmesi ve yönetmesi için
daha fazla bilgi edineceksiniz. Özel Korumalı Alan teknolojilerinin kendisinde olduğu gibi, kullanıcı ayarları
kullanıcıların, düzenleyici kurumların ve diğerlerinin geri bildirimleriyle gelişiyor.
Protected Audience teklifi ilerledikçe Chrome'da mevcut ayarları güncellemeye devam edeceğiz: testler ve geri bildirim üzerine kuruludur. Gelecekte Protected Audience'ı ve ilişkili verileri yönetmek için daha ayrıntılı ayarlar sunmayı planlıyoruz.
API çağrıları, kullanıcılar Gizli modda gezinirken grup üyeliğine erişemez. Üyelik: Kullanıcılar site verilerini temizlediğinde kaldırılır.
Etkileşimde bulunun ve geri bildirim paylaşın
- GitHub: Teklifi okuyun ve sorular oluşturun ve tartışmayı takip edin.
- W3C: Web Reklamcılığı İşini Geliştirme sayfasında sektördeki kullanım alanlarını tartışma Grup.
- Geliştirici desteği: Şurada sorular sorun ve tartışmalara katılın: Özel Korumalı Alan Geliştirici Desteği deposu.
- FLEDGE posta listesi: fledge-api-announce API ile ilgili duyuruları ve güncellemeleri sağlar.
- Protected Audience için planlanmış görüşmelere katılın (her bir ikinci hafta). Herkes katılabilir. Katılmak için öncelikle WICG Aktif olarak katılabilir veya sadece dinleyebilirsiniz.
- Özel Korumalı Alan geri bildirim formunu kullanın özelliğini kullanarak geri bildiriminizi herkese açık forumlar dışında Chrome ekibiyle gizli olarak paylaşabilirsiniz.
Destek alın
Uygulamanız, demo hakkında veya belgeler hakkında soru sormak için:
- Yeni bir sayı aç özel korumalı alan-dev-destek deposunda yer alır. Protected Audience için sorun şablonunu seçtiğinizden emin olun.
- GitHub'daki demo kodu deposunda bir sorun bildirin.
- API ile kullanım alanlarınızı nasıl karşılayacağınız hakkında daha genel sorular için teklif deposunda bir sorun oluşturun.
Chrome'da Protected Audience API uygulamayla ilgili hatalar ve sorunlar için: * Mevcut sorunları görüntüleyin raporlandığından emin olun. * crbug.com/new adresinde yeni bir sorun bildirin.
Güncellemeleri al
- API'deki durum değişikliklerinden haberdar olmak için geliştiriciler için de geçerlidir.
- API ile ilgili devam eden tüm tartışmaları yakından takip etmek için şuradaki teklif sayfasındaki İzle düğmesini tıklayın: GitHub'ı tıklayın. Bunun için bir GitHub oluşturmanız veya bir GitHub oluşturmanız gerekir hesap.
- Özel Korumalı Alan ile ilgili genel güncellemeleri almak için RSS özet akışına abone olun [İlerleme Durumu Sandbox (korumalı alan) girin.
Daha fazla bilgi
- Protected Audience API: Teklife daha az teknik genel bakış.
- Protected Audience demosu: Temel Protected Audience dağıtımının adım adım açıklamalı kılavuzu.
- Protected Audience demo videosu: demo kodunu açıklıyor ve Protected Audience hata ayıklaması için Chrome Geliştirici Araçları'nın nasıl kullanılacağını gösteriyor.
- Protected Audience API teknik açıklaması
- Özel Korumalı Alan hakkında ayrıntılı bilgi
- Prototip oluşturma amacı
Fotoğraf: Ray Hennessy tarafından Unsplash'te yayınlandı.