warm_ 2022-01-07 11:07 采纳率: 50%
浏览 674
已结题

vue H5 优量汇 SDK 广告接入无法显示

文档流程包括:申明全局命名空间 >> 广告位申明 >> 加载H5 SDK。且执行顺序不能改变,否则会导致广告初始化声明失败。
请教以下广告位JS代码 1.全局命名空间申明TencentGDT对象, 2.广告初始化,3.H5 SDK接入全局只需运行一次 三段代码应该放在哪里?
目前1和3 放在index.html中,2放在需要显示广告的组件mounted里,
但是页面不显示广告也无报错信息,onComplete 的res 打印并没有执行


<script type="text/javascript">
    // H5 SDK 在线文档地址:http://developers.adnet.qq.com/doc/web/js_develop
    // 全局命名空间申明TencentGDT对象
    window.TencentGDT = window.TencentGDT || [];
    
    // 广告初始化
    window.TencentGDT.push({
        app_id: '1200360076', // {String} - appid - 必填
        placement_id: '4002089333668259', // {String} - 广告位id - 必填
        type: 'native', // {String} - 原生广告类型 - 必填
        muid_type: '1', // {String} - 移动终端标识类型,1:imei,2:idfa,3:mac号 - 选填
        muid: '******', // {String} - 加密终端标识,详细加密算法见API说明 -  选填
        count: 1, // {Number} - 拉取广告的数量,默认是3,最高支持10 - 选填
        onComplete: function(res) {
            if (res && res.constructor === Array) {
                // 原生模板广告位调用 window.TencentGDT.NATIVE.renderAd(res[0], 'containerId') 进行模板广告的渲染
                // res[0] 代表取广告数组第一个数据
                // containerId:广告容器ID
                window.TencentGDT.NATIVE.renderAd(res[0], 'containerId')
            } else {
                // 加载广告API,如广告回调无广告,可使用loadAd再次拉取广告
                // 注意:拉取广告频率每分钟不要超过20次,否则会被广告接口过滤,影响广告位填充率
                setTimeout(function() {
                    window.TencentGDT.NATIVE.loadAd(placement_id)
                }, 3000)
            }
        }
    });

    // H5 SDK接入全局只需运行一次
    (function() {
        var doc = document,
        h = doc.getElementsByTagName('head')[0],
        s = doc.createElement('script');
        s.async = true;
        s.src = '//qzs.qq.com/qzone/biz/res/i.js';
        h && h.insertBefore(s, h.firstChild);
    })();
</script>
  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-01-07 11:36
    关注

    sdk引入放到mounted中,要不vue初始化和广告初始化不能保证vue初始化先与广告的加载。

    
    mounted(){
    
        // H5 SDK接入全局只需运行一次
        (function () {
            var doc = document,
                h = doc.getElementsByTagName('head')[0],
                s = doc.createElement('script');
            s.async = true;
            s.src = 'https://qzs.qq.com/qzone/biz/res/i.js';
            h && h.insertBefore(s, h.firstChild);
        })();
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月15日
  • 已采纳回答 1月7日
  • 创建了问题 1月7日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答