如何设置 GPT(Google Publisher Tag) 广告居中


官方文档里有一个属性是设置广告对齐方式的,但是经测试发现只能居中一部分广告,所以并不通用:

/* 启用和停用广告的水平居中功能。默认情况下,居中。在旧版 gpt_mobile.js 中,居中默认处于启用状态。
应在调用 display 或 refresh 之前调用此方法,因为只有调用此方法后请求的广告才会居中放置。*/

googletag.pubads().setCentering(true);

来自:https://developers.google.com/publisher-tag/reference?hl=zh-cn#googletag.PubAdsService_setCentering

实际上,需要给广告位部分套上一层 div 并设置 display: flex; justify-content: center 才支持所有类型。如:

<div style="display: flex; justify-content: center">
  <div id='div-gpt-ad-00000000-0' style='min-width: 300px; min-height: 250px;'>
    <script>
      googletag.cmd.push(function () { googletag.display('div-gpt-ad-00000000-0'); });
    </script>
  </div>
</div>