微信小游戏激励视频广告


微信小游戏激励视频广告

  • 预加载广告
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
static videoAd = null;

static load(id, loadcb, showcb) {
if (cc.sys.platform != cc.sys.WECHAT_GAME){
if(loadcb) loadcb("failed");
return;
}
if(this.videoAd){ // 清空事件,防止多次绑定
this.videoAd.offLoad();
this.videoAd.offError();
this.videoAd.offClose();
this.videoAd = null;
}
// @ts-ignore
this.videoAd = wx.createRewardedVideoAd({
adUnitId: id
});
this.videoAd.onLoad(() => {
});
this.videoAd.onError((err) => {
});
this.videoAd.load()
.then(() => {
if(loadcb) loadcb("success");
})
.catch((err) => {
if(loadcb) loadcb("failed");
})
}
  • 播放
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static show(id, cb) {
if (cc.sys.platform != cc.sys.WECHAT_GAME){
if(cb) cb("failed");
return;
}
this.videoAd.offClose();// 清空事件,防止多次绑定
this.videoAd.onClose((res) => {
console.log('onClose event emit', res)
if (res && res.isEnded) {
// 正常播放结束,可以下发游戏奖励
if(cb) cb("complete");
} else {
// 播放中途退出,不下发游戏奖励
if(cb) cb("failed");
}
});
// 用户触发广告后,显示激励视频广告
this.videoAd.show().catch(() => {
// 失败重试
this.videoAd.load()
.then(() => {
this.videoAd.show();
})
.catch((err) => {
if(cb) cb("failed");
})
});
}