Согласно исследованию, предыдущий вопрос от 2014 года (Доступен ли Google AdSense для localhost?) предлагал добавить:
data-adtest = "on"
и после тестирования и чтения Комментарии решение больше не работает. В рекламном блоке:
<script async src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- responsive_ad -->
<ins class = "adsbygoogle"
style = "display:block"
data-ad-client = "ca-pub-####"
data-ad-slot = "######"
data-ad-format = "auto"
data-adtest = "on"
data-full-width-responsive = "true">
</ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
После тестирования в Chrome, Firefox и Safari отображается белое поле. После поиска я не могу найти какое-либо решение на форумах по продуктам или на каком-либо сайте. Как я могу протестировать рекламный блок на localhost?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я также пробовал подход data-adtest = "on", и он мне тоже не помог. Я нашел два разных подхода к тестированию:
Если бы вы открыли консоль разработчика, вы бы увидели ошибку 403. Причины этой ошибки далее объясняются здесь: https://www.shoutmeloud.com/adsense-403-forbidden-error.html. Короче: Сканеры AdSense отклоняют Localhost. Вот почему у вас есть пустое пространство вместо рекламы.
Но если есть третий способ, я тоже был бы рад его услышать.
Как следует из другого ответа, важно использовать имя хоста, отличное от localhost. Использование 0.0.0.0 может быть простым вариантом.
С начала 2021 года Google, похоже, требует явного согласия TCF v2.0 для загрузки любых объявлений. Следующий фрагмент может быть включен в код приложения или что-то вроде Violentmonkey:
window.__tcfapi = (command, parameter, callback) => {
if (command === 'checkConsent') {
callback(true);
}
if (command === 'addEventListener') {
callback({eventStatus: 'tcloaded', gdprApplies: false}, true);
}
};