بیاموزید که چگونه با استفاده از یک سیاست مجوزها، مدیریت مخاطبان را کنترل کنید یا با پیکربندی یک URL مجوزهای شناخته شده، آن را به شخص ثالث واگذار کنید.
مبدأ زمینه فراخوانی تابع joinAdInterestGroup() باید با مبدأ مالک گروه علاقهمندی مطابقت داشته باشد، بنابراین joinAdInterestGroup() باید از یک iframe (مثلاً از یک DSP) فراخوانی شود، مگر اینکه مبدأ مالک گروه علاقهمندی با مبدأ سند فعلی مطابقت داشته باشد (مثلاً یک وبسایت با گروههای علاقهمندی خاص خود).
joinAdInterestGroup() به مجوز از موارد زیر نیاز دارد:
- سایت مورد بازدید
- مالک گروه ذینفع
این یعنی اینکه تابع malicious.example نمیتواند تابع joinAdInterestGroup() برای یک گروه علاقهمندی که متعلق به dsp.example.com است، بدون اجازه dsp.example.com فراخوانی کند.
مجوز از سایت بازدید شده
مجوز میتواند از مبدا یکسان یا مبدا متقابل اعطا شود.
به طور پیشفرض، مجوز برای فراخوانیهای joinAdInterestGroup() از همان مبدا سایت بازدید شده (به عبارت دیگر، از همان مبدا فریم سطح بالای صفحه فعلی) اعطا میشود. سایتها میتوانند از هدر سیاست مجوزهای join-ad-interest-group برای غیرفعال کردن فراخوانیهای joinAdInterestGroup() استفاده کنند.
فراخوانی joinAdInterestGroup() بین مبدا (مبدأهایی که با صفحه فعلی متفاوت هستند) تنها در صورتی میتواند موفقیتآمیز باشد که سایت مورد بازدید، سیاست مجوزی تنظیم کرده باشد که امکان فراخوانی تابع joinAdInterestGroup() را از iframeهای بین مبدا فراهم کند.
اجازه از صاحب گروه ذینفع
مجوز مالک گروه ذینفع به طور ضمنی با فراخوانی joinAdInterestGroup() از یک iframe با همان مبدا مالک گروه ذینفع اعطا میشود. برای مثال، یک iframe dsp.example.com میتواند تابع joinAdInterestGroup() برای گروههای ذینفع متعلق به dsp.example.com فراخوانی کند.
در اصل، joinAdInterestGroup() میتواند در یک صفحه یا iframe در دامنه مالک اجرا شود، یا با استفاده از یک لیست در یک URL .well-known به دامنههای دیگر ارائه شده واگذار شود.
وقتی یک فریم به یک دامنه هدایت میشود، joinAdInterestGroup() ، leaveAdInterestGroup() یا clearOriginJoinedAdInterestGroups() را برای یک گروه علاقهمند با مالک متفاوت فراخوانی میکند، مرورگر URL https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin واکشی میکند، که در آن owner.domain دامنهای است که مالک گروه علاقهمندی است و frame.origin مبدا فریم است. واکشی از حالت omit credentials با استفاده از Network Partition Key فریمی که متد را فراخوانی کرده است، استفاده میکند. برای جلوگیری از نشت دادههای cross-origin از طریق Promise برگردانده شده به طور غیرمنتظره، واکشی از حالت cors استفاده میکند. پاسخ واکشی شده باید از نوع JSON MIME باشد و فرمت آن به صورت زیر باشد:
{ "joinAdInterestGroup": true/false,
"leaveAdInterestGroup": true/false
}
نشان میدهد که آیا مبدأ در مسیر، مجوزهایی برای پیوستن یا ترک گروههای مورد علاقه متعلق به دامنهای که درخواست به آن ارسال میشود، دارد یا خیر. مجوزهای از دست رفته، false فرض میشوند. از آنجایی که فراخوانی navigator.joinAdInterestGroup() با lifetimeMs M برابر با 0، عملاً یک گروه مورد علاقه را ترک میکند، joinAdInterestGroup: true همچنین به مبدأ اجازه میدهد navigator.leaveAdInterestGroup() فراخوانی کند، حتی اگر leaveadInterestGroup وجود نداشته باشد یا روی false تنظیم شده باشد. توجه داشته باشید که هم leaveAdInterestGroup() و clearOriginJoinedAdInterestGroups() مجوز leaveAdInterestGroup را بررسی میکنند.