激励广告

激励广告

激励广告是用户通过观看短视频,获取应用内奖励(游戏的复活,任务奖励,游戏金币)等,具体场景由开发者定义。

此章节将演示如何请求在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(`激励广告发奖`);
        },
    })
});