激励广告

激励广告

此章节将演示如何请求在原生环境下请求与展示激励广告

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

激励广告

请求激励广告

提示

激励广告需要传入正确的用户ID,错误或空的用户ID会影响收益

调用ZJRewardedAd#loadAd的重载方法请求广告,并在ZJRewardedAdLoadListener中获取广告对象与处理错误信息

public class ZJRewardedAd {

    public static void loadAd(Activity activity, String posId, String userId, ZJRewardedAdLoadListener loadListener);

    public static void loadAd(final Activity activity, final String posId, final String userId, final String extra, final boolean isVolumeOn, final ZJRewardedAdLoadListener loadListener);

    /**
     * 加载广告
     *
     * @param activity     当前Activity
     * @param posId        广告位ID
     * @param userId       用户ID
     * @param extra        透传信息,可空
     * @param isVolumeOn   是否开启声音
     * @param flags        {@link com.zj.zjsdk.ZJConstants.RequestFlags}
     * @param loadListener 加载回调
     */
    public static void loadAd(final Activity activity, final String posId, final String userId, final String extra, final boolean isVolumeOn, final int flags, final ZJRewardedAdLoadListener loadListener);

}

加载回调说明

方法说明
onError(int code, String msg)广告加载出错
code: 错误码
msg: 错误信息
onAdLoaded(ZJRewardedAd rewardedAd)广告加载成功
rewardedAd: 广告对象

提示

激励广告接入的注意事项见常见问题-激励广告

展示激励广告

在加载成功回调中获取到ZJRewardedAd对象后,可以配置交互回调、校验有效性,并展示广告

ZJRewardedAd 说明

方法说明
boolean isValid()判断当前广告是否有效(预加载时在展示前需要判断)
setAdInteractionListener(ZJRewardedAdInteractionListener interactionListener)配置交互回调
show(Activity activity)广告展示,需要传入当前的 activity 对象

校验激励广告有效性

如应用有预加载机制,缓存了ZJRewarded广告对象,需要在广告展示前调用ZJRewardedAd#isValid()方法判断广告的有效性,在返回否时重新请求广告

交互回调说明

方法说明
onRewardedAdShow()激励展示
onRewardedAdClick()激励点击
onRewardedAdShowError(int code, String msg)广告展示失败
code: 错误码
msg: 错误信息
onRewardVerify(String tradeId)广告播放达到要求会回调此方法开发者需在此进行发奖(交易ID,可能为空字符串)
onRewardedAdClose()广告关闭

激励广告接入示例

注意

userId为必传参数,传入的值需要保证唯一性,可以为转码或加密后的结果,但不可以拼接时间戳、随机数等不固定的值,长度不大于32位

// 加载广告 userId -> 必须传入
ZJRewardedAd.loadAd(this, posId, userId, new ZJRewardedAdLoadListener() {

    @Override
    public void onError(int code, @NonNull String msg) {
        Log.e("ZJRewardAd", "激励广告加载出错" + code + "-" + msg);             
    }

    @Override
    public void onAdLoaded(@NonNull ZJRewardedAd rewardedAd) {
        // 激励广告加载成功,配置交互回调
        rewardedAd.setAdInteractionListener(MainActivity.this);
        rewardedAd.show(MainActivity.this);
    }

});
// 加载广告 userId -> 必须传入
ZJRewardedAd.loadAd(this, posId, userId, object : ZJRewardedAdLoadListener {

    override fun onError(code: Int, msg: String) {
        Log.e("ZJRewardAd", "激励广告加载出错$code-$msg")
    }

    override fun onAdLoaded(rewardedAd: ZJRewardedAd) {
        // 激励广告加载成功,配置交互回调
        rewardedAd.setAdInteractionListener(this@MainActivity)
        rewardedAd.show(this@MainActivity)
    }

})

激励广告服务端校验

激励广告服务端校验