小程序真机调试的时候很正常,点击播放广告,播放完以后会回到回调函数;但是预览和上传的体验版就不好用了,广告可以正常播放,播放完了似乎并没有触发什么,什么都不执行。加了一些测试的文字,真机调试的时候正常显示,预览的时候一点反应都没有。
下面贴上完整代码
let rewardedVideoAd = null
Page({
/**
* 页面的初始数据
*/
data: {
hiddengg:true,
testinfo: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if(wx.createRewardedVideoAd){
rewardedVideoAd = wx.createRewardedVideoAd({ adUnitId: 'adunit-1ec2c356b227a0b6' })
rewardedVideoAd.onLoad(() => {
//console.log('onLoad event emit');
})
rewardedVideoAd.onError((err) => {
//console.log('onError event emit', err);
this.setData({testinfo:'广告cuowu'});
})
rewardedVideoAd.onClose((res) => {
//console.log('onClose event emit', res)
if (status && status.isEnded || status === undefined) {
// 正常播放结束,下发奖励
//console.log('it is ok!');
this.setData({hiddengg:false,testinfo:'广告正常播放结束'
});
// continue you code
} else {
// 播放中途退出,进行提示
//console.log('it is fault');
this.setData({testinfo:'广告播放非正常结束'});
}
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
rungg:function(){
console.log("open the gg");
if (rewardedVideoAd) {
rewardedVideoAd.show().catch(err => {
// 失败重试
rewardedVideoAd.load()
.then(() => rewardedVideoAd.show())
})
}
}
})
下面是wxml
<view class="mnadcent">
<image src="../../image/ff5.jpg" class="mnadback"></image>
<view class="mntixing" wx:if="{{hiddengg}}" >
<text>观看广告,获得奖励</text>
</view>
<view class="mnad000" wx:if="{{hiddengg}}" >
</view>
</view>
<button bindtap="rungg">观看广告</button>
<view class="tt">
<text>{{testinfo}}</text>
</view>
谁能给我一个完美的解释,谢谢
找到原因了,感觉还真是羞耻呢
直接复制粘贴拼凑的,结果找不到status这个变量,把res和status换成一致的就没问题了。
同时也了解了预览的时候可以点击右上角的三个点打开调试,就能方便找到问题了。
但是奇怪的是,为什么真机调试的时候就一点问题都没有呢???