处理uniapp激励广告
2024-10-21 10:03:27
使用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 重新打开对应广告位的展现。 |
最新文章
- JVM--标记-清除算法Mark-Sweep
- IOS高级编程之三:IOS 多线程编程
- EFFECTIVE OBJECTIVE-C 2.0 TIPS 总结 CHAPTER 1 &; CHAPTER 2
- 【POJ1182】 食物链 (带权并查集)
- mysql中多个字段共同确定唯一性
- 闭包(Closure)基础分析
- 看完给跪了:技术大牛总结的Github与华为软件开发云完整对比
- PHP获取DHCP分配的本机IP
- grub4dos和winsetupfromusb1.4
- Linux的sort命令
- 一步一步搭建vue项目
- c/c++ 标准顺序容器 容器的访问,删除 操作
- Python学习第十篇——函数初步
- C++读写TXT文件中的string或者int型数据以及string流的用法
- HDU 1403 Longest Common Substring(最长公共子串)
- Jenkins 之邮件配置
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 80 Days(尺取)题解
- pythonl练习笔记——multiprocessing 多进程拷贝文件
- java 基础 --- servlet
- LightOJ 1058 - Parallelogram Counting 几何思维
热门文章
- 聊一聊HTTPS双向认证的简单应用
- Vue + ElementUI el-input无法输入、修改、删除的问题
- Terraform基础入门 (Infrastructure as Code)
- Spring Cloud Openfeign Get请求发生405错误
- 五大数据类型 - 字符串 - 列表 list - 集合set - 有序集合 - 哈希 hashMap
- redis服务创建失败:Could not create server TCP listening socket 127.0.0.1:6379: bind
- CF825F - String Compression
- Wpf Border圆角 设置不成功
- 人工智能,丹青圣手,全平台(原生/Docker)构建Stable-Diffusion-Webui的AI绘画库教程(Python3.10/Pytorch1.13.0)
- 优秀PHP程序员技术成长之路