j***@126.com
j***@126.com
  • 发布:2022-10-11 10:28
  • 更新:2022-10-11 11:28
  • 阅读:696

【报Bug】ad-rewarded-video 组件无法正常展示

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: MATE 30 PRO

页面类型: nvue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
<template>  
  <view class="content">  
    <ad-rewarded-video adpid="1723230599" :loadnext="true" v-slot:default="{loading, error}" @load="onadload" @close="onadclose" @error="onaderror">  
      <button :disabled="loading" :loading="loading">显示广告</button>  
      <view v-if="error">{{error}}</view>  
    </ad-rewarded-video>  
  </view>  
</template>  

<script>  
export default {  
  data() {  
    return {  
    }  
  },  
  methods: {  
    onadload(e) {  
      console.log('广告数据加载成功');  
    },  
    onadclose(e) {  
      const detail = e.detail  
      // 用户点击了【关闭广告】按钮  
      if (detail && detail.isEnded) {  
        // 正常播放结束  
        console.log("onadclose " + detail.isEnded);  
      } else {  
        // 播放中途退出  
        console.log("onadclose " + detail.isEnded);  
      }  
    },  
    onaderror(e) {  
      // 广告加载失败  
      console.log("onaderror: ", e.detail);  
    }  
  }  
}  
</script>

操作步骤:

见描述

预期结果:

广告组件正常使用

实际结果:

广告组件没法用

bug描述:

使用3.6.4离线打包基座集成激励视频功能,后台只选择了腾讯的广告,自定义基座也按照文档正常在AndroidManifest.xml, dcloud_properties.xml, libs文件内添加了需要的类库以及配置。

nvue页面 ad-rewarded-video 组件点击不展示广告。代码是你们官方提供的示例代码,具体内容如下,我替换了adpid为我自己的ID。
另外,换成官方提供的广告 API示例代码,在ad-rewarded-video组件对象中找不到load和show的方法。

使用uni.createRewardedVideoAd(options)可以正常创建并展示激励视频。但组件一直不好用。

2022-10-11 10:28 负责人:DCloud_uni-ad_HDX 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

提供下代码,如何调用的 load show

  • j***@126.com (作者)

    使用官方代码这种refs调用:


    <template>

    <view>

    <ad-rewarded-video ref="adRewardedVideo" adpid="1507000689" :preload="false" :loadnext="false" :disabled="true"

    v-slot:default="{loading, error}" @load="onadload" @close="onadclose" @error="onaderror">

    <view class="ad-error" v-if="error">{{error}}</view>

    </ad-rewarded-video>

    <button type="primary" :disabled="isLoading" :loading="isLoading" @click="showAd">显示广告</button>

    </view>

    </template>


    <script>

    export default {

    data() {

    return {

    isLoading: false

    }

    },

    onReady() {

    this.isLoading = true;

    this.$refs.adRewardedVideo.load();

    },

    methods: {

    showAd() {

    if (this.isLoading) {

    return

    }

    this.$refs.adRewardedVideo.show();

    },

    onadload(e) {

    this.isLoading = false;

    console.log('广告数据加载成功');

    },

    onadclose(e) {

    const detail = e.detail

    // 用户点击了【关闭广告】按钮

    if (detail && detail.isEnded) {

    // 正常播放结束

    console.log("onClose " + detail.isEnded);

    } else {

    // 播放中途退出

    console.log("onClose " + detail.isEnded);

    }

    //this.isLoading = true;

    //this.$refs.adRewardedVideo.load();

    },

    onaderror(e) {

    // 广告加载失败

    console.log(e.detail);

    this.isLoading = false;

    }

    }

    }

    </script>


    <style>

    .ad-error {

    color: orangered;

    margin-top: 5px;

    }

    </style>

    2022-10-11 13:29

  • DCloud_uni-ad_HDX

    回复 j***@126.com: 代码看上去没有问题,提供一个简单工程吧,或者先别用离线打包,新建个空项目代码贴进去看卡是否正常,如果仍然不行,联系技术支持QQ: 3212223575

    2022-10-12 11:21

  • j***@126.com (作者)

    回复 DCloud_uni-ad_HDX: 感谢官方反馈,此问题已经解决,非官方原因。

    2022-10-12 14:33

  • 1***@qq.com

    回复 j***@126.com: 大哥 同样的问题 你是怎么解决的呀 能说一下吗

    2022-12-31 14:37

  • 5***@qq.com

    回复 j***@126.com: 请问怎么解决的,急急急~

    2023-08-25 18:58

该问题目前已经被锁定, 无法添加新回复