문제 :
구글애드센스 인피드를 게시물 사이사이 출력되도록 작업함.
@php $randomNumbers = [ 2, //rand(1, 6), rand(7, 12), rand(13, 20) ]; $counter = 0; @endphp @foreach ($document_list as $no => $document) @php $counter++; // 카운터 증가 @endphp <li class="item-box" onclick="viewContent('{getUrl('document_srl', $document->document_srl,'commentform','')}')"> 게시물 </li> @if (in_array($counter, $randomNumbers)) <li class="ad-box item-box" style="min-height:100px;"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7200623708996327" crossorigin="anonymous"></script> <!-- 수평형디스플레이 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7200623708996327" data-ad-slot="4720910451" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> // (adsbygoogle = window.adsbygoogle || []).push({}); window.onload = function() { (adsbygoogle = window.adsbygoogle || []).push({}); } </script> </li> @endif @endforeach
문제는, 며칠 후 인피드 광고가 하나도 노출이 되지 않음.
이후 디스플레이 광고를 넣어도 광고가 노출되지 않음.
VM8749 adsbygoogle.js:93 TagError: adsbygoogle.push() error: No slot size for availableWidth=0
답변 :
A. https://support.google.com/adsense/answer/9183362?hl=ko&visit_id=638740760587462115-123001011&rd=1
해결책 :
광고 출력되는 영역으로 가로 넓이를 px로 지정해줌.
그런데 디스플레이 광고는 3개를 출력하게 했음에도 1개만 출력이 됨.
참조 :
https://goldsystem.tistory.com/728
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
이렇게 된 부분을
<script>
window.onload = function() {
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
https://rgbitcode.com/blog/senspond/48