穿山甲插屏广告居中_自渲染插屏

本文介绍了如何实现穿山甲自渲染插屏广告,并确保广告居中显示。主要内容包括设置广告尺寸、创建AdSlot、请求广告、监听广告行为及销毁广告对象的方法。同时强调了广告展示和点击回调的重要性,以及自渲染插屏广告在不同场景下的使用注意事项。
摘要由CSDN通过智能技术生成

简介

自渲染插屏: : 开发者可以拿到广告的物料信息进行拼接

支持的广告尺寸:

大图(宽高比:1.78的图片)

小图(宽高比:1.52的图片)

组图(三张宽高比:1.52的图片)

权限

自渲染插屏广告: 已回收,不再提供创建

自渲染插屏请求方法

创建TTAdNative对象

//创建TTAdNative对象,createAdNative(Context context) context需要传入Activity对象

TTAdNative mTTAdNative = TTAdSdk.getAdManager().createAdNative(this);

创建广告请求类型参数AdSlot

注意:

1、setImageAcceptedSize 必填字段,期望的图片尺寸(必填)

2、setNativeAdType 请求原生广告时候,请务必调用该方法,请求自渲染插屏设置参数为TYPE_INTERACTION_AD

AdSlot adSlot = new AdSlot.Builder()

.setCodeId(codeId)

.setSupportDeepLink(true)

.setImageAcceptedSize(1080, 1920)

.setNativeAdType(AdSlot.TYPE_INTERACTION_AD)//请求原生广告时候,请务必调用该方法,设置参数为TYPE_INTERACTION_AD

.build();

参数说明

参数

说明

setCodeId()

平台创建的代码位ID 以9开头9位数字

setImageAcceptedSize()

期望的图片尺寸(必填) 单位:px

setNativeAdType()

请求广告类型

setAdCount()

请求广告数量为1-3条

请求广告

接入方可调用loadNativeAd(AdSlot adSlot, @NonNull NativeAdListener listener)异步加载广告

//请求广告

mTTAdNative.loadNativeAd(adSlot, new TTAdNative.NativeAdListener() {

//广告请求失败回调

@Override

public void onError(int code, String message) {

}

//广告请求成功的回调

@Override

public void onNativeAdLoad(List ads) {

}

});

NativeAdListener

回调

说明

onError()

广告请求失败回调 返回的错误码(code)表示广告请求失败的原因,详情请见链接

onNativeAdLoad()

广告请求成功的回调

注意:

addView前需要把控件上所有的view调用removeAllViews方法移除

setNativeAdType(AdSlot.TYPE_INTERACTION_AD) //请求原生广告时候,请务必调用该方法,设置参数为TYPE_INTERACTION_AD

自渲染插屏是直接创建一个Dialog 在dialog中创建布局 把对应广告元素添加即可

TTFeedAd 接口说明

通过getAdView()获取广告信息,比如title、buttonText等信息,自定义绘制整个广告区域,可以和自己的应用的样式风格尽可能的接近

public interface TTFeedAd{

/**

* 获取穿山甲logo,图片大小:80*80

*

* @return bitmap对象

*/

Bitmap getAdLogo();

/**

* 广告标题

*

* @return

*/

String getTitle();

/**

* 广告描述

*

* @return

*/

String getDescription();

/**

* 广告来源

*

* @return

*/

String getSource();

/**

* 广告图标Image

*

* @return

*/

TTImage getIcon();

/**

* 广告图片Image list

*

* @return

*/

List getImageList();

/**

* 得到Feed广告交互类型

*

* @return 2:在浏览器打开网页,3:在app中打开,4:下载应用,5:拨打电话 其它:未知类型

*/

int getInteractionType();

/**

* 得到Feed广告图片模式

*

* @return 3 大图 2小图 4 组图 5 视频 其它:未知类型

*/

int getImageMode();

/**

* 获取下载状态控制器

*/

DownloadStatusController getDownloadStatusController();

/**

* 注册可点击的View,click/show会在内部完成

*

* @param container 渲染广告最外层的ViewGroup

* @param clickView 可点击的View

*/

void registerViewForInteraction(@NonNull ViewGroup container, @NonNull View clickView, AdInteractionListener listener);

/**

* 注册可点击的View,click/show会在内部完成

*

* @param container 渲染广告最外层的ViewGroup

* @param clickViews 可点击的View的列表

* @param creativeViews 用于下载或者拨打电话的View

*/

void registerViewForInteraction(@NonNull ViewGroup container, @NonNull List clickViews, @Nullable List creativeViews, AdInteractionListener listener);

/**

* 注册可点击的View,click/show会在内部完成

*

* @param container 渲染广告最外层的ViewGroup

* @param clickViews 可点击的View的列表

* @param creativeViews 用于下载或者拨打电话的View

* @param listener 点击回调

*/

void registerViewForInteraction(@NonNull ViewGroup container, @NonNull List clickViews, @Nullable List creativeViews, @Nullable View dislikeView, AdInteractionListener listener);

/**

* 设置下载监听器

*/

void setDownloadListener(TTAppDownloadListener downloadListener);

/**

* 兼容下载类广告,使用activity申请权限

*/

void setActivityForDownloadApp(@NonNull Activity activity);

/**

* 获取广告的view,如视频广告的view,在广告平台可设置是否自动播放、是否静音等。

*

* @return

*/

View getAdView();

}

插屏广告行为监听

重要!!! AdInteractionListener涉及到广告计费,必须正确调用 convertView必须使用ViewGroup

注意: 不能在子线程调用 TTInteractionAd.showInteractionAd

/**

* 注册可点击的View,click/show会在内部完成

* @param container 渲染广告最外层的ViewGroup

* @param clickViews 可点击的View的列表

* @param creativeViews 用于下载或者拨打电话的View

*/

//可以被点击的view, 比如标题、icon等,点击后尝试打开落地页,也可以把nativeView放进来意味整个广告区域可被点击

List clickViewList = new ArrayList<>();

clickViewList.add(mAdImageView);

//触发创意广告的view(点击下载或拨打电话),比如可以设置为一个按钮,按钮上文案根据广告类型设定提示信息

List creativeViewList = new ArrayList<>();

//如果需要点击图文区域也能进行下载或者拨打电话动作,请将图文区域的view传入

//creativeViewList.add(nativeView);

creativeViewList.add(mAdImageView);

List imageViewList = new ArrayList<>();

imageViewList.add(mAdImageView);

//重要! 这个涉及到广告计费,必须正确调用。convertView必须使用ViewGroup。

ad.registerViewForInteraction(mRootView, imageViewList,clickViewList, creativeViewList, mDislikeView, new TTNativeAd.AdInteractionListener() {

//点击普通区域回调

@Override

public void onAdClicked(View view, TTNativeAd ad){

}

//点击创意区域回调

@Override

public void onAdCreativeClick(View view, TTNativeAd ad){

}

//广告展示回调

@Override

public void onAdShow(TTNativeAd ad){

}

});

AdInteractionListener说明

回调

说明

onAdClicked()

点击普通区域回调

onAdCreativeClick()

点击创意区域回调

onAdShow()

广告展示回调

销毁广告对象

在Activity的onDestroy回调方法中销毁广告view

//在Activity的onDestroy方法中清空广告对象

@Override

protected void onDestroy() {

super.onDestroy();

if (ad != null) {

ad = null;

}

}

参考Demo

自渲染插屏广告请参考Demo中的NativeInteractionActivity示例

自渲染插屏注意点:

1.不能在子线程调用 TTInteractionAd.showInteractionAd

//show弹窗之前一定要加判断

if (Looper.getMainLooper() != Looper.myLooper()) {

throw new IllegalStateException("不能在子线程调用 TTInteractionAd.showInteractionAd");

}

mAdDialog.show();

2.自渲染插屏广告不支持dislike逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值