Jaki jest najlepszy sposób rejestrowania statystyk dotyczących liczby osób odwiedzających moją witrynę, które ustawiły przeglądarkę, aby blokować reklamy?Jak mogę sprawdzić, czy klient sieciowy blokuje reklamy?
Odpowiedz
Ponieważ programy takie jak AdBlock właściwie nigdy nie żądają ogłoszenia, należy przejrzeć dzienniki serwera, aby sprawdzić, czy ten sam użytkownik uzyskał dostęp do strony internetowej, ale nie uzyskał dostępu do ogłoszenia. Zakłada to, że reklama znajduje się na tym samym serwerze.
Jeśli Twoje reklamy znajdują się na oddzielnym serwerze, sugeruję, że nie można tego zrobić.
Najlepszym sposobem, aby powstrzymać użytkowników przed blokowaniem reklam, jest umieszczanie reklam tekstowych w wierszu, które są generowane przez serwer i umieszczane wewnątrz html.
Przypuszczam, że można porównać wydruki reklam z odsłonami w witrynie (które można pobrać z oprogramowania analitycznego).
Dodaj identyfikator użytkownika do wniosku o reklamie:
<img src="./ads/viagra.jpg?{user.id}"/>
ten sposób można sprawdzić, jakie reklamy są postrzegane przez użytkowników.
Musisz pomyśleć o różnych sposobach blokowania reklam. Pierwszą rzeczą, na którą należy zwrócić uwagę, jest to, czy działają one noscript, więc możesz dodać skrypt, który by to sprawdził.
Następną sprawą jest sprawdzenie, czy blokują one błysk, mały film powinien to zrobić.
Jeśli spojrzeć na miejscu AdBlock, istnieją pewne wskazanie, w jaki to robi blokując:
How does element hiding work?
Jeśli spojrzeć dalej w dół tej stronie można zobaczyć, że konwencjonalne chrom sondowania nie będzie działać, więc trzeba spróbować przeanalizować zmieniony DOM.
Forum AdBlock says służy do wykrywania AdBlocka. Po kilku poprawkach możesz użyć tego do zebrania statystyk.
setTimeout("detect_abp()", 10000);
var isFF = (navigator.userAgent.indexOf("Firefox") > -1) ? true : false,
hasABP = false;
function detect_abp() {
if(isFF) {
if(Components.interfaces.nsIAdblockPlus != undefined) {
hasABP = true;
} else {
var AbpImage = document.createElement("img");
AbpImage.id = "abp_detector";
AbpImage.src = "/textlink-ads.jpg";
AbpImage.style.width = "0";
AbpImage.style.height = "0";
AbpImage.style.top = "-1000px";
AbpImage.style.left = "-1000px";
document.body.appendChild(AbpImage);
hasABP = (document.getElementById("abp_detector").style.display == "none");
var e = document.getElementsByTagName("iframe");
for (var i = 0; i < e.length; i++) {
if(e[i].clientHeight == 0) {
hasABP = true;
}
}
if(hasABP == true) {
history.go(1);
location = "http://www.tweaktown.com/supportus.html";
window.location(location);
}
}
}
}
- 1. Udział sieciowy/klient SMB
- 2. Jak napisać wysokiej wydajności klient sieciowy
- 3. PHP: jak sprawdzić, czy klient jest lokalny?
- 4. Jak sprawdzić, czy klient ElasticSearch jest podłączony?
- 5. Skręcony klient sieciowy z pracownikami wieloprocesowymi?
- 6. Jak sprawdzić, czy mój usługodawca internetowy blokuje port 25?
- 7. Jak sprawdzić, czy klient dla instancji MongoDB jest prawidłowy?
- 8. adres IP Klient zwraca ten sam wewnętrzny adres sieciowy
- 9. Reklamy natywne a reklamy pełnoekranowe a banery reklamowe, które wygenerują więcej przychodów? jak wdrożyć reklamy natywne?
- 10. Czy blokuje się sed?
- 11. Jak mogę sprawdzić, czy kolejka jest pusta?
- 12. Jak mogę sprawdzić, czy funkcja jest częściowa?
- 13. Jak mogę sprawdzić, czy instancja została utworzona?
- 14. Jak mogę sprawdzić, czy Dispatcher.DisableProcessing jest aktywny?
- 15. Jak mogę sprawdzić, czy zmienna zawiera lambdę?
- 16. Jak mogę sprawdzić, czy scenarzysta jest zamknięty?
- 17. Jak mogę sprawdzić, czy instancja twisted.internet.protocol rozłączył
- 18. Jak mogę sprawdzić, czy wartość jest liczbą?
- 19. Jak mogę sprawdzić, czy CGPoint został zainicjowany?
- 20. Jak mogę sprawdzić, czy połączenie używa ssl?
- 21. Jak mogę sprawdzić, czy działa moodle cron?
- 22. Czy send() kiedykolwiek blokuje podczas używania select()?
- 23. Czy connect() blokuje gniazdo TCP?
- 24. Jak mogę zintegrować reklamy AirPush w mojej aplikacji na Androida?
- 25. Czy NSURLConnection blokuje główny wątek?
- 26. Jak mogę kierować reklamy na pola tekstowe za pomocą CSS?
- 27. Narzędzie deweloperskie IE: czy mam widok sieciowy?
- 28. Czy można wykonać aplet sieciowy JavaFX?
- 29. Określić, czy udział sieciowy istnieje przed montażem
- 30. Jak mogę sprawdzić zawartość tablicy?