激励广告
激励广告
激励广告是用户通过观看短视频,获取应用内奖励(游戏的复活,任务奖励,游戏金币)等,具体场景由开发者定义。
此章节将演示如何请求在cocos
环境下请求与展示激励广告
注意
激励广告需要传入正确的用户ID,错误或空的用户ID会影响收益
请求激励广告
调用ZJSdk#loadRewardedAd(posId: string, userId: string, loadListener: ZJLoadListener, isVolumeOn: boolean = true)
方法请求广告
export class ZJSdk {
/**
* 加载激励广告
* @param posId 广告位ID
* @param userId 用户ID
* @param loadListener 加载回调
* @param extra 透传信息
* @param isVolumeOn 是否开启声音
*/
static loadRewardedAd(posId: string, userId: string, loadListener: ZJLoadListener, isVolumeOn: boolean = true)
}
ZJLoadListener 说明
方法 | 说明 |
---|---|
onAdLoaded() | 广告加载成功 |
onError(int code, string msg) | 广告加载出错 code: 错误码 msg: 错误信息 |
检查激励广告有效性
如果激励广告为预加载,需要在展示前调用ZJSdk#isRewardedAdValid()
方法判断当前缓存的广告对象是否有效,无效时需要重新请求广告
export class ZJSdk {
/**
* 校验激励广告是否有效
* @returns 是否有效,有效时可以调用show方法展示,无效时需要重新加载
*/
static isRewardedAdValid(): boolean
}
展示激励广告
调用ZJSDK#showRewardedAd(interactionListener: ZJInteractionListener, rewardListener: ZJRewardListener)
方法,展示广告
export class ZJSdk {
/**
* 展示激励广告
* @param interactionListener 交互回调
* @param rewardListener 奖励回调
*/
static showRewardedAd(interactionListener: ZJInteractionListener, rewardListener: ZJRewardListener)
}
ZJInteractionListener 说明
方法 | 说明 |
---|---|
onError: (errCode: Number, errMsg: string) => void | 广告展示失败 code: 错误码 msg: 错误信息 |
onAdShow: () => void | 展示成功,只回调一次 |
onAdClick: () => void | 广告点击,会多次回调 |
onAdClose: () => void | 广告关闭 |
ZJRewardListener 说明
方法 | 说明 |
---|---|
onAdReward: (extra:any) => void | 广告发奖,extra 内容请忽略 |
激励广告接入示例
scripts/demo/PopPanle.ts
this.CreateTextBtnItem("加载激励广告", () => {
ZJSdk.loadRewardedAd(this.rewardAdPosId, this.userId, {
onAdLoaded() {
log.insert("激励广告加载成功");
}, onError(errCode, errMsg) {
log.insert(`激励广告加载失败,错误码:${errCode},错误信息:${errMsg}`);
}
})
});
this.CreateTextBtnItem("检查广告是否有效", () => {
log.insert(`激励广告状态: ${ZJSdk.isRewardedAdValid() ? "有效" : "无效"}`);
});
this.CreateTextBtnItem("显示激励广告", () => {
ZJSdk.showRewardedAd({
onError(errCode: Number, errMsg: string) {
log.insert(`激励广告展示失败,错误码:${errCode},错误信息:${errMsg}`);
},
onAdShow() {
log.insert("激励广告展示");
},
onAdClick() {
log.insert("激励广告点击");
},
onAdClose() {
log.insert("激励广告关闭");
}
}, {
onAdReward(extra) {
log.insert(`激励广告发奖`);
},
})
});