문제 : 

구글애드센스 인피드를 게시물 사이사이 출력되도록 작업함.

@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

B. https://support.google.com/adsense/answer/10734935?hl=ko#zippy=%2C반응형-광고의-최대-너비-또는-높이를-설정할-수-있나요%2C사이트에-맞게-반응형-광고를-맞춤설정할-수-있나요%2C반응형-광고-태그-매개변수는-어떻게-사용하나요%2Cchrome-devtools에-availablewidth-오류가-표시됩니다-무슨-뜻인가요%2Cchrome-devtools에-adsbygooglepush-error-no-slot-size-for-availablewidth-오류가-표시됩니다-어떻게-해야-하나요


해결책 :

광고 출력되는 영역으로 가로 넓이를 px로 지정해줌.

그런데 디스플레이 광고는 3개를 출력하게 했음에도 1개만 출력이 됨.



참조 : 

https://goldsystem.tistory.com/728

 <script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

이렇게 된 부분을

<script>
 window.onload = function() {
  (adsbygoogle = window.adsbygoogle || []).push({});
 }
 </script>


https://stackoverflow.com/questions/33465168/google-adsense-error-tagerror-adsbygoogle-push-error-no-slot-size-for-avail

https://support.google.com/adsense/thread/233917102/error-uncaught-tagerror-adsbygoogle-push-error-no-slot-size-for-availablewidth-0?hl=en

https://rgbitcode.com/blog/senspond/48


2