الأعضاء في المجموعات المخفية في no_ads_for_groups لا يزالون يرون الإعلانات

أحتاج بعض المساعدة بخصوص Discourse Advertising Plugin (Ads).

أحاول عرض إعلانات للجميع، سواء كانوا مسجلين الدخول أو خارجين، بغض النظر عن مستوى الثقة، إلا إذا كانوا عضوًا في مجموعة “extra_special_members” - وفي هذه الحالة، يجب استبعادهم وعدم رؤية أي إعلانات.

لقد قمت بتغيير الإعداد adsense through trust level وضبطته على TL4 (مما يعني أن أي شخص في أي مستوى ثقة سيرى الإعلانات).

لقد قمت أيضًا بتغيير الإعداد no ads for groups وطبقت مجموعة واحدة فقط، وهي “extra_special_members” (مما يعني أن المستخدمين في هذه المجموعة لن يروا الإعلانات).

مستخدم الاختبار الخاص بي هو TL2 وعضو في مجموعة “extra_special_members” - ولكن لا يزال مستخدم الاختبار الخاص بي يتلقى إعلانات.

هل هذه مشكلة؟ :thinking:

أم أن إعداد adsense through trust level يتجاوز إعداد no ads for groups بطريقة ما؟ :thinking:

لقد قمت للتو بتعديل إعداداتي لجعلها أوضح، إذا كان بإمكان شخص ما محاولة تكرارها من فضلك.

لقد وجدت سبب المشكلة.

مجموعتي “extra_special_members” لديها إعدادات الرؤية كالتالي:

من يمكنه رؤية هذه المجموعة؟ مالكو المجموعة

من يمكنه رؤية أعضاء هذه المجموعة؟ مالكو المجموعة

تم ضبط هذا بحيث لا يمكن لأعضاء هذه المجموعة رؤية بعضهم البعض، والأهم من ذلك، لا يتسرب عدد الأشخاص في هذه المجموعة (الحساسة).

إذا قمت بما يلي:

  1. إنشاء مجموعة تسمى “hide-ads-test”
  2. تعيين الرؤية إلى “مالكو المجموعة والأعضاء والمشرفون”
  3. إضافة مجموعة اختبار المستخدم الخاصة بي TL2 “hide-ads-test”
  4. إضافة مجموعة “hide-ads-test” إلى إعداد no ads for groups

فإن مستخدمي TL2 الخاص بي لم يعد بإمكانه رؤية الإعلانات.

بمجرد تغيير رؤية المجموعة من “مالكو المجموعة والأعضاء والمشرفون” إلى “مالكو المجموعة” فإن الإعلانات تظهر مرة أخرى على الفور :pensive:

يبدو الأمر وكأن إضافة الإعلانات لا يمكنها رؤية المجموعة، لذلك تعرض الإعلانات فقط :thinking:

إعجاب واحد (1)

هل يمكن لأي مطور تأكيد ما إذا كانت هذه مشكلة أم لا؟ :thinking:

إذا لم تكن مشكلة، فسأقوم بإنشاء مهمة مدفوعة لعمل نسخة من المكون الإضافي. :blush:

نعم، هذه مشكلة.
يقوم المكون الإضافي للإعلانات بكل منطق “إظهار أو عدم إظهار” الإعلانات بناءً على معلومات المجموعة ومستوى الثقة التي يحصل عليها من الخادم.
نظرًا لأن عضوية المجموعة مخفية عن المستخدم، فلا توجد طريقة للعميل لمعرفة أن الإعلانات بحاجة إلى إخفائها.
يجب إعادة كتابة الكود بحيث يكون المنطق موجودًا على جانب الخادم (ربما حقل في المستخدم الحالي يقول “هذا المستخدم لديه إعلانات، أو هذا المستخدم ليس لديه إعلانات”). هذا تغيير كبير إلى حد ما لأن الكثير من المنطق الآن تم تنفيذه في JavaScript ويحتاج إلى الانتقال إلى Ruby.
أنا أضع علامة pr-welcome على هذا، إذا كان لدينا عدد قليل من الطلبات المتكررة بشأنه، فسأفكر في تسريعه. إنه تغيير معقد.

إعجاب واحد (1)

@sam أنا ممتن جدًا للشرح المفصل، شكرًا لك.

سأحاول التوصل إلى مبادرة عمل :blush:

إعجاب واحد (1)