Help Center/Details/

模板渲染Draw

简介

模版渲染Draw:开发者不用自行对广告样式进行编辑和渲染,可直接调用相关接口获取广告view进行展示

支持的广告尺寸:竖版视频(宽高比16:9)

注意:不支持开发者在view添加按钮及对广告拦截处理

权限

模板渲染Draw视频广告: 默认提供

模板渲染Draw信息流请求方法(TTNativeExpressAd)

注意:
1、模板广告请求方法需要开发者设置setExpressViewAcceptedSize参数,单位dp。
2、期望个性化模板尺寸的参数设置中,个性化模板Draw视频广告高度不能设置为0

创建TTAdNative对象

//创建TTAdNative对象,createAdNative(Context context) context需要传入Activity对象
TTAdNative mTTAdNative = TTAdSdk.getAdManager().createAdNative(this);

创建广告请求AdSlot

AdSlot adSlot = new AdSlot.Builder()
        .setCodeId(codeId) //广告位id
        .setSupportDeepLink(true)
        .setAdCount(1) //请求广告数量为1到3条
        .setExpressViewAcceptedSize(expressViewWidth,expressViewHeight) //期望模板广告view的size,单位dp
        .setAdLoadType(PRELOAD)//推荐使用,用于标注此次的广告请求用途为预加载(当做缓存)还是实时加载,方便后续为开发者优化相关策略
        .build();

参数说明

参数 说明
setCodeId 平台创建的代码位ID 以9开头9位数字
setAdCount 请求数量1-3条。建议设置为1
setExpressViewAcceptedSize 设置请求模板广告素材的尺寸 单位:dp
setAdLoadType() 用于标注此次的广告请求用途为预加载(当做缓存)还是实时加载,方便后续为开发者优化相关策略,传入参数值:
UNKNOWN//未知,默认值,开发者未传入,或当此次加载的广告用途未知时使用
PRELOAD//预加载,当此次加载的广告用途为预加载(当作缓存)时使用
LOAD//实时加载,当此次加载的广告用途为实时播放时使用

请求广告

接入方可调用loadExpressDrawFeedAd(AdSlot adSlot, @NonNull NativeExpressAdListener listener)异步加载广告
注意:点击事件注册时机在广告render之前 否则会影响展示、点击的数据上报

//加载广告
mTTAdNative.loadExpressDrawFeedAd(adSlot, new TTAdNative.NativeExpressAdListener() {
	//广告加载失败
    @Override
    public void onError(int code, String message) {
    
   	}
	//广告加载成功
    @Override
    public void onNativeExpressAdLoad(List<TTNativeExpressAd> ads) {
        
    }
});

NativeExpressAdListener 说明

回调 说明
onError() 广告请求失败回调 返回的错误码(code)表示广告请求失败的原因,详情请见链接
onNativeExpressAdLoad() 广告请求成功的回调,客户端可在该回调中调用render()进行广告渲染

广告点击事件监听器

ad.setExpressInteractionListener(new TTNativeExpressAd.ExpressAdInteractionListener() {
		//广告点击的回调
       @Override
       public void onAdClicked(View view, int type) {

       }
	   //广告展示回调
       @Override
       public void onAdShow(View view, int type) {

       }
	   //广告渲染失败
       @Override
       public void onRenderFail(View view, String msg, int code) {

       }
	   //广告渲染成功
       @Override
       public void onRenderSuccess(View view, float width, float height) {
                          
       }
      });

ExpressAdInteractionListener说明

回调 说明
onAdClicked() 广告点击的回调,点击后的动作由sdk控制 点击量 可在穿山甲提供的方法里进行埋点统计
onAdShow() 广告展示回调,展示量 可在穿山甲提供的方法里进行埋点统计
onRenderFail() 个性化模板渲染失败
onRenderSuccess() 个性化模板渲染成功,客户端可在该回调中把广告的view直接add要显示的控件

注意: 加载到广告后,调用TTNativeExpressAd.render()方法渲染广告,在onRenderSuccess(View view, float width, float height)回调中,处理添加广告view的逻辑,width&height即为广告的宽高。

视频状态监听

/**
* 设置视频广告的回调监听
*/
//点击监听器必须在getAdView之前调用
ad.setVideoAdListener(new TTNativeExpressAd.ExpressVideoAdListener() {
    //视频广告加载成功
    @Override
    public void onVideoLoad() {

    }
	//视频广告加载失败
    @Override
    public void onVideoError(int errorCode, int extraCode) {

    }
	//视频广告播放回调
    @Override
    public void onVideoAdStartPlay() {

    }
	//视频广告暂停回调
    @Override
    public void onVideoAdPaused() {

    }
	//视频广告续播
    @Override
    public void onVideoAdContinuePlay() {

    }
	//视频播放进度
    @Override
    public void onProgressUpdate(long current, long duration) {

    }
	//视频广告播放完成回调
    @Override
    public void onVideoAdComplete() {

    }
	//点击重播
    @Override
    public void onClickRetry() {

    }
});

ExpressVideoAdListener说明

方法 说明
onVideoLoad() 视频广告加载成功回调
onVideoError() 视频广告加载失败回调
onVideoAdStartPlay() 视频广告播放回调
onVideoAdPaused() 视频广告暂停回调
onVideoAdContinuePlay() 视频广告续播回调
onProgressUpdate() 视频广告播放进度回调
onVideoAdComplete() 视频广告播放完成回调
onClickRetry() 视频广告点击重播回调

销毁广告对象

//在Activity的onDestroy回调方法中销毁广告对象
@Override
protected void onDestroy() {
    super.onDestroy();
    if (mTTAd != null) {
        mTTAd.destroy();
    }
}

参考Demo

模板Draw广告请参考Demo中的DrawNativeExpressVideoActivity示例

模板渲染Draw注意点:

1、个性化模板Draw广告不支持dislike逻辑。
2、模板尺寸的参数设置中,个性化模板Draw视频广告高度不能设置为0

Did the content solve your problem?
Contact us