Я следовал этому примеру:
https://www.jamesbaum.co.uk/blether/using-google-adsense-with-react/
У меня есть этот компонент:
import React from "react";
export default class AdBanner extends React.Component {
componentDidMount () {
(window.adsbygoogle = window.adsbygoogle || []).push({});
}
render () {
return (
<div className='ad'>
<ins className='adsbygoogle'
style={{ display: 'block' }}
data-ad-client='div-gpt-ad-1536172937182-0'
data-ad-slot='/164808479/Leaderboard'
data-ad-format='auto' />
</div>
);
}
}
У меня есть это на моем index.html
:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
Когда я запускаю свою тестовую страницу, я не вижу рекламы, и эта ошибка:
Я понятия не имею, что этоошибка означает или как ее устранить.
Важно отметить, что идентификаторы клиента и слота отлично работают в тестовом приложении без реакции Так что здесь должно быть что-то не так.
Кроме того, я тестирую это через localhost: 8080 - который работает для тестового приложения без реакции, поэтому я не думаю, что это проблема localhost / google ads.
В НАШЕМ НЕРАКТИВНОМ ПРИЛОЖЕНИИ
в нашем <header>
:
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
</script>
<script>
googletag.cmd.push(function() {
googletag.defineSlot('/164808479/Leaderboard', [728, 90], 'div-gpt-ad-1536172937182-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
в нашем <page.php>
:
<!-- /164808479/Leaderboard -->
<div id='div-gpt-ad-1536172937182-0' style='height:90px; width:728px;'>
<script>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1536172937182-0'); });
</script>
</div>
Это прямо сейчас создает работающее объявление, даже с 127.0.0.1:80
(запущено через Docker). Наша проблема в том, что у нас нет возможности выполнять эту работу внутри компонента React.