使用uniapp查看广告

激励视频广告组件。激励视频广告组件是一个原生组件,并且是一个全局单例。层级比上屏 Canvas 高,会覆盖在上屏 Canvas 上。激励视频 广告组件默认是隐藏的,需要调用 RewardedVideoAd.show() 将其显示。

方法

1、加载激励视频广告数据:Promise RewardedVideoAd.load()

返回值  Promise

激励视频广告加载数据的结果

2、显示激励视频广告:Promise RewardedVideoAd.show()

激励视频广告将从屏幕下方推入。

返回值  Promise

激励视频广告显示操作的结果

3、监听激励视频广告加载事件:RewardedVideoAd.onLoad(function callback)

参数  function callback

激励视频广告加载事件的回调函数

4、取消监听激励视频广告加载事件:RewardedVideoAd.offLoad(function callback)

参数 function callback

激励视频广告加载事件的回调函数

5、监听激励视频错误事件:RewardedVideoAd.onError(function callback)

参数  function callback

激励视频错误事件的回调函数

回调参数  Object res
属性 类型 说明 最低版本
errMsg string 错误信息  
errCode number 错误码  

6、取消监听激励视频错误事件:RewardedVideoAd.offError(function callback)

参数  function callback

激励视频错误事件的回调函数

7、监听用户点击 关闭广告 按钮的事件:RewardedVideoAd.onClose(function callback)

参数  function callback

用户点击 关闭广告 按钮的事件的回调函数

回调参数  Object res
属性 类型 说明 最低版本
isEnded boolean 视频是否是在用户完整观看的情况下被关闭的  

8、取消监听用户点击 关闭广告 按钮的事件:RewardedVideoAd.offClose(function callback)

参数  function callback

用户点击 关闭广告 按钮的事件的回调函数

API代码:

getAdsItem(item) { //看广告
// console.log(item.adTitle, item)
if (app.getIsVisitor()) {
return;
}
if(this.isShowAd){
return;
}
if (item) {
this.adItem = item;
this.isShowAd = true;
// #ifdef H5
this.isDownload = true;
// #endif
// #ifdef MP-WEIXIN
this.videoAdLoad(true);
// #endif
}
},
videoAdLoad(flag) { //实例化广告信息
let that = this;
if (uni.createRewardedVideoAd) {
videoAd = uni.createRewardedVideoAd({
adUnitId: this.adItem.adUuid
})
videoAd.onLoad(() => {
console.log('激励视频 广告加载成功');
})
videoAd.onError((err) => {
console.log('onError event emit');
this.onCloseAdVisit();
})
videoAd.onClose((res) => {
// 用户点击了【关闭广告】按钮
videoAd.offClose();
if (res && res.isEnded) {
// 正常播放结束,可以下发游戏奖励
this.adVisitEnd();
} else {
// 播放中途退出,不下发游戏奖励
}
this.onCloseAdVisit();
})
if(flag){
this.videoAdShow(); //显示广告
}
}
},
videoAdShow() { //显示激励广告
if (videoAd) {
videoAd.show().catch(() => {
// 失败重试
videoAd.load()
.then(() => videoAd.show())
.catch(err => {
// console.log('激励视频 广告显示失败');
common.toast('广告显示失败,请重试!')
this.onCloseAdVisit();
})
})
this.adVisitStart();
}
},
async adVisitStart() { //调开始看广告接口 },
async adVisitEnd() { //调结束看广告接口 },
onCloseAdVisit() { //清除广告数据
this.adItem = {};
this.visitId = null;
this.isShowAd = false,
videoAd = null;
},

注意:看广告需要在微信小程序公众平台中申请广告组件,否则不能正常使用

错误码信息与解决方案表

错误码说明

代码 异常情况 理由 解决方案
1000 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。
1001 参数错误 使用方法错误 可以前往 q.qq.com 确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。
1002 广告单元无效 可能是拼写错误、或者误用了其他 APP 的广告 ID 请重新前往 q.qq.com 确认广告位 ID。
1003 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。
1004 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。
1005 广告组件审核中 你的广告正在被审核,无法展现广告 请前往 q.qq.com 确认审核状态,且开发者需要针对这种情况做形态上的兼容。
1006 广告组件被驳回 你的广告审核失败,无法展现广告 请前往 q.qq.com 确认审核状态,且开发者需要针对这种情况做形态上的兼容。
1007 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往 q.qq.com 确认小程序广告封禁状态。
1008 广告单元已关闭 该广告位的广告能力已经被关闭 请前往 q.qq.com 重新打开对应广告位的展现。

最新文章

  1. JVM--标记-清除算法Mark-Sweep
  2. IOS高级编程之三:IOS 多线程编程
  3. EFFECTIVE OBJECTIVE-C 2.0 TIPS 总结 CHAPTER 1 & CHAPTER 2
  4. 【POJ1182】 食物链 (带权并查集)
  5. mysql中多个字段共同确定唯一性
  6. 闭包(Closure)基础分析
  7. 看完给跪了:技术大牛总结的Github与华为软件开发云完整对比
  8. PHP获取DHCP分配的本机IP
  9. grub4dos和winsetupfromusb1.4
  10. Linux的sort命令
  11. 一步一步搭建vue项目
  12. c/c++ 标准顺序容器 容器的访问,删除 操作
  13. Python学习第十篇——函数初步
  14. C++读写TXT文件中的string或者int型数据以及string流的用法
  15. HDU 1403 Longest Common Substring(最长公共子串)
  16. Jenkins 之邮件配置
  17. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 80 Days(尺取)题解
  18. pythonl练习笔记——multiprocessing 多进程拷贝文件
  19. java 基础 --- servlet
  20. LightOJ 1058 - Parallelogram Counting 几何思维

热门文章

  1. 聊一聊HTTPS双向认证的简单应用
  2. Vue + ElementUI el-input无法输入、修改、删除的问题
  3. Terraform基础入门 (Infrastructure as Code)
  4. Spring Cloud Openfeign Get请求发生405错误
  5. 五大数据类型 - 字符串 - 列表 list - 集合set - 有序集合 - 哈希 hashMap
  6. redis服务创建失败:Could not create server TCP listening socket 127.0.0.1:6379: bind
  7. CF825F - String Compression
  8. Wpf Border圆角 设置不成功
  9. 人工智能,丹青圣手,全平台(原生/Docker)构建Stable-Diffusion-Webui的AI绘画库教程(Python3.10/Pytorch1.13.0)
  10. 优秀PHP程序员技术成长之路