视频流广告
视频流广告
此章节将演示如何请求在原生
环境下请求与展示视频流广告
请求视频流广告
调用ZJDrawAd#loadAd
的重载方法请求广告,并在ZJDrawAdLoadListener
中获取广告对象与处理错误信息
public class ZJDrawAd {
public static void loadAd(String posId, ZJDrawAdLoadListener loadListener);
public static void loadAd(String posId, int adNum, ZJDrawAdLoadListener loadListener);
/**
* 加载广告
*
* @param posId 广告位ID
* @param adNum 期望请求的数量
* @param widthDP 期望宽,单位DP
* @param heightDP 期望高,单位DP
* @param loadListener 加载回调
*/
public static void loadAd(String posId, int adNum, int widthDP, int heightDP, ZJDrawAdLoadListener loadListener);
}
提示
默认不需要传入宽高数值,SDK 会根据模板自适应渲染
如有特殊需求传入时,请联系我们固定素材的宽高比,并需要确保传入的数值单位为DP
。且为有效值(不大于屏幕宽高),否则会渲染失败。
加载回调说明
方法 | 说明 |
---|---|
onError(int code, String msg) | 广告加载出错 code: 错误码 msg: 错误信息 |
onAdLoaded(List<ZJDrawAd> adList) | 广告加载成功 adList: 广告列表 |
展示视频流广告
在加载成功回调中获取到ZJNativeExpressAd
对象后,可以配置交互回调,调用render(Activity)
方法渲染广告,并在交互回调的onDrawAdRenderSuccess(View adView)
回调中将adView
插入到容器中
ZJDrawAd 说明
方法 | 说明 |
---|---|
isVolumeOn(boolean isVolumeOn) | 是否开启视频声音 |
setInteractionListener(ZJDrawAdInteractionListener interactionListener) | 配置交互回调 |
setVideoListener(ZJDrawAdVideoListener videoListener) | 配置视频播放回调 |
render(Activity activity) | 渲染 activity: 当前 activity 对象 |
onDestroy() | 页面销毁时需要调用,回收资源,防止内存泄漏 |
交互回调说明
方法 | 说明 |
---|---|
onDrawAdShow() | 视频流展示 |
onDrawAdClick() | 视频流点击 |
onDrawAdRenderSuccess(View adView) | 视频流渲染成功 adView: 广告视图 |
onDrawAdRenderFailed(int code, String msg) | 广告渲染失败 code: 错误码 msg: 错误信息 |
视频播放回调说明
方法 | 说明 |
---|---|
onVideoStart() | 视频播放开始 |
onVideoPause() | 视频播放暂停 |
onVideoResume() | 视频播放恢复 |
onVideoComplete() | 视频播放完成 |
onVideoError(int code, String msg) | 视频播放错误 code: 错误码 msg: 错误信息 |
视频流广告接入示例
// 加载广告
ZJDrawAd.loadAd(this, posId, 1, new ZJDrawAdLoadListener() {
@Override
public void onError(int code, @NonNull String msg) {
Log.e("ZJDrawAd", "视频加载出错" + code + "-" + msg);
}
@Override
public void onAdLoaded(@NonNull List<ZJDrawAd> adList) {
// 视频加载成功,配置交互回调
adList.get(0).setInteractionListener(new ZJDrawAdInteractionListener() {
//...
public void onDrawAdRenderSuccess(@NonNull View adView) {
// 广告渲染视图,返回adView视图
this.container.addView(adView);
}
//...
}
// 视频流渲染
adList.get(0).render(DrawAdActivity.this);
}
});
// 加载广告
ZJDrawAd.loadAd(this, posId, 1, object : ZJDrawAdLoadListener {
override fun onError(code: Int, msg: String) {
Log.e("ZJDrawAd", "信息流加载出错$code-$msg")
}
override fun onAdLoaded(adList: MutableList<ZJDrawAd>) {
// 视频加载成功,配置交互回调
adList[0].setInteractionListener(object : ZJDrawAdInteractionListener {
// ...
override fun onDrawAdRenderSuccess(adView: View?) {
// 广告渲染视图,返回adView视图
if (adView != null) {
this@DrawAdActivity.container.addView(adView);
}
}
// ...
})
// 视频流渲染
adList[0].render(this@DrawAdActivity);
}
})