تفويض إدارة الجمهور إلى جهة خارجية

تعرَّف على كيفية التحكّم في إدارة شرائح الجمهور باستخدام "سياسة الأذونات" أو تفويض طرف ثالث من خلال ضبط عنوان URL للأذونات معروف.

يجب أن يتطابق مصدر سياق الاتصال الخاص بالدالة joinAdInterestGroup() مع مصدر مالك المجموعة باهتمامات مشتركة، لذا يجب استدعاء الدالة joinAdInterestGroup() من إطار iframe (على سبيل المثال، من وسيط عرض الطلب) ما لم يتطابق مصدر مالك المجموعة باهتمامات مشتركة مع مصدر المستند الحالي (على سبيل المثال، موقع إلكتروني يتضمّن مجموعات باهتمامات مشتركة خاصة به).

يتطلّب joinAdInterestGroup() الحصول على إذن من:

وهذا يعني أنّه لا يمكن لـ malicious.example طلب joinAdInterestGroup() لمجموعة اهتمامات تملكها dsp.example.com، بدون أن تمنح dsp.example.com الإذن بذلك.

إذن من الموقع الإلكتروني الذي تمت زيارته

يمكن منح الإذن من المصدر نفسه أو من مصادر متعددة.

يتم تلقائيًا منح الإذن بإجراء طلبات joinAdInterestGroup() من المصدر نفسه الذي تم منه الانتقال إلى الموقع الإلكتروني (أي من المصدر نفسه الذي تم منه الانتقال إلى الإطار ذي المستوى الأعلى في الصفحة الحالية). يمكن للمواقع الإلكترونية استخدام عنوان سياسة الأذونات join-ad-interest-group لإيقاف طلبات joinAdInterestGroup().

لا يمكن استدعاء joinAdInterestGroup() من مصادر متعددة (أي مصادر مختلفة عن الصفحة الحالية) إلا إذا كان الموقع الإلكتروني الذي تتم زيارته قد ضبط سياسة أذونات تسمح باستدعاء joinAdInterestGroup() من إطارات iframe متعددة المصادر.

إذن من مالك المجموعة ذات الاهتمامات المشتركة

يتم منح إذن مالك المجموعة المهتمة ضِمنيًا من خلال استدعاء joinAdInterestGroup() من إطار iframe له المصدر نفسه الخاص بمالك المجموعة المهتمة. على سبيل المثال، يمكن أن يستدعي إطار dsp.example.com iframe الدالة 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 هو مصدر الإطار. يستخدم جلب البيانات وضع "حذف بيانات الاعتماد"، وذلك باستخدام "مفتاح تقسيم الشبكة" للإطار الذي استدعى الطريقة. لتجنُّب تسريب البيانات من مصادر متعددة من خلال Promise التي تم إرجاعها بشكل غير متوقّع، تستخدم الدالة fetch الوضع cors. يجب أن يكون لنوع MIME الخاص بالاستجابة التي تم جلبها تنسيق JSON، وأن يكون بالتنسيق التالي:

{ "joinAdInterestGroup": true/false,
  "leaveAdInterestGroup": true/false
}

تشير إلى ما إذا كان المصدر في المسار لديه أذونات بالانضمام إلى مجموعات الاهتمامات التي يملكها النطاق الذي يتم إرسال الطلب إليه أو مغادرتها. ويُفترض أنّ الأذونات غير المتوفّرة هي أذونات غير صحيحة. بما أنّ طلب navigator.joinAdInterestGroup() مع قيمة lifetimeMs تساوي 0 يؤدي فعليًا إلى مغادرة مجموعة الاهتمامات، يتيح joinAdInterestGroup: true أيضًا للمصدر طلب navigator.leaveAdInterestGroup()، حتى إذا كان leaveadInterestGroup غير متوفّر أو تم ضبطه على "خطأ". يُرجى العِلم أنّ كلتا الطريقتين leaveAdInterestGroup() وclearOriginJoinedAdInterestGroups() تتحقّقان من الإذن leaveAdInterestGroup.