
SDK为接入方提供了可自定义布局的信息流广告,包含大图、小图、组图和视频以及模板等五种基本样式类型(具体的布局摆放可自行定义),及电话拨打、应用下载、跳转到落地页、跳转到浏览器四种交互类型。
注意事项
使用初始化后的TTAdManager对象,创建广告请求对象TTAdNative。
创建广告请求AdSlot,用于请求广告前,传递部分广告配置参数。
方法名 | 说明 |
setCodeId(String codeId) | 聚合广告位ID |
setAdCount(int adCount) | 加载广告数,最多不超过3个 |
setImageAcceptedSize(int width, int height) | 自渲染设置宽高,单位px |
setExpressViewAcceptedSize(float width, float height) | 模板设置宽高,单位dp |
setUserID(String userID) | 用户的唯一标识,非必传,主要用来方便后续问题排查 |
setMediationAdSlot(MediationAdSlot mediationAdSlot) | 设置聚合广告请求参数 |
方法名 | 说明 |
setMuted(boolean var1) | 设置静音 |
setVolume(float var1) | 设置音量范围0~1;静音设置为0 |
setUseSurfaceView(boolean var1) | 是否使用SurfaceView |
setExtraObject(String var1, Object var2) | 设置额外参数,不设置则使用ADN默认值 例如: .setExtraObject(MediationConstant.KEY_GDT_VIDEO_OPTION,new VideoOption.Builder().setAutoPlayMuted(true).build()) //设置GDT广告视频相关配置,比如静音功能 .setExtraObject(MediationConstant.KEY_GDT_NATIVE_LOGO_PARAMS,new FrameLayout.LayoutParams(80, 80, Gravity.BOTTOM | Gravity.RIGHT)) //设置GDT自渲染信息流广告logo位置 |
setBidNotify(boolean var1) | bidding类型广告,竞价成功或者失败后是否通知对应的ADN |
setScenarioId(String var1) | 广告场景ID |
调用loadFeedAd(adSlot, new TTAdNative.FeedAdListener() 异步加载广告。
注意:点击事件注册时机在广告render之前,否则会影响展示、点击的数据上报。
方法名 | 说明 |
onFeedAdLoad(List list) | 广告加载成功,多个广告对象以数组返回 |
onError(int errorCode, String message) | 广告加载失败 |
为了确保播放流程建议在广告加载成功onFeedAdLoad(List<TTFeedAd> list)回调后调用广告展示并判断isReady状态。
聚合信息流场景支持模板和自渲染广告混出,展示前可通过
mTTFeedAd.getMediationManager().isExpress()//true为模板广告,false为自渲染广告
方法名 | 说明 |
String getTitle() | 广告标题 |
String getDescription() | 广告描述 |
String getButtonText() | 广告创意按钮文案 |
int getAppScore() | 广告app评分 |
String getSource() | 广告来源 |
List getImageList() | 广告图片Image list,返回的list可能为0个 |
int getInteractionType() | 原生广告交互类型 |
int getImageMode() | 原生广告图片模式 |
ComplianceInfo getComplianceInfo() | 应用下载相关信息 |
TTAdDislike getDislikeDialog(Activity activity) | 得到Dislike dialog,建议传当前activity,否则可能会影响dislike对话框弹出 |
DownloadStatusController getDownloadStatusController() | 下载状态控制器 |
void setDownloadListener(TTAppDownloadListener downloadListener) | 设置下载监听器 |
View getAdView() | 模板类型获取广告View |
Map<String, Object> getMediaExtraInfo() | 返回广告额外信息 |
void render() | 渲染模板广告,渲染成功后通过getAdView()可获取到渲染成功的广告 |
void setExpressRenderListener(ExpressRenderListener expressRenderListener) | 设置模板渲染回调监听 |
void setDislikeCallback(Activity activity, TTAdDislike.DislikeInteractionCallback dislikeInteractionCallback) | 设置dislike监听 |
void destroy() | 资源释放 |
MediationNativeManager getMediationManager() | 获取聚合广告信息 |
void setVideoAdListener(VideoAdListener videoAdListener) | 设置Video监听 |
CustomizeVideo getCustomVideo() | 自渲染信息流广告,开发者可自定义播放器 |
int getAdViewWidth() | View宽 |
int getAdViewHeight() | View高 |
void setVideoRewardListener(VideoRewardListener videoRewardListener) | 聚合场景不支持 |
double getVideoDuration() | Video时长(聚合场景支持穿山甲,gdt,ks,baidu,mtg) |
void setDislikeDialog(TTDislikeDialogAbstract dialog) | 设置自定义Dislike(聚合场景不支持) |
void setActivityForDownloadApp(Activity activity) | 兼容下载类广告,使用activity申请权限(聚合场景仅支持穿山甲) |
void registerViewForInteraction(ViewGroup container, View clickView, AdInteractionListener listener) | 自渲染交互注册入口 *@param container 渲染广告最外层的ViewGroup *@param clickViews 可点击的View的列表*@param listener 点击回调 |
void registerViewForInteraction(ViewGroup container, List clickViews, List creativeViews, AdInteractionListener listener) | 自渲染交互注册入口 *@param container 渲染广告最外层的ViewGroup *@param clickViews 可点击的View的列表*@param creativeViews 用于下载或者拨打电话的View *@param listener 点击回调 |
void registerViewForInteraction(ViewGroup container, List clickViews, List creativeViews, View dislikeView, AdInteractionListener listener) | 自渲染交互注册入口 *@param container 渲染广告最外层的ViewGroup *@param clickViews 可点击的View的列表 *@param creativeViews 用于下载或者拨打电话的View *@param dislikeView dislike按钮 *@param listener 点击回调 |
void registerViewForInteraction(ViewGroup container, List imageViews, List clickViews, List creativeViews, View dislikeView, AdInteractionListener listener) | 自渲染交互注册入口 *@param container渲染广告最外层的ViewGroup *@param imageViews imageView列表*@param clickViews 可点击的View的列表*@param creativeViews用于下载或者拨打电话的View *@param dislikeView dislike按钮*@param listener 点击回调 |
void registerViewForInteraction(ViewGroup container, List imageViews, List clickViews, List creativeViews, List directDownloadViews, View dislikeView, AdInteractionListener listener) | 自渲染交互注册入口 *@param container 渲染广告最外层的ViewGroup *@param imageViewsimageView列表*@param clickViews 可点击的View的列表*@param creativeViews 用于下载或者拨打电话的View * @param directDownloadViews 用于前置展示五要素点击直接下载的view *@param dislikeView dislike按钮*@param listener 点击回调 |
void registerViewForInteraction(Activity activity,ViewGroup container,List clickViews,List creativeViews,List directDownloadViews,AdInteractionListener listener,MediationViewBinder viewBinder) | 自渲染交互注册入口 * @param activity 广告将要展示所在的activity * @param container 渲染广告最外层的ViewGroup * @param clickViews 可点击的View的列表* @param creativeViews 用于下载或者拨打电话的View * @param directDownloadViews 用于前置展示五要素点击直接下载的view * @param listener 点击回调 * @param viewBinder 视图绑定对象 |
TTAdDislike getDislikeDialog(TTDislikeDialogAbstract dialog) | 自定义Dislike dialog(聚合场景不支持) |
DislikeInfo getDislikeInfo() | 获得Dislike相关信息(聚合场景不支持) |
TTImage getIcon() | 广告图标Image |
int getAppSize() | 广告app大小(聚合场景不支持) |
TTImage getVideoCoverImage() | 当为视频广告时,返回视频封面图对象(聚合场景支持穿山甲,ks) |
Bitmap getAdLogo() | 获取广告logo |
int getAppCommentNum() | 广告app评论数(聚合场景仅支持穿山甲) |
方法名 | 说明 |
void onRenderSuccess(View view, float width, float height, boolean isExpress) | 模板渲染成功 |
void onRenderFail(View view, String msg, int code) | 渲染失败 |
void onAdClick() | 点击回调 |
void onAdShow() | 展示回调 |
方法名 | 说明 |
void onAdClicked(View view, TTNativeAd ad) | 广告点击的回调,View 无效返回值为null |
void onAdCreativeClick(View view, TTNativeAd ad) | 创意广告点击回调,View 无效返回值为null |
void onAdShow(TTNativeAd ad) | 广告展示回调,每个广告仅回调一次 |
方法名 | 说明 |
getAppName() | 获取应用名称,用于在合规展示(如隐私弹窗、信息公示页)中标明当前应用的名称 |
getAppVersion() | 获取应用版本号,用于在合规信息中展示当前 App 的版本信息 |
getDeveloperName() | 获取开发者名称(公司或个人主体),用于主体信息公示 |
getPrivacyUrl() | 获取隐私政策链接地址,用于跳转到完整隐私政策文档 |
getPermissionsMap() | 获取应用使用的系统权限映射表,通常 key 为权限名、value 为用途说明,用于权限使用目的的合规展示 |
getPermissionUrl() | 获取权限使用说明页面链接,用于集中展示权限列表及其用途说明 |
getFunctionDescUrl() | 获取功能说明页面链接,用于展示应用及相关功能的详细描述与使用场景 |
getRegNumber() | 获取备案号/注册号等合规编号信息(如ICP备案号、网文号等) |
getRegUrl() | 获取备案信息查询或展示页面的链接地址,用于跳转查看详细备案信息 |
*有自渲染广告必须处理
调用registerViewForInteraction注册广告点击行为(涉及广告计费,必须正确调用),convertView必须使用ViewGroup
加载到信息流/Draw广告后,接入方需要注册在信息流广告中可以点击的View,即ad.registerViewForInteraction()方法,以实现广告的功能交互及计费。包含图文点击区域的注册和创意按钮点击区域的注册。对于落地页广告,用户点击图文广告区域会跳转到相应的落地页,点击附加创意区域会进行电话拨打、应用下载等操作。
getView()方法中调用。方法 | 说明 |
onAdClicked() | 点击普通区域回调 |
onAdCreativeClick() | 点击创意区域回调 |
onAdShow() | 广告展示回调 |
方法名 | 说明 |
void showDislikeDialog() | 展示Dislike dialog |
void setDislikeInteractionCallback(DislikeInteractionCallback dislikeInteractionCallback) | 设置Dislike选中时的回调 |
void setDislikeSource(String dislikeSource) | 设置Dislike的来源(聚合场景不支持) |
void resetDislikeStatus() | 重置Dislike状态(聚合场景不支持) |
boolean isShow() | 当前是否显示(聚合场景不支持) |
方法名 | 说明 |
void onSelected(int position, String value, boolean enforce) | 选择原因,enforce无效默认false |
void onShow() | Dislike show |
void onCancel() | 点击取消 |
方法名 | 说明 |
void onVideoLoad(TTFeedAd ad); | 视频广告加载成功 |
void onVideoError(int errorCode, int extraCode) | 视频播放失败 |
void onVideoAdStartPlay(TTFeedAd ad) | 视频广告开始播放 |
void onVideoAdPaused(TTFeedAd ad) | 视频广告暂停 |
void onVideoAdContinuePlay(TTFeedAd ad) | 视频广告继续播放 |
void onProgressUpdate(long current, long duration) | 视频广告播放进度 |
void onVideoAdComplete(TTFeedAd ad) | 视频广告播放完成 |
方法名 | 说明 |
boolean isReady() | 当前广告是否可以展示 |
MediationAdEcpmInfo getShowEcpm() | 为了确保数据的准确性,强烈建议在展示后获取展示广告的详细信息,包括广告位类型-getRitType、流量分组ID-getSegmentId、AB实验分组ID-getABTestId、渠道名称-getChannel、子渠道名称-getSubChannel、场景ID-getScenariold、价格-getEcpm、ADN平台-getSdkName |
List<MediationAdLoadInfo> getAdLoadInfo() | load回调后获取广告加载信息 |
boolean hasDislike() | 是否需要Dislike弹窗 |
void setUseCustomVideo(boolean useCustomVideo) | 设置是否是开发者自己进行视频播放,仅支持对外提供视频url的adn,要注意有些adn需要申请白名单 |
void setShakeViewListener(MediationShakeViewListener listener) | 摇一摇监听 |
boolean isExpress() | 是否为模板广告 |
方法名 | 说明 |
Map<String, String> getCustomData() | 自定义参数 |
String getSdkName() | 获取SDK名称 |
String getCustomSdkName() | 获取自定义ADN名称 |
String getSlotId() | 获取代码位ID |
String getLevelTag() | 获取多阶底价标签 |
String getEcpm() | 获取价格 |
int getReqBiddingType() | 获取bidding类型 |
String getErrorMsg() | 获取错误信息 |
String getRequestId() | 获取请求标识 |
String getRitType() | 获取代码位类型 |
String getSegmentId() | 获取流量分组ID |
String getChannel() | 获取渠道 |
String getSubChannel() | 获取子渠道 |
String getAbTestId() | 获取AB测试ID |
String getScenarioId() | 获取场景ID |
已经展示过且不再使用的广告需要在合适的时机调用destroy方法及时对广告进行销毁,避免内存异常场景。
FeedAdUtils.java信息流工具类示例
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点