插全屏广告

插全屏广告

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

2.4.16版本起,插屏与全屏视频统一使用com.zj.zjsdk.api.v2.interstitial.ZJInterstitialAd请求

插屏广告是移动广告的一种常见形式,在应用开流程中弹出,当应用展示插页式广告时,用户可以选择点按广告,访问其目标网址,也可以将其关闭,返回应用

横板插屏半屏竖版插屏半屏全屏视频插屏
横板插屏竖版插屏全屏视频插屏

请求插屏广告

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

public class ZJInterstitialAd {

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

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

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

    /**
     * 加载广告
     *
     * @param activity     当前Activity
     * @param posId        广告位ID
     * @param userId       用户ID
     * @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 boolean isVolumeOn, final int flags, final ZJInterstitialAdLoadListener loadListener);

}

加载回调说明

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

提示

插屏广告接入的注意事项见常见问题-插屏广告

展示插屏广告

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

ZJInterstitialAd 说明

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

校验插屏广告有效性

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

交互回调说明

方法说明
onInterstitialAdShow()广告展示
onInterstitialAdClick()广告点击
onInterstitialAdShowError(int code, String msg)广告展示失败
code: 错误码
msg: 错误信息
onInterstitialAdClose()广告关闭

插屏广告接入示例

// 加载广告
ZJInterstitialAd.loadAd(this, posId, new ZJInterstitialAdLoadListener() {
    
    @Override
    public void onError(int code, @NonNull String msg) {
        Log.e("ZJInterstitialAd", "插屏广告加载出错" + code + "-" + msg);
    }

    @Override
    public void onAdLoaded(@NonNull ZJInterstitialAd interstitialAd) {
        // 插屏广告加载成功,配置交互回调
        interstitialAd.setAdInteractionListener(MainActivity.this);
        interstitialAd.show(MainActivity.this);
    }
    
});
// 加载广告
ZJInterstitialAd.loadAd(this, posId, object : ZJInterstitialAdLoadListener {

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

    override fun onAdLoaded(interstitialAd: ZJInterstitialAd) {
        // 插屏广告加载成功,配置交互回调
        interstitialAd.setAdInteractionListener(this@MainActivity)
        interstitialAd.show(this@MainActivity)
    }
    
})