中文
登录
后可查看全部文档
GroMore/开发测试/GroMore iOS集成文档/GroMore iOS SDK接入文档/插全屏广告
插全屏广告
最近更新 2026-04-27 10:26:15

插全屏广告是将原有的插屏广告(ABUInterstitialAd)和全屏视频广告(ABUFullscreenVideoAd)结合,在同一个广告类型下支持混出的广告类型。相关接入接口同插全屏广告类型。

注意事项:

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

一、创建广告对象及请求

1. 使用示例

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

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

复制

2. 接口说明

  • BUNativeExpressFullscreenVideoAd说明

方法

说明

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

插全屏广告代理,聚合维度使用BUMNativeExpressFullscreenVideoAdDelegate

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

配置参数

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

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

@property (nonatomic, assign, readonly) NSTimeInterval expireTimestamp;

过期时间戳此字段的值在下载成功后才准确聚合维度不支持此接口。

- (instancetype)initWithSlotID:(NSString *)slotID;

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

- (instancetype)initWithSlot:(BUAdSlot *)slot;

创建广告slot参数

- (void)loadAdData;

加载广告

- (NSString *)getAdCreativeToken;

物料ID聚合维度不支持

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

广告展示回调

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


- (NSTimeInterval)getExpireTimestamp;

过期时间戳此字段只有下载视频成功或获取权限后才准确聚合维度不支持此接口

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

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

二、广告展示及行为监听

1. 使用示例

复制

2. 接口说明

  • BUNativeExpressFullscreenVideoAdMediationProtocol说明

方法

说明

@property (nonatomic, strong) BURewardedVideoModel *rewardModel;

可选;激励模型,用于全屏视频广告服务端激励回调;目前支持的ADN:GDT

@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表示一次加载无代码位加载失败或其加载无响应

  • BUNativeExpressFullscreenVideoAdDelegate说明

方法

说明

- (void)nativeExpressFullscreenVideoAdDidLoad:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告加载成功回调

- (void)nativeExpressFullscreenVideoAd:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;

广告加载失败回调

- (void)nativeExpressFullscreenVideoAdViewRenderSuccess:(BUNativeExpressFullscreenVideoAd *)rewardedVideoAd;

广告渲染成功回调

- (void)nativeExpressFullscreenVideoAdViewRenderFail:(BUNativeExpressFullscreenVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;

广告渲染失败回调

- (void)nativeExpressFullscreenVideoAdDidDownLoadVideo:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告下载成功回调

- (void)nativeExpressFullscreenVideoAdWillVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告即将展示回调

- (void)nativeExpressFullscreenVideoAdDidVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告已经展示回调

- (void)nativeExpressFullscreenVideoAdDidClick:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告点击回调

- (void)nativeExpressFullscreenVideoAdDidClickSkip:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告跳过回调

- (void)nativeExpressFullscreenVideoAdWillClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告即将关闭回调

- (void)nativeExpressFullscreenVideoAdDidClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;

广告关闭回调

- (void)nativeExpressFullscreenVideoAdDidPlayFinish:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;

广告播放完成回调

- (void)nativeExpressFullscreenVideoAdCallback:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd withType:(BUNativeExpressFullScreenAdType) nativeExpressVideoAdType;

聚合场景不支持

- (void)nativeExpressFullscreenVideoAdDidCloseOtherController:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd interactionType:(BUInteractionType)interactionType;

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

  • BUMNativeExpressFullscreenVideoAdDelegate说明

方法

说明

- (void)nativeExpressFullscreenVideoAdDidShowFailed:(BUNativeExpressFullscreenVideoAd *_Nonnull)fullscreenVideoAd error:(NSError *_Nonnull)error;

广告展示失败回调fullscreenVideoAd 广告管理对象error 展示失败的原因

- (void)nativeExpressFullscreenVideoAdWillPresentFullScreenModal:(BUNativeExpressFullscreenVideoAd *_Nonnull)fullscreenVideoAd;

即将弹出广告详情页回调fullscreenVideoAd 广告管理对象

- (void)nativeExpressFullscreenVideoAdServerRewardDidSucceed:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd verify:(BOOL)verify;

目前支持的ADN:GDT

- (void)nativeExpressFullscreenVideoAdServerRewardDidFail:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd error:(NSError *)error;

目前支持的ADN:GDT

三、获取竞价结果

注意事项:

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

四、完整接入示例

复制

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


本篇目录
联系我们