中文
登录
后可查看全部文档
GroMore/开发测试/GroMore Android集成文档/GroMore Android SDK接入文档/Draw 信息流广告接入
Draw 信息流广告接入
最近更新 2026-04-27 10:26:21

一、简介

draw视频广告的展示场景一般在应用的视频流中进行展示,广告内容与应用其他内容区分开,防止意外点击。SDK为接入方提供了可自定义布局的 Draw 信息流广告,包含大图、小图、组图和视频以及模板等五种基本样式类型(具体的布局摆放可自行定义),及电话拨打、应用下载、跳转到落地页、跳转到浏览器四种交互类型。

注意事项

  • 广告请求
    • 聚合SDK是通过广告位ID(一个广告位下包含多个代码位)发起广告请求的,切记不要使用混淆。
    • 广告接入前需要明确各ADN对应聚合SDK广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生。
    • 广告请求时机,建议在收到SDK初始化成功回调后发起广告请求。当SDK初始化回调一直失败时,建议首先明确应用ID及广告位ID是否赋值正确、是否有多余空格、是否是网络不稳定导致的超时等。当排查后无法定位问题时,建议通过抓包将config字段下的加密内容提供过来,协助定位问题。
    • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各ADN平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。
    • setImageAcceptedSize 接口单位为 px。
  • 广告展示
    • 如若针对展示失败有重试机制,建议只重试一次即可,避免无限重试引发死循环场景。
    • 自渲染类型广告,在展示广告View时,广告元素如title、下载button等相关的控件,它们的父类必须使用FrameLayout布局,否则将会影响广告点击计费事件。视频类容器也需要使用FrameLayout布局,否则可能会影响展示或者展示计费事件。

二、构建请求参数

1. 使用示例

使用初始化后的TTAdManager对象,创建广告请求对象TTAdNative。

复制

AdSlot用于请求广告前,传递部分广告配置参数。

复制

2. 接口说明

  • AdSlot.Builder说明

方法名

说明

setCodeId(String codeId)

聚合广告位ID,聚合广告位,聚合场景,需传以1开头的广告位id,SDK内部会自行请求开发者在瀑布流下配置的代码位ID

setAdCount(int adCount)

加载广告数,最多不超过3个

setImageAcceptedSize(int width, int height)

自渲染设置宽高,单位px

setExpressViewAcceptedSize(float width, float height)

模板设置宽高,单位dp

setUserID(String userID)

用户的唯一标识,非必传,主要用来方便后续问题排查

setMediationAdSlot(MediationAdSlot mediationAdSlot)

设置聚合广告请求参数

  • MediationAdSlot.Builder说明

方法名

说明

setMuted(boolean var1)

设置静音

setVolume(float var1)

设置音量范围0~1;静音设置为0

setUseSurfaceView(boolean var1)

是否使用SurfaceView

setExtraObject(String var1, Object var2)

设置额外参数

setBidNotify(boolean var1)

bidding类型广告,竞价成功或者失败后是否通知对应的ADN

setScenarioId(String var1)

广告场景ID

三、请求广告

1. 使用示例

接入方可调用 loadDrawFeedAd(adSlot, new TTAdNative.DrawFeedAdListener() 异步加载广告。

注意:点击事件注册时机在广告render之前,否则会影响展示、点击的数据上报。

复制

2. 接口说明

方法名

说明

onError(int var1, String var2)

加载 Draw 信息流广告失败时回调

onDrawFeedAdLoad(List<TTDrawFeedAd> var1)

Draw 信息流广告加载成功时回调

四、展示广告

1. 使用示例

为了确保播放流程,建议在广告加载成功 onDrawFeedAdLoad(List<TTDrawFeedAd> list) 回调后调用广告展示并判断 isReady 状态。模板类型需调用render()进行广告渲染;

复制

2. 接口说明

  • TTDrawFeedAd广告对象说明

方法名

说明

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 registerViewForInteraction(...)

自渲染交互注册入口

void setDownloadListener(TTAppDownloadListener downloadListener)

设置下载监听器

View getAdView()

模板类型获取广告View

Map<String, Object> getMediaExtraInfo()

返回广告额外信息

void render()

渲染模板广告,渲染成功后通过getAdView()可获取到渲染成功的广告

void setExpressRenderListener(ExpressRenderListener expressRenderListener)

设置模板渲染回调监听

void setDislikeCallback(...)

设置dislike监听

void destroy()

资源释放

MediationNativeManager getMediationManager()

获取聚合广告信息

void setVideoAdListener(VideoAdListener videoAdListener)

设置Video监听

CustomizeVideo getCustomVideo()

自渲染信息流广告,开发者可自定义播放器

  • VideoAdListener说明

方法名

说明

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)

视频广告播放完成

  • MediationExpressRenderListener模板广告监听

方法名

说明

void onRenderSuccess(View view, float width, float height, boolean isExpress)

模板渲染成功

void onRenderFail(View view, String msg, int code)

渲染失败

void onAdClick()

点击回调

void onAdShow()

展示回调

  • TTNativeAd.AdInteractionListener自渲染广告监听

方法名

说明

void onAdClicked(View view, TTNativeAd ad)

广告点击的回调

void onAdCreativeClick(View view, TTNativeAd ad)

创意广告点击回调

void onAdShow(TTNativeAd ad)

广告展示回调,每个广告仅回调一次

五、设置视频区域点击监听

1. 使用示例

复制

2. 接口说明

  • TTDrawFeedAd.DrawVideoListener说明

方法名

说明

void onClickRetry()

点击重试回调

void onClick()

点击回调

六、获取竞价结果

注意事项:

  1. 获取时机:仅支持 show 后获取展示的ADN名称、代码位、ECPM;
  2. ECPM=0:通过getEcpm获取的单位是分,若ecpm为0可以确认 ① 获取时机:是否在展示之后获取;②兜底代码位:若本次展示的是兜底代码位,则getEcpm是0;
  3. 回传竞价结果:设置为AdSlot.Builder().setMediationAdSlot(new MediationAdSlot.Builder().setBidNotify(true)后可触发receiveBidResult,开发者可在该方法中获取竞价结果、价格等信息。

1. 使用示例

复制

2. 接口说明

  • MediationNativeManager 说明

方法名

说明

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()

是否为模板广告

  • MediationAdEcpmInfo说明

方法名

说明

Map<String, String> getCustomData()

自定义参数

String getSdkName()

获取SDK名称

String getCustomSdkName()

获取自定义ADN名称

String getSlotId()

获取代码位ID

String getLevelTag()

获取多阶底价标签

String getEcpm()

获取价格,只能在show之后获取

int getReqBiddingType()

获取bidding类型

String getErrorMsg()

获取错误信息

String getRequestId()

获取请求标识

String getRitType()

获取代码位类型

String getSegmentId()

获取流量分组ID,详细使用请参考>>>

String getChannel()

获取流量分组渠道,详细使用请参考>>>

String getSubChannel()

获取流量分组子渠道,详细使用请参考>>>

String getAbTestId()

获取AB测试ID

String getScenarioId()

获取场景ID

七、销毁广告

已经展示过且不再使用的广告需要在合适的时机调用 destroy 方法及时对广告进行销毁,避免内存异常场景。

复制

八、示例代码

MediationDrawActivity.java

复制

FeedAdUtils.java

复制


本篇目录
联系我们