中文
登录
后可查看全部文档
GroMore/开发测试/GroMore Android集成文档/GroMore Android SDK接入文档/激励视频广告接入
激励视频广告接入
最近更新 2026-04-02 11:55:48

一、简介

本SDK为接入方提供激励视频广告,该广告的效果为观看完毕视频广告,发放奖励给用户。使用场景包括但不限于:

  1. 游戏等应用内观看视频广告获得游戏内金币等:用户必须观看完整视频才能获取奖励。
  2. 积分类应用接入;支持的广告尺寸:全屏横屏播放和竖屏。

注意:

  • 多进程配置:多进程可在初始化时设置.supportMultiProcess(true),默认false;注意:开启多进程开关时需要将ADN的多进程也开启,否则广告展示异常,影响收益。CSJ、gdt无需额外设置,KS、baidu、Sigmob、Mintegral需要在清单文件中配置各家ADN激励全屏xxxActivity属性android:multiprocess="true"。
  • 广告请求:
    • 聚合SDK是通过广告位ID(一个广告位下包含多个代码位)发起广告请求的,切记不要使用混淆。
    • 在广告接入前需要明确各ADN对应聚合SDK广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生。
    • 建议在收到SDK初始化成功回调后发起广告请求,当SDK初始化回调一直失败时,建议首先明确应用ID及广告位ID是否赋值正确、是否有多余空格、是否是网络不稳定导致的超时等,当排查后无法定位问题时,建议通过抓包将config字段下的加密内容提供过来,我方协助定位问题。
    • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各ADN平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。
  • 广告展示:
    • 为了保证播放流畅,建议在收到onRewardVideoCached(TTRewardVideoAd ttRewardVideoAd)之后进行广告展示,广告展示前可通过isReady来判断当前广告是否可用。
    • 如若针对展示失败有重试机制,建议只重试一次即可,避免无限重试引发死循环场景。
    • 当展示失败/回调监听不执行时,建议检查是否有广告对象被覆盖或者被提前释放的场景导致,每次发起广告请求时,需要重新创建新的广告来调用广告请求方法。
    • onVideoComplete()视频播放完整回调和onAdVideoBarClick()点击回调不是所有ADN都会触发,如若在此回调内有相关逻辑处理或者打点统计需注意。
  • 奖励下发:开启聚合SDK的服务端奖励验证功能后,请不要在第三方ADN重复配置这些代码位的服务端验证,否则可能会导致奖励发放冲突出现问题。

二、构建请求参数

1、使用示例

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

复制

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

复制

2、接口说明

  • AdSlot.Builder说明

方法名

说明

setCodeId(String codeId)

聚合广告位ID

setOrientation(@TTAdConstant.ORIENTATION_STATE int orientation)

设置横竖屏方向

setUserID(String userID)

用户唯一标识,使用服务端奖励验证回调,当达到奖励下发条件后穿山甲会通过开发者提供的回调链接透传开发者请求广告时传入的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

setRewardName(String var1)

设置激励名称

setRewardAmount(int var1)

设置激励金额

三、请求广告

1、使用示例

调用TTAdNative.loadRewardVideoAd(adSlot, adLoadListener) 加载广告。

复制

2、接口说明

  • TTAdNative.RewardVideoAdListener说明

方法名

说明

void onRewardVideoAdLoad(TTRewardVideoAd ad)

加载完成的回调

void onRewardVideoCached()

广告视频本地加载完成的回调,即将废弃

void onRewardVideoCached(TTRewardVideoAd ad)

广告视频本地加载完成的回调

void onError(int code, String message)

加载失败回调

四、展示广告

1、使用示例

为了确保播放流程建议在onRewardVideoCached(TTRewardVideoAd ttRewardVideoAd)回调后调用广告展示并判断isReady状态。

复制

2、接口说明

  • TTRewardVideoAd说明

方法名

说明

void setRewardAdInteractionListener(RewardAdInteractionListener listener)

设置激励事件监听

void setRewardPlayAgainInteractionListener(RewardAdInteractionListener listener)

再看一个功能(7200及以上废弃)

void showRewardVideoAd(Activity activity)

展示激励广告

Map<String, Object> getMediaExtraInfo()

返回广告额外信息

void showRewardVideoAd(Activity activity, TTAdConstant.RitScenes ritScenes, String scenes)

展示广告,ritScenes, scenes参数不生效

MediationRewardManager getMediationManager()

获取聚合广告信息

long getExpirationTimestamp()

过期时间戳(聚合场景不支持)

int getRewardVideoAdType()

广告真实类型(聚合场景不支持)

void setShowDownLoadBar(boolean showDownLoadBar)

聚合场景不支持

int getInteractionType()

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

void setDownloadListener(TTAppDownloadListener listener)

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

void setRewardPlayAgainController(RewardAdPlayAgainController listener)

再看一个功能控制器(7200及以上废弃)

  • TTRewardVideoAd.RewardAdInteractionListener说明

方法名

说明

void onAdShow()

广告展示

void onAdVideoBarClick()

广告的下载bar点击回调

void onAdClose()

广告关闭的回调

void onVideoComplete()

视频播放完毕的回调

void onVideoError()

视频播放失败的回调

void onRewardArrived(boolean isRewardValid, int rewardType, Bundle extraInfo)

激励视频播放完毕,验证是否有效发放奖励的回调

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

1、使用示例

复制

2、接口说明

  • MediationRewardManager说明

方法名

说明

boolean isReady()

当前广告是否可以展示

MediationAdEcpmInfo getShowEcpm()

获取展示广告的详细信息

List <MediationAdLoadInfo> getAdLoadInfo()

load回调后获取广告加载信息

void destroy()

广告销毁

  • MediationAdEcpmInfo说明

方法名

返回值

说明

getCustomData()

Map<String, String>

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

getSdkName()

String

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

getCustomSdkName()

String

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

getSlotId()

String

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

getLevelTag()

String

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

getEcpm()

String

当前展示广告的 eCPM(单位通常为分),可用于收入与比价分析

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、显示奖励内容

穿山甲激励广告增加「在广告中显示奖励内容」功能,根据开发者配置的奖励物品和数量,在激励视频广告播放过程中提示用户完成激励任务后将获取的奖励收益,以激发用户兴趣、观看更久更完整的视频广告,提升整体的CTR和收入。

使用说明

若想使用此功能,需在创建激励视频代码位时配置开启“在广告中显示奖励内容”开关。开启后您设置的奖励物品名称、奖励数量会基于模版优选逻辑将有可能在广告播放过程中展示。开发者可以通过以下两种方案配置具体显示的奖励内容。

方案一:在穿山甲平台-代码位创编页面输入奖励名称和数量。

方案二:在请求广告时使用setRewardAmount与setRewardName方法传入奖励名称和数量,详见文档「接口改动」部分。

  • 若奖励名称和数量任一为空,则认为此对值无效。
  • 奖励数量为1~5个数字整数值,奖励内容为1~10个英文字符长度的字符串。

使用示例

  • 奖励物品名称“金币”,奖励数量“500”,广告挽留弹窗提示用户继续看完视频可领取“500金币”。
  • 建议开发者配置/回传用户可真实获取的奖励内容,避免用户对奖励预期与获取产生出入。
  • 推荐开发者通过接口回传的形式,以便更灵活、动态地下发奖励,在用户粒度个性化优化收益。
复制

2、服务端奖励验证

广告位维度服务端奖励验证,详细接入流程详见帮助中心-GroMore-平台使用指南-瀑布流管理-服务端激励回调>>

代码位维度服务端奖励验证,详细接入流程详见帮助中心-开发测试-更多功能-激励视频交互方式简介&奖励方法说明>>

八、示例代码

复制

本篇目录
联系我们