أحاول عرض إعلانات للجميع، سواء كانوا مسجلين الدخول أو خارجين، بغض النظر عن مستوى الثقة، إلا إذا كانوا عضوًا في مجموعة “extra_special_members” - وفي هذه الحالة، يجب استبعادهم وعدم رؤية أي إعلانات.
لقد قمت بتغيير الإعداد adsense through trust level وضبطته على TL4 (مما يعني أن أي شخص في أي مستوى ثقة سيرى الإعلانات).
لقد قمت أيضًا بتغيير الإعداد no ads for groups وطبقت مجموعة واحدة فقط، وهي “extra_special_members” (مما يعني أن المستخدمين في هذه المجموعة لن يروا الإعلانات).
مستخدم الاختبار الخاص بي هو TL2 وعضو في مجموعة “extra_special_members” - ولكن لا يزال مستخدم الاختبار الخاص بي يتلقى إعلانات.
هل هذه مشكلة؟
أم أن إعداد adsense through trust level يتجاوز إعداد no ads for groups بطريقة ما؟
نعم، هذه مشكلة.
يقوم المكون الإضافي للإعلانات بكل منطق “إظهار أو عدم إظهار” الإعلانات بناءً على معلومات المجموعة ومستوى الثقة التي يحصل عليها من الخادم.
نظرًا لأن عضوية المجموعة مخفية عن المستخدم، فلا توجد طريقة للعميل لمعرفة أن الإعلانات بحاجة إلى إخفائها.
يجب إعادة كتابة الكود بحيث يكون المنطق موجودًا على جانب الخادم (ربما حقل في المستخدم الحالي يقول “هذا المستخدم لديه إعلانات، أو هذا المستخدم ليس لديه إعلانات”). هذا تغيير كبير إلى حد ما لأن الكثير من المنطق الآن تم تنفيذه في JavaScript ويحتاج إلى الانتقال إلى Ruby.
أنا أضع علامة pr-welcome على هذا، إذا كان لدينا عدد قليل من الطلبات المتكررة بشأنه، فسأفكر في تسريعه. إنه تغيير معقد.