中文
登录
后可查看全部文档
GroMore/开发测试/GroMore Android集成文档/GroMore Android SDK接入文档/Banner广告接入
Banner广告接入
最近更新 2026-03-19 17:01:55

一、简介

banner广告是在内容底部或顶部显示的小条形广告, Banner广告的宽高请尽量与adSlot中设置的宽高比例接近,以避免过多非等比例的拉伸。原生横幅广告内容与其他内容区分开,周围应留出空间防止意外点击,不应将横幅广告放置于文本、图片和应用的其他可点击部分,避免误点。

注意事项

  • banner广告位下支持配置信息流广告进行混用,模版/自渲染方式均支持,具体接入可参照MediationBannerActivity类需注意当版本不匹配时,信息流广告无填充。
  • 在广告接入前需要明确各ADN对应广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生。
  • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各adn平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。
  • 广告请求时机,建议在收到SDK初始化成功回调后发起广告请求,当SDK初始化回调一直失败时,建议首先明确应用ID及广告位ID是否赋值正确、是否有多余空格、是否是网络不稳定导致的超时等,当排查后无法定位问题时,建议通过抓包将config字段下的加密内容提供过来,我方协助定位问题。
  • onRenderSuccess方法内返回的view为null需要通过getAdView获取view。需注意在展示广告时再通过getAdView获取view否则可能会导致素材浪费场景的发生。

二、构建请求参数

1、使用示例

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

复制

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

复制

2、接口说明

  • AdSlot.Builder说明

方法名

说明

setCodeId(String codeId)

聚合广告位ID

setImageAcceptedSize(int width, int height)

设置宽高,单位px

setUserID(String userID)

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

setMediationAdSlot(IMediationAdSlot mediationAdSlot)

设置聚合广告请求参数

  • IMediationAdSlot.Builder说明

方法名

说明

boolean isMuted()

设置静音

float getVolume()

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

boolean isUseSurfaceView()

是否使用SurfaceView

Map<String, Object> getExtraObject()

设置额外参数

boolean isBidNotify()

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

String getScenarioId()

广告场景ID

boolean isAllowShowCloseBtn()

是否显示关闭按钮

MediationNativeToBannerListener getMediationNativeToBannerListener()

banner/信息流混出时,用于将自渲染信息素材流转成banner,由开发者传入

三、请求广告

1、使用示例

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

复制

2、接口说明

  • TTAdNative.NativeExpressAdListener说明

方法名

说明

void onNativeExpressAdLoad(List ads)

广告加载成功的回调,接入方可以在这个回调中进行渲染

void onError(int code, String message)

加载失败的回调

四、展示广告

1、使用示例

为了确保播放流程建议在广告加载成功onNativeExpressAdLoad(List<TTNativeExpressAd> list)回调后调用广告展示并判断isReady状态

复制

2、接口说明

  • TTNativeExpressAd 说明

方法名

说明

View getExpressAdView()

得到原生模板广告view

void setExpressInteractionListener(ExpressAdInteractionListener expressAdInteractionListener)

广告交互回调

void destroy()

销毁

void setDislikeCallback(Activity activity, TTAdDislike.DislikeInteractionCallback dislikeInteractionCallback)

设置dislike回调

Map<String, Object> getMediaExtraInfo()

广告额外信息

MediationNativeManager getMediationManager()

获取聚合广告信息

TTAdDislike getDislikeDialog(Activity activity)

得到dislike dialog(聚合场景不支持)

void showInteractionExpressAd(Activity activity)

展示插屏广告(聚合场景不支持)

void setVideoAdListener(ExpressVideoAdListener videoAdListener)

设置视频广告的回调监听(聚合场景不支持)

void setCanInterruptVideoPlay(boolean canInterruptVideoPlay)

个性化模板广告中视频广告是否可以点击暂停、继续播放(聚合场景不支持)

void setSlideIntervalTime(int intervalTime)

设置Banner广告轮播的间隔时间(聚合场景不支持该字段,聚合场景仅支持在平台瀑布流属性中进行设置)

void setDislikeDialog(TTDislikeDialogAbstract ttDislikeDialogAbstract)

自定义dislike dialog(聚合场景不支持)

int getImageMode()

得到原生广告图片模式(聚合场景不支持)

DislikeInfo getDislikeInfo()

获取Dislike相关信息(聚合场景不支持)

void setDownloadListener(TTAppDownloadListener ttAppDownloadListener)

广告的下载回调(聚合场景不支持)

int getInteractionType()

广告的交互类型(聚合场景不支持)

void render()

渲染模板广告(聚合场景不支持)

  • TTNativeExpressAd.ExpressAdInteractionListener说明

方法名

说明

void onAdClicked(View view, int type)

广告的点击回调,view、type无效

void onAdShow(View view, int type)

广告的展示回调,view、type无效

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

模板渲染失败(聚合场景不支持)

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

模板渲染成功(聚合场景不支持)

五、设置dislike弹框

1、使用示例

复制

2、接口说明

  • TTAdDislike.DislikeInteractionCallback说明

方法名

说明

void onShow()

dislike show

void onSelected(int position, String value, boolean enforce)

选择

void onCancel()

取消

六、获取展示后广告信息示例

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

获取价格

int getReqBiddingType()

获取bidding类型

String getErrorMsg()

获取错误信息

String getRequestId()

获取请求标识

String getRitType()

获取代码位类型

String getSegmentId()

获取流量分组ID

String getChannel()

获取渠道

String getSubChannel()

获取子渠道

String getAbTestId()

获取AB测试ID

String getScenarioId()

获取场景ID

七、销毁广告

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

复制

八、Banner混出信息流广告

1、使用示例

创建广告请求AdSlot时需额外设置setMediationNativeToBannerListener即可,请求、展示广告流程同Banner广告接入流程相同,详见接入Banner广告模块

复制

2、接口说明

  • MediationNativeToBannerListener 说明

方法名

说明

View getMediationBannerViewFromNativeAd(IMediationNativeAdInfo ad)


将自渲染信息流广告的素材转成广告View,步骤如下:

  1. 根据IMediationNativeAdInfo提供的素材创建View
  2. 调用ad.registerView函数进行注册
  3. 返回创建好的View
  • IMediationNativeAdInfo 说明

方法名

说明

String getTitle()

广告标题

String getDescription()

广告内容描述

String getIconUrl()

广告Icon

String getImageUrl()

大图URL

String getActionText()

广告按钮文案

double getStarRating()

广告的下载apk对应的星级

List getImageList()

广告图片

String getSource()

广告来源,一般是广告主名称

int getAdImageMode()

广告展示类型,大图,小图,组图,视频

int getInteractionType()

广告交互类型

void registerView(Activity activity,ViewGroup container,List clickViews,List creativeViews,List directDownloadViews,MediationViewBinder viewBinder)

注册事件,计费点

MediationNativeAdAppInfo getNativeAdAppInfo()

获取下载类广告时下载app的相关安全合规六要素

boolean hasDislike()

是否需要dislike 按钮

MediationAdDislike getDislikeDialog(Activity activity)

得到dislike dialog 穿山甲SDK使用 信息流自渲染广告

MediationAdDislike getDislikeDialog(Activity activity, Map<String, Object> extra)

得到dislike dialog 穿山甲SDK使用 信息流自渲染广告

  • MediationNativeAdAppInfo说明,banner/信息流混出时,获取下载类广告时下载app的相关安全合规七要素

方法名

说明

getAppName()

获取应用名称,用于在合规信息、公示页或隐私弹窗中展示当前应用的名称

getAuthorName()

获取作者/开发者名称(公司或个人主体),用于主体信息公示

getPackageSizeBytes()

获取应用安装包大小(单位:字节),可用于在应用信息页或下载提示中展示包体积

getPermissionsUrl()

获取权限使用说明页面链接,用于跳转查看应用所用系统权限及其用途说明

getPermissionsMap()

获取权限与用途映射表,通常 key 为权限名、value 为用途说明,用于本地渲染权限列表

getPrivacyAgreement()

获取隐私协议文案或隐私政策链接字符串,用于隐私相关展示与跳转

getVersionName()

获取应用版本名(如 1.0.0),用于在合规信息或关于页面中展示当前版本

getFunctionDescUrl()

获取功能说明页面链接,用于展示应用及其功能的详细介绍和使用场景

getAppInfoExtra()

获取应用额外信息的扩展字段集合(key-value),可自定义补充合规或业务相关信息

getRegUrl()

获取应用备案信息或注册信息的查询/展示链接,用于跳转查看详细备案信息

  • MediationAdDislike 说明

方法名

说明

void showDislikeDialog()

展示Dislike dialog

void setDislikeCallback(IMediationDislikeCallback dislikeCallback)

设置dislike选中时的回调

  • IMediationDislikeCallback 说明,banner/信息流混出时,Dislike回调

方法名

说明

void onSelected(int position, String value)

选择触发,位置position,值value

void onCancel()

点击取消

void onShow()

show

九、示例代码

复制

MediationNativeToBannerUtils.java工具类示例代码

复制

详细事例可参照demo:MediationBannerActivity类。


本篇目录
联系我们