initRewardAd: function(){
console.log('initRewardAd');
if(!!rewardAd || !this.user_id)return;
console.log('start initRewardAd');
rewardAd = uni.createRewardedVideoAd({
adpid: '1593199813',
urlCallback: this.ad_cbarg
})
rewardAd.onLoad(() => {
console.log('load ad success');
uni.showToast({
icon: 'none',
title: 'load ad ok'
})
});
rewardAd.onError(this.onaderror);
rewardAd.onClose(this.onadclose);
},
onadclose: function(e){
const detail = e.detail
// 用户点击了【关闭广告】按钮
if (detail && detail.isEnded) {
// 正常播放结束
console.log("onadclose " + detail.isEnded);
} else {
// 播放中途退出
uni.showToast({
icon:'none',
title: '已取消'
});
}
},
onaderror: function(e){
console.error('load ad fail:', e);
let content = JSON.stringify(e) || '广告加载.失败';
this.$refs.modal.show({content, title: '错误'});
},
showAd: function(){
let ad_com = rewardAd || videoAd;
if(!ad_com){
console.error('no ad init');
return;
}
ad_com.show()
.catch(() => {
console.log('reloading ad from err');
ad_com.load()
.then(() => ad_com.show())
.catch(err => {
console.log('广告显示失败', err);
})
})
}
- 发布:2023-06-03 19:48
- 更新:2023-06-06 12:44
- 阅读:2263
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 家庭中文版 版本号:20H2 内部版本:19042.1110
HBuilderX类型: 正式
HBuilderX版本号: 3.8.4
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: 米9
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
直接运行上面代码
直接运行上面代码
预期结果:
激励视频广告加载成功
激励视频广告加载成功
实际结果:
加载报错,多次点击仍然报错。
加载报错,多次点击仍然报错。
bug描述:
APP激励视频加载失败-5012,未找到支持此类型的广告模块
使用离线打包方式,集成了优量汇和快手的SDK。且已在广告联盟后台开通对应渠道广告。
先尝试了组件方式使用激励视频广告,但在页面加载时初始化失败:错误码-5012,错误信息:未找到支持此类型的广告模块。
然后又切换为api方式使用激励视频广告,依然出现上面的错误(见附件)
5012这个错误码没有在【广告错误码】文档中提供,优量汇的错误码中有5012,但错误信息是:广告数据过期。也不匹配。
又尝试了全屏视频广告和信息流banner广告,都提示:无效的广告位标识adpid,请使用正确的adpid。
(第四个图片是信息流的错误,第五个图片是全屏视频广告的错误)
但广告位标识是从广告联盟后台复制的id,且已经是审核通过的状态了,应该是有效的啊。距离审核通过过去了两三个小时了依然出错误,应该也不是缓存原因。
a***@163.com (作者)
已经对比了三次了离线打包文档了,刚才又对比了一次,应该是都对的。
我把Android项目和uni-app项目都抽出来了个Demo,生成的apk可以复现这个问题。
uni-app项目见附件。
Android项目下载:https://testalioss.zhizidoc.com/temp/ZhiziClean.zip
apk文件下载:https://testalioss.zhizidoc.com/temp/android_debug_arm64-v8a.apk
注意uniapp项目生成本地打包app资源后,需要把manifest.json中的_UNI_240020A替换为_UNI_97CDCA0
辛苦再看看,谢谢@DCloud_Android_zl
a***@163.com (作者)
找到原因了,是我之前在app/build.gradle里面专门,通过implement excludes专门排除了这几个广告的类库SDK文件。所以一直没生效。。。。
心里一万匹马奔腾而过。。。