中文
登录
后可查看全部文档
GroMore/开发测试/GroMore Harmony集成文档/激励视频广告
激励视频广告
最近更新 2026-03-19 17:03:08

一、简介

激励视频是一种全屏播放的视频广告,一般展示场景是用户需要游戏复活、解锁游戏关卡、获得享受应用中的某些功能时由用户选择观看激励视频广告并获得相应激励。目前鸿蒙上激励广告的表现形式为:视频播放完展示Endcard页面,或者直接出现广告落地页。未经用户允许时(如未点击播放按钮)不能自动播放激励视频,用户可以在观看完整的视频后获取奖励。

二、配置说明

  • 激励广告目前的渲染方式为模板渲染,线上会自动选出收益最佳的样式进行广告展示。
  • 激励广告展示的横竖屏由平台创建代码位时确定,不支持自适应屏幕方向。

三、构建请求参数

1. 使用示例

初始化广告创建器

复制

构建广告请求参数AdSlot

复制

2. 接口说明

接口

是否必填

参数类型

含义

setCodeId()

String

您在平台上申请的代码位Id,以9开头9位数字

setAdLoadType()

AdLoadTypeAdLoadType.UNKNOWN:未知AdLoadType.PRELOAD:预加载AdLoadType.LOAD:正常加载

用于标注此次的广告请求用途为预加载(当做缓存)还是实时加载,方便后续为开发者优化相关策略

setMediaExtra()

String

用户透传信息,仅支持单个json对象格式,不可以嵌套json对象

setRewardName()

String

设置广告请求粒度的奖励名称

setRewardAmount()

Number

设置广告请求粒度的奖励数量

四、请求及展示广告

开发者在调用loadRewardAd加载广告后,在onAdCached方法中获取到CSJRewardAd对象后,调用showRewardAd方法展示广告。

1. 使用示例

复制

展示广告时需要传入windowStage对象,在需要展示广告的UIAbility的onWindowStageCreate方法中获取

复制

2. 接口说明

  • RewardAdLoadListener

接口

参数

含义

onAdLoaded(ad: CSJRewardAd)

ad:广告对象

广告基础信息加载完成,此方法是回调后是广告可调用展示的最早时机

onAdCached(ad: CSJRewardAd)

ad:广告对象

广告基础信息与素材缓存完成,此时调用广告展示流畅,是展示广告的最理想时机

onError(code: number, message: string)

code:错误码message:错误信息

若加载中出错,会回调此方法

五、监听广告行为(可选)

在调用展示广告前,创建广告交互监听器,用于实时获取广告展示、点击、奖励条件是否满足等

1. 使用示例

复制

2. 接口说明

接口

参数

含义

onShow()

/

广告展示

onSkip()

/

广告播放中用户点击了跳过

onClick()

/

广告被用户点击了

onComplete()

/

广告整体播放完成

onClose()

/

广告关闭

onRewardArrived(isVerify: boolean, rewardType: REWARD_AWARD_TYPE, extraInfo?: Object)

isVerify:本次奖励是否有效
rewardType:奖励类型REWARD_AWARD_TYPE.BASE:基础奖励extraInfo:其他扩展信息reward_award_key_reward_name :奖励名称reward_award_key_reward_amount:奖励数量reward_award_key_error_code: 错误码reward_award_key_error_msg:错误信息reward_award_key_is_server_callback:当前是否走了服务端回调链路

广告满足了奖励条件时触发

六、奖励视频奖励下发说明

1. 简介

为满足开发者对激励视频奖励发放逻辑处理,穿山甲广告变现为开发者提供了客户端和服务端奖励下发回调校验功能,开发者可基于此功能对满足奖励发放条件的用户进行发放奖励。

不支持广告位维度服务端奖励验证功能,仅支持使用各adn平台代码位维度服务端回调功能。

2. 奖励发放条件

纯视频激励视频:

一般视频时长为5~60s,可通过观看足够视频时长获取奖励,奖励回调下发时即成功领奖。

互动类激励视频:

一般视频时长为5s~60s,激励倒计时过程中会出现互动玩法。可通过互动完成相应任务(或关闭互动玩法并观看达到计时时长要求)从而获取奖励,奖励回调下发时即成功领奖。

3. 奖励回调方法说明

  • 当选择无需服务器判断时,开发者可以根据客户端的onRewardArrived回调进行奖励的发放。该回调只校验视频播放状态或者进度,视频播放90%或因播放器异常导致出现播放失败,穿山甲都会回调onRewardArrived,并且isVerify=true。
  • 当选择需要服务器判断时,开发者需要按照以下要求进行开发,并在平台上填写奖励回调URL。服务器回调:是指在用户在看完激励视频达到奖励下发条件时,穿山甲服务端会向开发者服务端发送一个验证申请,开发者服务端收到请求后判断是否给用户奖励,返回给穿山甲服务器true/false,最终客户端会给出onRewardArrived回调,开发者根据回调进行奖励发放或者通过服务端接口验证结果进行奖励发放。

开发者不管使用服务端验证还是客户端验证都可以通过奖励验证回调方法进行奖励发放。

  • 客户端回调的优势:对接简单、高效,通过接口回调结果在客户端完成奖励发放即可。
  • 服务端回调的优势:开发者可在服务端进行二次校验,支持透传参数到服务器 。

3.1 客户端回调

穿山甲根据“奖励发放条件”,直接通过onRewardArrived回调给到开发者客户端是否发放奖励,对接相对简单。奖励验证回调涵盖目前所有激励视频播放异常的场景,包括非用户主动操作导致的视频无法完成播放。

复制

3.2 服务端回调【可选】

服务器回调是指用户在看完激励视频达到奖励下发条件时,穿山甲服务端会向开发者服务端发送一个验证申请,开发者服务端收到请求后判断是否给用户奖励,返回给穿山甲服务器true/false,最终客户端会通过onRewardArrived回调透传奖励下发结果,开发者根据回调进行奖励发放或者通过服务端接口验证结果进行奖励发放。

注意事项:

  1. 当选择需要服务器判断时,开发者需在平台上填写奖励回调URL。不同的代码位可以使用相同的接口去进行有效性验证的。
  2. 服务器回调模式不是必须的,只是增加了一次第三方服务器验证判断(穿山甲服务端只是透传验证请求,不会在中间过程添加校验逻辑),为了保障开发者利益和用户体验,开发者可以在验证环节增加自己的校验逻辑,具体的奖励发放由客户端完成。

流程概览

步骤1-2:穿山甲平台开启回调功能并配置回调地址,开发者通过客户端的AdSlot接口透传用户参数信息;

步骤3-6:穿山甲服务端拉取信息并拼接参数访问开发者服务端回调URL,开发者自行判断是否发放奖励,服务端判断过程可根据需求添加sign签名验证逻辑。

步骤7-8:开发者服务端将判断结果返回穿山甲服务端,CSJ服务端会通过onRewardArrived->isRewardValid透传到客户端

步骤9:穿山甲客户端给到开发者奖励回调,开发者根据回调结果进行奖励下发具体如下:

开启流程

在穿山甲平台选中激励视频代码位,点击编辑 ,开启「服务端激励回调」 ,并配置回调相关参数

  • 安全性考虑建议使用https协议的接口
  • 使用域名接口,IP地址的URL穿山甲部分机房可能无法正常访问,导致收不到回调。

回调方式说明

穿山甲服务器会以 GET 方式请求开发者的回调链接(开发者可自行拼接内部唯一标识字段),并拼接以下参数回传:user_id=%s&trans_id=%s&reward_name=%s&reward_amount=%d&extra=%s&sign=%s

字段名称

字段定义

字段类型

备注

sign

签名

string

签名

user_id

tagid

string

调用 SDK 透传

trans_id

交易

string

完成观看的唯一交易 ID

reward_amount

奖励数量

int

媒体平台创建代码位时配置的数值

reward_name

奖励名称

sting

媒体平台创建代码位时配置的名称

extra

Extra

string

调用 SDK 传入并透传,如无需要则为空

  • 签名生成方式

appSecurityKey: 您在穿山甲媒体平台新建奖励视频代码位获取到的密钥

transId:交易 id

复制

Python 示例:

复制
  • 约定返回参数

服务器回调url是一个get请求 ,开发者服务端默认返回的是一个json字符串{"isValid": true}

字段名称

字段定义

字段类型

备注

isValid

校验结果

bool

判定结果,是否发放奖励

4. 聚合服务端奖励验证

660版本开始支持激励视频-广告位维度服务端奖励验证详见下方变更列表内容。

变更前

变更后

onRewardArrived(isVerify: boolean,rewardType:REWARD_AWARD_TYPE,extraInfo?:Object)

againCount:当前广告是第几次再看,从1开始

isVerify: 本次奖励是否有效

rewardType:奖励类型

REWARD_AWARD_TYPE:基础奖励
extraInfo:其他拓展信息
reward_award_key_reward_name: 奖励名称reward_award_key_reward_amount: 奖励数量

reward_award_key_error_code: 错误码

reward_award_key_error_msg: 错误信息

reward_award_key_is_server_callback: 当前是否走了服务端回调链路

七、聚合功能说明

1. 使用示例

需确保调用广告展示onDidShow回调后获取

复制

2. 接口说明

  • CSJRewardAd说明

接口

返回值

含义

getMediationAdInfo()

object | undefined

返回聚合相关信息

  • MediationAdEcpmInfo说明

接口

返回值

含义

getAdnName()

string

返回展示广告的adn名称

getAdnRitId()

string

返回展示广告的adn代码位

getEcpm()

number

返回展示广告的价格

getBiddingType()

number

返回展示广告的竞价类型0为普通广告位,1 client竞价广告 2 server竞价广告 100 P层数据

getRitType()

string

返回展示广告的广告类型"Banner" "Splash" "RewardVideo" "FullVideo" "Native" "Draw" "Interstitial" "InterstitialFull"

八、资源

CSJ激励视频广告请参考demo中的adtype/reward/RewardAdPage.ets接入示例

聚合维度激励视频广告请参考demo中mediation_adtype/reward/RewardAdPage.ets接入示例。


本篇目录
联系我们