English
Log In
You can then view all documents
GroMore/开发测试/GroMore Android集成文档/GroMore Android SDK接入文档/开屏广告接入
开屏广告接入
Last updated 2026-04-27 10:25:58

一、简介

开屏广告场景在应用启动时进行展示,展示完毕后自动关闭并进入应用的主界面。开屏代码位只能用于应用开屏的位置。开屏广告返回为一个视图View,宽高默认为match_parent。

注意:

  • 开屏广告 width =屏幕宽;height需要>=75%屏幕高 ,否则会影响计费。
  • 建议请求时传入尺寸与展示区域大小保持一致,避免素材变形。
  • 需要确保在SDK初始化成功后再进行广告请求,否则可能导致广告请求加载失败;
  • 聚合SDK是通过广告位ID(一个广告位下包含多个代码位)发起广告请求的,切记不要使用混淆。
  • 在广告接入前需要明确各ADN对应GroMore广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生;
  • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各ADN平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。

二、构建请求参数

1. 使用示例

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

复制

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

复制

2. 接口说明

  • AdSlot.Builder说明

方法名

说明

setCodeId(String codeId)

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

setImageAcceptedSize(int width, int height)

单位:px,75xx及以后版本不需要设置

setExpressViewAcceptedSize(int width, int height)

单位:dp

setUserID(String userID)

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

setMediationAdSlot(MediationAdSlot mediationAdSlot)

设置聚合广告请求参数,详见MediationAdSlot.Builder 说明

supportRenderControl()

支持渲染控制

  • MediationAdSlot.Builder 说明

.setExtraObject(MediationConstant.KEY_GDT_VIDEO_OPTION,new VideoOption.Builder().setAutoPlayMuted(true).build())

.setExtraObject(MediationConstant.KEY_GDT_NATIVE_LOGO_PARAMS,new FrameLayout.LayoutParams(80, 80, Gravity.BOTTOM | Gravity.RIGHT))

方法名

说明

setMuted(boolean var1)

设置静音

setVolume(float var1)

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

setExtraObject(String var1, Object var2)

设置额外参数,不设置则使用ADN默认值,例如:

设置GDT广告视频相关配置,比如静音功能

//设置GDT自渲染信息流广告logo位置

setBidNotify(boolean var1)

向三方 ADN回传竞价结果,设置为true后可触发竞价结果回调,在 setBidNotify 设为 true 后触发receiveBidResult,开发者可在该方法中获取竞价结果、价格等信息。

setScenarioId(String var1)

广告场景ID,用于标记该广告所在的业务场景(如某个页面或功能位),非必传

setSplashShakeButton(boolean var1)

开屏摇一摇开关

setSplashPreLoad(boolean var1)

是否开启预加载广告,详细使用请查看预加载配置说明

setMediationSplashRequestInfo(MediationSplashRequestInfo var1)

开屏自定义兜底配置保证开屏尽可能展示,设置方法请参考本文高级功能模块的高级功能-首次加载超时解决方案

  • MediationSplashRequestInfo 说明

开屏自定义兜底配置

方法名

说明

public MediationSplashRequestInfo(

String adnName, String adnSlotId, String appId, String appkey)

adnName :请参考MediationConstant.ADN_MINTEGRAL;adnSlotId:ADN平台上申请的代码位ID;

appId:应用ID;

appkey:如果没有可以传空;

三、请求开屏广告

1. 使用示例

调用TTAdNative.loadSplashAd(adSlot, new TTAdNative.CSJSplashAdListener( )加载广告。

复制

2. 接口说明

  • CSJSplashAd 说明

方法名

说明

View getSplashView()

获取开屏广告view

Map<String, Object> getMediaExtraInfo()

广告额外信息

void setSplashAdListener(SplashAdListener splashAdListener)

广告交互回调,如曝光,点击等回调

void showSplashView(ViewGroup viewGroup)

告知SDK展示开屏

MediationSplashManager getMediationManager()

获取聚合广告信息

  • TTAdNative.CSJSplashAdListener 说明

方法名

说明

void onSplashLoadSuccess()

广告物料、素材加载成功

void onSplashLoadFail(CSJAdError csjAdError)

广告物料、素材加载失败或超时回调

void onSplashRenderSuccess(CSJSplashAd ad)

广告渲染成功

void onSplashRenderFail(CSJSplashAd ad, CSJAdError csjAdError)

广告渲染失败

四、展示开屏广告

1. 使用示例

在接收到onSplashRenderSuccess回调后调用showSplashAd展示广告

复制

2. 接口说明

  • SplashAdListener 说明

方法名

说明

void onSplashAdShow(CSJSplashAd ad)

开屏展示会回调,可在该方法内打点上报广告展示数据,需要通过req_id去重

void onSplashAdClick(CSJSplashAd ad)

开屏点击

void onSplashAdClose(CSJSplashAd ad, int closeType)

开屏关闭

五、获取竞价结果

注意事项:

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

1. 使用示例

复制

2、接口说明

  • MediationSplashManager 说明

方法名

返回值

说明

isReady()

boolean

当前广告是否已准备好可展示,一般在调用展示前先判断,true 表示可以安全展示

getAdLoadInfo()

List<MediationAdLoadInfo>

获取本次广告加载过程的详细信息列表,如各广告源的加载结果、耗时、错误码等,用于排查与统计

getCacheList()

List<MediationAdEcpmInfo>

获取当前缓存中的广告 eCPM 列表,用于查看有哪些广告已经预加载并可供后续展示

getShowEcpm()

MediationAdEcpmInfo

获取实际已展示广告的 eCPM 信息(包含 SDK 名称、价格、请求 ID 等),便于对实际曝光的广告做追踪与分析

  • MediationAdEcpmInfo说明

方法名

返回值

说明

getCustomData()

Map<String, String>

自定义参数集合,一般用于透传额外业务字段(如服务端回调、自定义统计等)

getSdkName()

String

实际投放所用广告 SDK 名称,如穿山甲、GDT 等,用于识别当前流量来自哪个广告源

getCustomSdkName()

String

自定义的 ADN 名称(如在聚合侧自定义的别名),用于区分同一厂商下的不同接入或做自定义标记

getSlotId()

String

实际展示广告使用的代码位 ID,一般对应各 ADN 后台的广告位标识

getLevelTag()

String

多阶底价标签/阶梯价标签,用于标记当前展示走的是哪一档价格策略

getEcpm()

String

当前展示广告的 eCPM(单位通常为分),仅支持 show 后通过获取,可用于收入与比价分析

getReqBiddingType()

int

请求的竞价类型(如普通、Bidding),具体枚举需结合文档查看

getErrorMsg()

String

如本次加载/竞价存在错误,这里返回对应的错误信息或原因描述

getRequestId()

String

当前广告请求的唯一标识 ID,便于日志排查与联调定位问题

getRitType()

String

广告位类型(如开屏、激励视频、插屏、信息流等)的标识,用于区分不同广告形态

getSegmentId( )

String

流量分组 ID,用于区分不同实验组、用户分群或分流策略

getChannel()

String

流量分组渠道信息(如应用分发渠道、推广渠道等),便于按渠道维度统计与分析

getSubChannel()

String

流量分组子渠道信息,相比 channel 更细粒度的分渠道标识

getAbTestId()

String

AB 实验 ID,用于标记当前请求命中了哪个 AB 实验方案

getScenarioId()

String

场景 ID,用于标记该广告所在的业务场景(如某个页面或功能位)

getSubRitType()

String

子广告位类型/更细颗粒的广告形态标识,用于在同一大类广告内做进一步区分

六、销毁广告

复制

七、高级功能

1. 首次加载超时解决方案

针对应用首次安装后请求开屏广告超时的情况,提供了API给开发者以解决此问题,针对不同广告平台,开发者需要传递广告平台的各项参数给相关的API,SDK将直接发起请求(只会针对设置的那一家广告平台进行请求,后续将按照后台配置请求广告)

注意:

  • 确保传入MediationSplashRequestInfo中的是各个广告平台的参数,而非SDK的参数。
  • 兜底开屏广告支持:穿山甲(CSJ)、广点通(GDT)、百度、快手、Mintegral和Sigmob。
  • 兜底代码位和瀑布流无关,互不影响。
  • 兜底需要设置useMediation(true),否则无效。

1.1 使用示例

复制

1.2 错误码说明

错误码

说明

840027

开屏广告自定义兜底参数不正确,请校验

840028

开屏广告开发者自定义兜底中CSJ appId,与CSJ SDK初始化的appId不一致

2. 本地缓存配置说明

2.1 功能说明

当遇到应用首次安装并且网络拉取配置失败时,客户端表现为请求失错误码40006,可使用此功能。可在平台提前下载瀑布流配置导入到工程中,在SDK初始化时传入下载文件内容转换的JSONObject。该功能适用于所有广告类型。

平台配置指引: 如下图所示,在应用详情页,下拉导出数据列表,点击“导出配置信息”,参考示例填写信息:MSDK版本号填写为融合SDK版本号、包名、穿山甲版本号填写为融合SDK版本号即可、其他ADN版本号后,即可完成配置信息导出。

2.2 使用示例

复制

八、开屏示例代码

复制

Contents
Contact us