Mitglieder versteckter Gruppen in no_ads_for_groups sehen weiterhin Werbung

Ich brauche etwas Hilfe mit Discourse Advertising Plugin (Ads).

Ich versuche, Anzeigen für alle anzuzeigen, ob angemeldet oder abgemeldet, unabhängig von der Vertrauensstufe, es sei denn, sie sind Mitglied der Gruppe „extra_special_members“ – in diesem Fall sollten sie ausgeschlossen werden und keine Anzeigen sehen.

Ich habe die Einstellung adsense through trust level geändert und auf TL4 gesetzt (was bedeutet, dass jeder mit jeder Vertrauensstufe Anzeigen sieht).

Ich habe auch die Einstellung no ads for groups geändert und nur eine Gruppe angewendet, nämlich „extra_special_members“ (was bedeutet, dass Benutzer in dieser Gruppe keine Anzeigen sehen).

Mein Testbenutzer ist TL2 und Mitglied der Gruppe „extra_special_members“ – aber mein Testbenutzer erhält immer noch Anzeigen.

Ist das ein Fehler? :thinking:

Oder überschreibt die Einstellung adsense through trust level irgendwie die Einstellung no ads for groups? :thinking:

Ich habe gerade meine Einstellungen bearbeitet, um sie klarer zu machen. Könnte das bitte jemand versuchen zu replizieren.

Ich habe die Ursache des Problems gefunden.

Meine Gruppe „extra_special_members“ hat die Sichtbarkeitseinstellungen:

Wer kann diese Gruppe sehen? Gruppeneigentümer

Wer kann die Mitglieder dieser Gruppe sehen? Gruppeneigentümer

Dies ist so eingestellt, dass Mitglieder dieser Gruppe sich nicht gegenseitig sehen können und, was noch wichtiger ist, die Anzahl der Personen in dieser (sensiblen) Gruppe nicht nach außen dringt.

Wenn ich:

  1. Eine Gruppe namens „hide-ads-test“ erstelle
  2. Die Sichtbarkeit auf „Gruppeneigentümer, Mitglieder und Moderatoren“ setze
  3. Meine TL2-Testbenutzergruppe „hide-ads-test“ hinzufüge
  4. Die Gruppe „hide-ads-test“ zur Einstellung no ads for groups hinzufüge

Dann kann mein TL2-Benutzer die Anzeigen nicht mehr sehen.

Sobald ich die Gruppensichtbarkeit von „Gruppeneigentümer, Mitglieder und Moderatoren“ auf „Gruppeneigentümer“ ändere, erscheinen die Anzeigen sofort wieder :pensive:

Es ist, als ob das Anzeigen-Plugin die Gruppe nicht sehen kann, also zeigt es einfach die Anzeigen an :thinking:

1 „Gefällt mir“

Könnte ein Entwickler bestätigen, ob dies ein Fehler ist? :thinking:

Wenn es kein Fehler ist, werde ich damit beginnen, einen bezahlten Gig für einen Fork des Plugins zu erstellen :blush:

Ja, das ist ein Problem.

Das Anzeigen-Plugin führt die gesamte Logik für „Anzeigen einblenden oder nicht einblenden“ basierend auf Gruppen- und Vertrauensstufeninformationen durch, die es vom Server erhält.

Da die Gruppenzugehörigkeit für den Benutzer verborgen ist, kann der Client nicht ermitteln, dass die Anzeigen ausgeblendet werden müssen.

Der Code muss neu geschrieben werden, sodass die Logik auf der Serverseite liegt (wahrscheinlich ein Feld für den aktuellen Benutzer, das angibt, „dieser Benutzer hat Anzeigen oder dieser Benutzer hat keine Anzeigen“). Dies ist eine ziemlich große Änderung, da so viel der Logik jetzt in JavaScript implementiert ist und nach Ruby verschoben werden muss.

Ich füge hierfür ein pr-welcome hinzu. Wenn wir ein paar wiederholte Anfragen dazu erhalten, werde ich eine schnelle Bearbeitung in Betracht ziehen. Es ist eine komplexe Änderung.

1 „Gefällt mir“

@sam Ich bin sehr dankbar für die detaillierte Erklärung, danke.

Ich werde versuchen, eine Initiative auszuarbeiten :blush:

1 „Gefällt mir“