中文
登录
后可查看全部文档
GroMore/开发测试/GroMore iOS集成文档/GroMore iOS SDK接入文档/模版激励视频广告
模版激励视频广告
最近更新 2026-03-19 17:04:25

激励视频是一种全屏播放的视频广告,一般展示场景是用户需要游戏复活、解锁游戏关卡、获得享受应用中的某些功能时由用户选择观看激励视频广告并获得相应激励。

注意事项

  • 广告请求:
    • 需要确保在SDK初始化成功后再进行广告请求,否则可能导致广告请求加载失败。
    • 聚合维度广告是通过广告位ID发起广告请求的,切记不要使用混淆;若仅接入CSJ广告,通过代码位ID发起请求。
    • 在广告接入前需要明确各ADN对应聚合广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生。
    • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各adn平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。
  • 广告展示:
    • 为了保证播放流畅,仅接入CSJ广告不使用聚合功能的开发者建议在收到nativeExpressRewardedVideoAdDidDownLoadVideo:之后进行广告展示;使用聚合功能的开发者在收到nativeExpressRewardedVideoAdDidLoad:回调来展示广告,在展示前可通过isReady字段来判断当前广告是否可用。
    • 当广告无法展示时,建议在展示失败nativeExpressRewardedVideoAdDidShowFailed:回调内输出对应的error错误码明确展示失败的原因,如果是穿山甲广告触发此回调,可优先检查是否调整了系统时间导致触发此场景。
    • 如若针对展示失败有重试机制,建议只重试一次即可,避免无限重试引发死循环场景。
  • 广告监听当展示失败/回调监听不执行时,建议检查是否有广告对象被覆盖或者被提前释放的场景导致,每次发起广告请求时,需要重新创建新的广告来调用广告请求方法。
  • 广告静音配置:由接口mutedIfCan控制,默认为NO,对GDT、Mintergral、KS生效。

一、创建广告对象及请求参数

1、使用示例

支持一键复制实现融合基础功能实现,工具地址

详细接入可参照demo中的BUMDExpressRewardedVideoViewController类。

复制

2、接口说明

  • BUNativeExpressRewardedVideoAd说明(参数配置)

方法

说明

@property (nonatomic, weak, nullable) id<BUNativeExpressRewardedVideoAdDelegate> delegate;

激励视频协议,聚合维度使用BUMNativeExpressRewardedVideoAdDelegate

@property (nonatomic, copy, readonly) BUDictionary *mediaExt;

媒体配置参数

@property (nonatomic, assign, readonly) BOOL materialMetaIsFromPreload;

默认是否此字段的值在下载成功后才准确聚合维度不支持此接口

- (instancetype)initWithSlotID:(NSString *)slotID rewardedVideoModel:(BURewardedVideoModel *)model;

创建广告对象参数

- (instancetype)initWithSlot:(BUAdSlot *)slot rewardedVideoModel:(BURewardedVideoModel *)model;

创建广告slot参数

- (NSString *)getAdCreativeToken;

物料ID聚合维度不支持

- (void)loadAdData;

加载广告

- (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController;

广告展示回调

- (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController ritScene:(BURitSceneType)ritSceneType ritSceneDescribe:(NSString *_Nullable)sceneDescirbe;


@property (nonatomic, strong, nullable, readonly) BUExpressRewardedVideoAdMediation *mediation;

当使用聚合广告位时,存在该属性,可获取聚合维度相关功能

二、广告展示及行为监听

1、使用示例

复制

2、接口说明

  • BUExpressRewardedVideoAdMediationProtocol说明(请求成功后可获取的信息)

方法

说明

@property (nonatomic, assign, readonly) BOOL isReady;

是否已经准备广告展示,理论上在广告加载回调后即为YES,但受一些因素的影响(例如广告失效),可能为NO。建议在广告展示前调用该方法进行是否可以展示

- (BUMRitInfo *)getShowEcpmInfo;

返回显示广告对应的披露信息

@property (nonatomic, assign, readonly) BOOL isLoading;

广告是否加载中

- (void)addParam:(id)param withKey:(NSString *)key;

添加参数param 参数值key 参数key

- (NSArray<BUMAdLoadInfo *> *)getAdLoadInfoList;

一次waterfall中各adn代码位加载广告失败原因,建议调用时机:展示广告时/超时时/全部返回报错时;返回nil表示一次加载无代码位加载失败或其加载无响应

  • BUNativeExpressRewardedVideoAdDelegate说明(广告行为监听接口)

方法

方法

- (void)nativeExpressRewardedVideoAdDidLoad:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

物料加载成功回调

- (void)nativeExpressRewardedVideoAd:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error;

加载失败回调

- (void)nativeExpressRewardedVideoAdCallback:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd withType:(BUNativeExpressRewardedVideoAdType)nativeExpressVideoType;

聚合维度不支持此场景

- (void)nativeExpressRewardedVideoAdDidDownLoadVideo:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

当缓存成功时调用此方法。为了更好的用户体验,建议在这个时候显示视频广告。调用[BUNativeExpressRewardedVideoAd] showAdFromRootViewController:]

- (void)nativeExpressRewardedVideoAdViewRenderSuccess:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

渲染成功回调

- (void)nativeExpressRewardedVideoAdViewRenderFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;

渲染失败回调

- (void)nativeExpressRewardedVideoAdWillVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告即将展示

- (void)nativeExpressRewardedVideoAdDidVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告已经展示

- (void)nativeExpressRewardedVideoAdWillClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告即将关闭

- (void)nativeExpressRewardedVideoAdDidClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告已经关闭

- (void)nativeExpressRewardedVideoAdDidClick:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告点击回调

- (void)nativeExpressRewardedVideoAdDidClickSkip:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;

广告跳过回调

- (void)nativeExpressRewardedVideoAdDidPlayFinish:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error;

广告播放完成回调

- (void)nativeExpressRewardedVideoAdServerRewardDidSucceed:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd verify:(BOOL)verify;

奖励验证回调

- (void)nativeExpressRewardedVideoAdServerRewardDidFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;

奖励验证失败回调error:失败原因

- (void)nativeExpressRewardedVideoAdDidCloseOtherController:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd interactionType:(BUInteractionType)interactionType;

此方法在另一个控制器关闭时调用。 interactionType:在app中打开appstore或打开网页或查看视频广告详情页面聚合维度不支持此场景。

三、高级功能

1、激励广告中显示奖励内容

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

  • 当前已支持在挽留弹窗中显示奖励内容,穿山甲还在持续创新更多的展示样式。

使用说明

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

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

方案二:在请求广告构建BUNativeExpressRewardedVideoAd时,使用BURewardedVideoModel,传入奖励名称与奖励数量。

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

使用示例

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

在构建BUNativeExpressRewardedVideoAd时,使用BURewardedVideoModel,传入奖励名称与奖励数量。

复制

2、服务端激励验证

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

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

四、完整接入示例

复制

详细接入可参照demo中的BUMDExpressRewardedVideoViewController类。


本篇目录
联系我们