راهنمای توسعهدهندگان برای مزایدههای تبلیغاتی روی دستگاه برای ارائه خدمات بازاریابی مجدد و مخاطبان سفارشی، بدون ردیابی شخص ثالث درونسایتی.
برای کسانی که با API مخاطب محافظتشده (Protected Audience API) آشنا نیستند، برای توضیح سطح بالای API ، مرور کلی API مخاطب محافظتشده را مطالعه کنند.
این پست برای توسعهدهندگان به عنوان مرجع فنی برای جدیدترین نسخه آزمایشی API مخاطب محافظتشده نوشته شده است. نسخه آزمایشی (دمو) از پیادهسازی اولیه API مخاطب محافظتشده و همچنین مراجع API برای خریداران و فروشندگان تبلیغات در دسترس است.
وضعیت پیادهسازی
- پیشنهاد API مخاطبان محافظتشده اکنون در حال دسترسی عمومی است. سوالات خود را مطرح کنید و بحث را دنبال کنید .
- وضعیت قابلیتهای در حال انتظار API مخاطب محافظتشده، جزئیات تغییرات و بهبودهای API و ویژگیهای API مخاطب محافظتشده را شرح میدهد.
- وضعیت چشمک زدن
- وضعیت پلتفرم کروم برای API مخاطبان محافظتشده : مختص به API مخاطبان محافظتشده در کروم.
- وضعیت پلتفرم کروم API تبلیغات : مجموعهای از APIها برای تسهیل تبلیغات: API مخاطب محافظتشده، موضوعات، قابهای محصور و گزارشدهی انتساب.
برای اطلاع از تغییرات وضعیت در API، به لیست پستی توسعهدهندگان بپیوندید.
API مخاطب محافظتشده چیست؟
API مخاطب محافظتشده، یک API سندباکس حریم خصوصی است که برای ارائه موارد استفاده از بازاریابی مجدد و مخاطبان سفارشی طراحی شده است، به گونهای طراحی شده است که اشخاص ثالث نتوانند از آن برای ردیابی رفتار مرور کاربر در سایتهای مختلف استفاده کنند. این API امکان مزایدههای روی دستگاه را توسط مرورگر فراهم میکند تا تبلیغات مرتبط را برای وبسایتهایی که کاربر قبلاً بازدید کرده است، انتخاب کند.
رابط برنامهنویسی کاربردی مخاطبان محافظتشده (Protected Audience API) اولین آزمایشی است که در کرومیوم و در چارچوب خانوادهی پیشنهادهای TURTLEDOVE پیادهسازی میشود.
API مخاطب محافظتشده را امتحان کنید
مرجع API موجود
این سند به عنوان مروری بر API مخاطب محافظتشده عمل میکند. اگر به دنبال روشها و پارامترهای خاص API هستید:
- راهنمای خریداران برای
joinAdInterestGroup()وgenerateBid() - راهنمای فروشنده برای API مخاطب محافظتشده
runAdAuction() - راهنمای خریداران برای
reportWin()و راهنمای فروشندگان برایreportResult() - عیبیابی API مخاطب محافظتشده
همچنین میتوانید بهترین شیوههای حراج تبلیغات API مخاطبان محافظتشده را مطالعه کنید.
نسخه آزمایشی API مخاطبان محافظتشده
یک راهنمای کلی از پیادهسازی اولیهی رابط برنامهنویسی کاربردی (API) مخاطب محافظتشده در سایتهای تبلیغکننده و ناشر، در protected-audience-demo.web.app/ موجود است.
این API را تست کنید
شما میتوانید API مخاطب محافظتشده را برای یک کاربر در کروم بتا ۱۰۱.۰.۴۹۵۱.۲۶ و بالاتر روی دسکتاپ آزمایش کنید:
- تمام APIهای حریم خصوصی تبلیغات را در
chrome://settings/adPrivacyفعال کنید. - پرچمها را از خط فرمان تنظیم کنید . لیست کامل پرچمهای موجود برای API مخاطبان محافظتشده را میتوانید در جستجوی کد کرومیوم پیدا کنید.
نمایش تبلیغات در iframe یا قابهای حصارکشی شده
بسته به اینکه کدام پرچمها تنظیم شده باشند، تبلیغات میتوانند در یک <iframe> یا یک <fencedframe> رندر شوند.
برای استفاده از <fencedframe> برای نمایش تبلیغات:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
برای استفاده از <iframe> برای نمایش تبلیغات:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
برای فعال کردن روشهای گزارشدهی موقتِ باخت/برد در دیباگ، پرچم BiddingAndScoringDebugReportingAPI را وارد کنید.
ویژگیهای پشتیبانیشده
API مخاطب محافظتشده پشت feature flags در کرومیوم، اولین آزمایشی است که ویژگیهای زیر از API مخاطب محافظتشده را آزمایش میکند:
- گروههای علاقهمند : توسط مرورگر ذخیره میشوند، به همراه فرادادههای مرتبط برای پیکربندی پیشنهاد قیمت و رندر تبلیغات.
- پیشنهاد قیمت روی دستگاه توسط خریداران (DSP یا تبلیغکننده) : بر اساس گروههای علاقهمندی ذخیرهشده و سیگنالهای فروشنده.
- انتخاب آگهی روی دستگاه توسط فروشنده (SSP یا ناشر) : بر اساس پیشنهادات حراج و فرادادههای خریداران.
- رندرینگ تبلیغات در نسخهی موقتاً غیرفعالشدهی Fenced Frames : با امکان دسترسی به شبکه و ثبت وقایع برای رندرینگ تبلیغات.
برای اطلاعات بیشتر در مورد پشتیبانی از ویژگیها و محدودیتها، به توضیح API مخاطب محافظتشده مراجعه کنید.
مجوزهای گروههای ذینفع
پیشفرض پیادهسازی فعلی API مخاطب محافظتشده، امکان فراخوانی joinAdInterestGroup() از هر نقطهای از صفحه، حتی از iframeهای بین دامنهای است.
در آینده، به محض اینکه صاحبان سایت وقت داشته باشند سیاستهای مجوزهای iframe بین دامنهای خود را بهروزرسانی کنند، برنامه این است که فراخوانیهای iframeهای بین دامنهای را غیرفعال کنند.
سرویس کلید/مقدار
برای پشتیبانی از حراج تبلیغاتی API مخاطبان محافظتشده، مرورگر میتواند به یک سرویس کلید/مقدار دسترسی پیدا کند تا اطلاعات بلادرنگ را که از حراج تبلیغاتی API مخاطبان محافظتشده پشتیبانی میکند، بازیابی کند. این اطلاعات را میتوان به روشهای مختلفی استفاده کرد:
- خریداران ممکن است بخواهند بودجه باقی مانده را در یک کمپین تبلیغاتی محاسبه کنند.
- ممکن است از فروشندگان خواسته شود که آگهیهای تبلیغاتی را با سیاستهای ناشر مطابقت دهند.
کد سرویس کلید/مقدار API مخاطب محافظتشده اکنون در دسترس است. برای بهروزرسانی وضعیت، به پست وبلاگ اطلاعیه مراجعه کنید.
برای آزمایش اولیه، مدل « سرور خودتان را بیاورید » معرفی شد. در درازمدت، تکنسینهای تبلیغات باید از سرویسهای کلید/مقدار API محافظتشدهی متنباز که در محیطهای اجرایی قابل اعتماد اجرا میشوند، استفاده کنند.
برای بهروزرسانیهای جدول زمانی به پست وبلاگ خدمات API مخاطبان محافظتشده مراجعه کنید. ما قبل از وقوع این انتقال، اطلاعیههای مهمی را برای توسعهدهندگان جهت شروع آزمایش و پذیرش ارائه خواهیم داد.
پشتیبانی از ویژگی را تشخیص دهید
قبل از استفاده از API، بررسی کنید که آیا توسط مرورگر پشتیبانی میشود و در سند موجود است یا خیر:
'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');
API مخاطب محافظتشده چگونه کار میکند؟
در این مثال، کاربر وبسایت یک سازنده دوچرخه سفارشی را مرور میکند، سپس بعداً از یک وبسایت خبری بازدید میکند و تبلیغی برای یک دوچرخه جدید از سازنده دوچرخه به او نشان داده میشود.
ویژگیهای API مخاطب محافظتشده به مرور زمان و با پیشرفت کار بر روی پیادهسازی، اضافه خواهد شد.
۱. کاربری از یک سایت تبلیغکننده بازدید میکند

تصور کنید که کاربری از وبسایت یک سازنده دوچرخه سفارشی (که در این مثال تبلیغکننده است) بازدید میکند و مدتی را در صفحه محصول یک دوچرخه فولادی دستساز میگذراند. این امر فرصتی برای سازنده دوچرخه جهت بازاریابی مجدد فراهم میکند.
۲. از مرورگر کاربر خواسته میشود که یک گروه علاقهمندی اضافه کند.

پلتفرم سمت تقاضای تبلیغکننده (DSP) (یا خود تبلیغکننده) تابع navigator.joinAdInterestGroup() را فراخوانی میکند تا از مرورگر بخواهد یک گروه مورد علاقه را به لیست گروههایی که مرورگر عضو آنهاست اضافه کند.
در این مثال، نام گروه custom-bikes و نام مالک آن dsp.example است. مالک گروه مورد نظر (در این مورد، DSP) خریدار حراج تبلیغات Protected Audience API خواهد بود. عضویت در گروه مورد نظر توسط مرورگر، در دستگاه کاربر ذخیره میشود و با فروشنده مرورگر یا هیچ کس دیگری به اشتراک گذاشته نمیشود.
- توضیح API مخاطبان محافظتشده را بخوانید : مرورگرها گروههای علاقهمند را ثبت میکنند .
- راهنمای API: خریداران و DSPها را مطالعه کنید ، نحوهی
joinAdInterestGroup()و ایجاد پیشنهاد قیمت را بیاموزید.
تبلیغات را برای یک گروه خاص مشخص کنید
اشیاء ads و adComponents شامل یک URL برای آگهی تبلیغاتی و به صورت اختیاری، فرادادههای دلخواه هستند که میتوانند در زمان پیشنهاد قیمت استفاده شوند. به عنوان مثال:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
خریداران چگونه پیشنهاد قیمت میدهند؟
generateBid() برای هر گروه ذینفع که مرورگر عضو آن است فراخوانی میشود—البته اگر از صاحب گروه ذینفع برای پیشنهاد قیمت دعوت شده باشد.
مستندات توسعهدهندهی generatedBid() را مطالعه کنید.
۳. کاربر از سایتی بازدید میکند که فضای تبلیغاتی میفروشد.

بعداً، کاربر از سایتی بازدید میکند که فضای تبلیغاتی میفروشد، در این مثال یک وبسایت خبری. این سایت دارای موجودی تبلیغات است که به صورت برنامهریزیشده با پیشنهاد قیمت در لحظه میفروشد.
۴. یک مزایده تبلیغاتی در مرورگر اجرا میشود

احتمالاً حراج تبلیغات توسط ارائهدهندهی سمت تأمین (SSP) ناشر یا خود ناشر انجام میشود. هدف از این حراج، انتخاب مناسبترین تبلیغ برای یک جایگاه تبلیغاتی موجود در صفحهی فعلی است. این حراج، گروههای ذینفعی که مرورگر عضو آنهاست را به همراه دادههای خریداران فضای تبلیغاتی و فروشندگان از سرویسهای Key/Value در نظر میگیرد.
- توضیح API مخاطب محافظتشده را بخوانید : فروشندگان حراجهای درون دستگاهی اجرا میکنند
- راهنمای API را مطالعه کنید : فروشندگان میتوانند درباره
runAdAuction()و بهترین شیوههای کاهش تأخیر در حراج تبلیغات اطلاعات بیشتری کسب کنند.
۵. فروشنده و خریداران شرکتکننده، دادههای بلادرنگ را از سرویس کلید/مقدار درخواست میکنند.

در طول یک حراج تبلیغاتی، فروشنده میتواند با ارسال درخواستی به سرویس Key/Value خود، دادههای بلادرنگ در مورد آگهیهای تبلیغاتی خاص را درخواست کند. فروشنده میتواند این اطلاعات را در طول runAdAuction() توسط ویژگی trustedScoringSignalsUrl ، به همراه کلیدهای ویژگیهای renderUrl تمام ورودیهای موجود در فیلدهای ads و adComponents از تمام گروههای ذینفع در حراج، درخواست کند.
یک خریدار میتواند با استفاده از ویژگیهای trustedBiddingSignalsUrl و trustedBiddingSignalsKeys از آرگومان گروه علاقهمندی که به navigator.joinAdInterestGroup() ارسال شده است، دادههای بلادرنگ را از سرویس Key/Value خود درخواست کند.
وقتی تابع runAdAuction() فراخوانی میشود، مرورگر درخواستی را به سرور مورد اعتماد هر خریدار تبلیغ ارسال میکند. آدرس اینترنتی (URL) این درخواست ممکن است چیزی شبیه به این باشد:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- آدرس اینترنتی پایه از
trustedBiddingSignalsUrlمیآید. -
hostnameتوسط مرورگر ارائه میشود. - مقدار
keysازtrustedBiddingSignalsKeysگرفته شده است.
پاسخ به این درخواست یک شیء JSON است که مقادیری را برای هر یک از کلیدها ارائه میدهد.
- توضیح API مخاطب محافظتشده : دریافت دادههای بلادرنگ از سرویس کلید/مقدار API مخاطب محافظتشده را مطالعه کنید.
- متنباز کردن سرویس کلید/مقدار API مخاطب محافظتشده را مطالعه کنید.
۶. تبلیغ برنده نمایش داده میشود

وقتی پرچم resolveToConfig در پیکربندی حراج روی true تنظیم شده باشد، promise برگردانده شده توسط runAdAuction() به یک شیء پیکربندی قاب حصارکشی شده ( FencedFrameConfig ) تبدیل میشود. پیکربندی قاب توسط یک قاب حصارکشی شده برای پیمایش قاب به تبلیغ برنده استفاده میشود، اما URL تبلیغ برای جاسازیکننده قاب قابل مشاهده نیست.
شیء پیکربندی Fenced frame از M114 به بعد در دسترس است. برای اطلاعات بیشتر در مورد شیء FencedFrameConfig ، به مقاله وبلاگ کروم مراجعه کنید.
- توضیح API مخاطب محافظتشده را بخوانید : مرورگرها تبلیغ برنده را رندر میکنند
۷. نتیجه مزایده گزارش میشود.
برنامه بلندمدت این است که به مرورگر اجازه داده شود با استفاده از APIهای Private Aggregation، نتایج حراج را برای فروشنده و خریدار گزارش دهد.
به عنوان یک مکانیزم گزارشدهی موقت در سطح رویداد، کدی که reportResult() برای فروشنده و reportWin() برای پیشنهاددهنده برنده پیادهسازی میکند، میتواند تابع sendReportTo() را فراخوانی کند. این تابع یک آرگومان واحد دریافت میکند: رشتهای که نشاندهنده یک URL است که پس از اتمام حراج دریافت میشود و اطلاعات سطح رویداد را که باید گزارش شود، کدگذاری میکند.
- راهنمای API را بخوانید : درباره گزارشدهی فروشنده و خریدار اطلاعات کسب کنید
۸. کلیک روی تبلیغ گزارش شده است

کلیک روی تبلیغی که در یک قاب محصور نمایش داده میشود، گزارش میشود. برای کسب اطلاعات بیشتر در مورد نحوه عملکرد این قابلیت، به بخش گزارش تبلیغات قابهای محصور مراجعه کنید.

تفاوت بین API مخاطب محافظتشده و TURTLEDOVE چیست؟
رابط برنامهنویسی کاربردی مخاطبان محافظتشده (Protected Audience API) اولین آزمایشی است که در کرومیوم و در چارچوب خانوادهی پیشنهادهای TURTLEDOVE پیادهسازی میشود.
API مخاطب محافظتشده از اصول سطح بالای TURTLEDOVE پیروی میکند. برخی از تبلیغات آنلاین بر اساس نمایش تبلیغ به فردی که احتمالاً علاقهمند است و قبلاً با تبلیغکننده یا شبکه تبلیغاتی تعامل داشته است، انجام میشوند. از نظر تاریخی، این روش با شناسایی فرد خاص توسط تبلیغکننده هنگام مرور وبسایتها، که یک نگرانی اصلی در مورد حریم خصوصی در وب امروزی است، کار میکرده است.
تلاش TURTLEDOVE در مورد ارائه یک API جدید برای رسیدگی به این مورد استفاده است، ضمن اینکه برخی پیشرفتهای کلیدی در زمینه حریم خصوصی را نیز ارائه میدهد:
- مرورگر، نه تبلیغکننده، اطلاعات مربوط به آنچه تبلیغکننده فکر میکند یک فرد به آن علاقه دارد را در اختیار دارد.
- تبلیغکنندگان میتوانند بر اساس یک علاقه، تبلیغات را ارائه دهند، اما نمیتوانند آن علاقه را با سایر اطلاعات مربوط به یک شخص - به ویژه اینکه آنها چه کسی هستند یا از چه صفحهای بازدید میکنند - ترکیب کنند.
API مخاطب محافظتشده از TURTLEDOVE و مجموعهای از پیشنهادهای مرتبط برای اصلاحات جهت ارائه خدمات بهتر به توسعهدهندگانی که از API استفاده میکنند، نشأت گرفته است:
- در SPARROW : Criteo پیشنهاد اضافه کردن یک مدل سرویس ("Gatekeeper") را داد که در یک محیط اجرای قابل اعتماد (TEE) اجرا میشود. API مخاطب محافظتشده شامل استفاده محدودتری از TEEها، برای جستجوی دادههای بلادرنگ و گزارشهای تجمیعی است.
- پیشنهادهای TERN از NextRoll و PARRROT از Magnite نقشهای مختلفی را که خریداران و فروشندگان در حراج روی دستگاه داشتند، شرح میدادند. جریان پیشنهاد قیمت/امتیازدهی تبلیغات Protected Audience API بر اساس این کار است.
- اصلاحات مبتنی بر نتیجه و سطح محصول TURTLEDOVE خانه RTB، مدل ناشناس بودن و قابلیتهای شخصیسازی حراج روی دستگاه را بهبود بخشید.
- PARAKEET پیشنهاد مایکروسافت برای یک سرویس تبلیغاتی شبیه به TURTLEDOVE است که به یک سرور پروکسی که در یک TEE بین مرورگر و ارائه دهندگان فناوری تبلیغات اجرا میشود، متکی است تا درخواستهای تبلیغاتی را ناشناس کرده و ویژگیهای حریم خصوصی را اعمال کند. API مخاطب محافظتشده این مدل پروکسی را اتخاذ نکرده است. ما در حال همسوسازی APIهای جاوا اسکریپت برای PARAKEET و API مخاطب محافظتشده هستیم تا از کارهای آینده برای ترکیب بیشتر بهترین ویژگیهای هر دو پیشنهاد پشتیبانی کنیم.
API مخاطب محافظتشده هنوز مانع از این نمیشود که شبکه تبلیغاتی یک وبسایت متوجه شود یک شخص کدام تبلیغات را میبیند. ما انتظار داریم API را به مرور زمان اصلاح کنیم تا خصوصیتر شود.
آیا میتوان از API موضوعات (Topics API) به همراه API مخاطبان محافظتشده (Protected Audience API) استفاده کرد؟
بله. یک موضوع مشاهدهشده برای کاربر فعلی، که توسط API موضوعات ارائه شده است، میتواند به عنوان اطلاعات زمینهای توسط یک فروشنده یا پیشنهاددهنده استفاده شود. یک موضوع میتواند در ویژگیهای زیر گنجانده شود:
-
auctionSignals، یک ویژگی از شیء پیکربندی حراج که بهnavigator.runAdAuction()ارسال شده است. -
userBiddingSignals، یک ویژگی از شیء پیکربندی گروه علاقهمندیها که بهnavigator.joinAdInterestGroup()ارسال شده است.
پیکربندی مرورگر موجود
کاربران میتوانند با فعال یا غیرفعال کردن تنظیمات سطح بالا در chrome://settings/adPrivacy ، میزان مشارکت خود در آزمایشهای Privacy Sandbox در کروم را تنظیم کنند.
در طول آزمایش اولیه، افراد میتوانند از این تنظیمات سطح بالای Privacy Sandbox برای انصراف از API مخاطب محافظتشده استفاده کنند. کروم قصد دارد به کاربران اجازه دهد فهرست گروههای مورد علاقهای را که در وبسایتهایی که بازدید کردهاند به آنها اضافه شدهاند، مشاهده و مدیریت کنند. همانند خود فناوریهای Privacy Sandbox، تنظیمات کاربر ممکن است با بازخورد کاربران، تنظیمکنندهها و دیگران تغییر کند.
ما به بهروزرسانی تنظیمات موجود در کروم بر اساس آزمایشها و بازخوردها ادامه خواهیم داد. در آینده، قصد داریم تنظیمات جزئیتری را برای مدیریت API مخاطب محافظتشده و دادههای مرتبط ارائه دهیم.
فراخوانیکنندگان API نمیتوانند وقتی کاربران در حالت ناشناس مرور میکنند به عضویت گروه دسترسی داشته باشند و وقتی کاربران دادههای سایت خود را پاک میکنند، عضویت حذف میشود.
آیا کتابچههای راهنمای مخاطبان محافظتشده توسط مرورگر ذخیره میشوند؟
منابعی که شامل کتابچههای کاری «مخاطبان محافظتشده» هستند - کتابچههای کاری تولید و گزارش پیشنهاد خریدار، و کتابچههای کاری امتیازدهی و گزارش تبلیغات فروشنده - توسط مرورگر ذخیره میشوند. میتوانید از هدر Cache-Control برای کنترل رفتار ذخیره استفاده کنید.
مشارکت کنید و بازخورد خود را به اشتراک بگذارید
دریافت پشتیبانی
برای پرسیدن سوال و دریافت پشتیبانی در مورد پیادهسازی، نسخه آزمایشی یا مستندات:
- گیتهاب : توضیحات را بخوانید، سوال بپرسید و بحث را دنبال کنید .
- نسخه آزمایشی : مشکلی را در مخزن کد آزمایشی مطرح کنید.
- پیادهسازی کروم : برای اشکالات یا مسائل مربوط به پیادهسازی API مخاطب محافظتشده در کروم، میتوانید مشکلات موجود را مشاهده کنید یا یک مشکل جدید مطرح کنید .
برای سوالات عمومیتر در مورد برآورده کردن نیازهایتان با API مخاطب محافظتشده، یک مشکل را در مخزن API ثبت کنید . همچنین میتوانید موارد استفاده صنعتی را در گروه تجاری بهبود تبلیغات وب W3C مورد بحث قرار دهید.
از فرم بازخورد Privacy Sandbox برای به اشتراک گذاشتن بازخورد به صورت خصوصی با تیم Chrome خارج از انجمنهای عمومی استفاده کنید.
انصراف
آیا میخواهید از API مخاطبان محافظتشده انصراف دهید؟ یاد بگیرید که چگونه دسترسی به API مخاطبان محافظتشده را، به عنوان مالک سایت یا یک کاربر شخصی، مسدود کنید .
دریافت بهروزرسانیها
- برای اطلاع از تغییرات وضعیت API، به لیست پستی توسعهدهندگان بپیوندید.
- برای دنبال کردن دقیق تمام بحثهای جاری در مورد API، روی دکمهی «تماشا» در صفحهی API در GitHub کلیک کنید. این کار مستلزم داشتن یا ایجاد یک حساب کاربری GitHub است.
- برای دریافت بهروزرسانیهای کلی در مورد Privacy Sandbox، در فید RSS [پیشرفت در Privacy Sandbox] مشترک شوید.
- به تماسهای برنامهریزیشده برای API مخاطبان محافظتشده (هر دو هفته یکبار) بپیوندید . همه میتوانند به ما بپیوندند - برای شرکت، ابتدا مطمئن شوید که به WICG پیوستهاید . میتوانید بهطور فعال شرکت کنید یا فقط گوش دهید!