插全屏广告
插全屏广告
此章节将演示如何请求在原生
环境下请求与展示插屏广告
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)
}
})