
开屏广告主要是 APP 启动时展示的全屏广告视图,开发者只要按照接入标准就能够展示设计好的视图。
注意事项:
navigationController(viewController.navigationController)。如果使用新创建的viewController,注意在开屏广告视图控制器关闭回调中splashAdViewControllerDidClose:从当前控制器堆栈中移除viewController。详细接入可参照demo中的BUMDSplashViewController类。
方法 | 说明 |
@property (nonatomic, weak, nullable) id<BUSplashAdDelegate> delegate; | 开屏广告协议,聚合维度使用BUMSplashAdDelegate |
@property (nonatomic, assign) NSTimeInterval tolerateTimeout; | 广告加载超时时间 |
@property (nonatomic, copy, readonly, nonnull) NSString *slotID; | slotID为广告位ID,聚合场景需传以1开头的广告位id,SDK内部会自行请求开发者在瀑布流下配置的代码位ID |
@property (nonatomic, copy, readonly) BUDictionary *mediaExt; | 拓展参数mediaExt |
@property (nonatomic, weak, readonly, nullable) UIViewController *splashRootViewController; | 开屏视图控制器 |
@property (nonatomic, strong, readonly, nullable) BUSplashView *splashView; | 开屏视图 |
@property (nonatomic, strong, readonly, nullable) UIView *splashViewSnapshot; | 开屏最后一帧聚合维度不支持此接口 |
- (instancetype)initWithSlotID:(NSString *)slotID adSize:(CGSize)adSize; | 初始化方法,聚合不支持此参数接口 |
- (instancetype)initWithSlot:(BUAdSlot *)slot adSize:(CGSize)adSize; | 初始化方法 |
- (void)loadAdData; | 加载广告 |
- (void)showSplashViewInRootViewController:(UIViewController *)viewController; | 展示开屏视图 |
- (NSString *)getAdCreativeToken; | |
@property (nonatomic, strong, nullable, readonly) BUSplashAdMediation *mediation; | 当使用聚合广告位时,存在该属性,可获取聚合维度相关功能 |
方法 | 说明 |
@property (nonatomic, strong, nullable) UIView *customBottomView; | 自定义底部视图,可以设置一些自定义元素,例如LOGO。如果不设置,广告将按照全屏展示。底部视图最大高度不能超过屏幕高度的25%,否则将按照约定最大高度适配 |
- (void)destoryAd; | 销毁广告,建议在不需要展示广告时调用,如close时 |
@property (nonatomic, assign) BUMSplashButtonType splashButtonType; | 默认为BUMSplashButtonTypeFullScreen只对百度生效 |
@property (nonatomic, assign, readonly) BOOL isReady; | 是否可展示广告,建议在展示广告前判断该字段 |
- (BUMRitInfo *)getShowEcpmInfo; | 获取广告展示后相关信息 |
@property (nonatomic, assign, readonly) BOOL isLoading; | BURewardType |
- (void)addParam:(id)param withKey:(NSString *)key; | 添加参数param 参数值key 参数key |
- (NSArray<BUMAdLoadInfo *> *)getAdLoadInfoList; | 一次waterfall中各adn代码位加载广告失败原因,建议调用时机:展示广告时/超时时/全部返回报错时;返回nil表示一次加载无代码位加载失败或其加载无响应 |
方法 | 说明 |
- (void)splashAdLoadSuccess:(BUSplashAd *)splashAd; | 物料加载成功,可以在这个回调中调用show方法展示开屏 |
- (void)splashAdLoadFail:(BUSplashAd *)splashAd error:(BUAdError *_Nullable)error; | 物料加载失败,不会展示开屏,提供如下错误码:typedef NS_ENUM(NSInteger, BUSplashAdErrorCode) { CSJSplashAdError_Unknow = 0, CSJSplashAdError_LoadFailed = 1, // 物料加载失败 CSJSplashAdError_ResourceFailed = 2, // 素材加载失败 CSJSplashAdError_RenderFailed = 3, // 渲染失败 CSJSplashAdError_TimeOut = 23 // 超时 }; |
- (void)splashAdRenderSuccess:(BUSplashAd *)splashAd; | load方法调用后,若渲染成功则返回该回调;show方法调用后开屏视图会被添加到ViewController上。 |
- (void)splashAdRenderFail:(BUSplashAd *)splashAd error:(BUAdError *_Nullable)error; | load方法调用后,若渲染失败则返回该回调;即使调用show方法开屏视图也不会被添加到ViewController上,提供如下错误码:typedef NS_ENUM(NSInteger, BUSplashAdLoadError) {BUSplashAdLoadError_UnKnow= 0, //未知错误BUSplashAdLoadError_TimeOut = 1, // 超时BUSplashAdLoadError_RenderFailed = 2 // 渲染失败}; |
- (void)splashAdWillShow:(BUSplashAd *)splashAd; | 广告即将展示回调 |
- (void)splashAdDidShow:(BUSplashAd *)splashAd; | 广告展示回调,注意:该回调时机和show埋点上报时机一致 |
- (void)splashAdDidClick:(BUSplashAd *)splashAd; | 广告点击回调 |
- (void)splashAdDidClose:(BUSplashAd *)splashAd closeType:(BUSplashAdCloseType)closeType; | 广告视图会在以下场景关闭:1、开屏未转化关闭(点击跳过、倒计时结束),通知开发者开屏视图已经关闭2、 开屏转化后内开调起市场页,市场页关闭时通知开发者开屏视图已经关闭3、开屏转化其他场景,点击广告后通知开发者开屏视图已经关闭其他说明:1、广告视图关闭后由SDK移除开屏视图2、closeType标记从哪种场景关闭,当前参数仅支持穿山甲,其他ADN获取不到时将返回unknow |
- (void)splashAdViewControllerDidClose:(BUSplashAd *)splashAd; | 如果采用自定义视图控制器展示广告,广告视图控制器会在以下场景关闭:1、开屏未转化关闭(点击跳过、倒计时结束),通知开发者关闭视图控制器;2、开屏转化后内跳,中间页、市场页关闭时,通知开发者关闭视图控制器;3、开屏转化外跳,即将跳转时,通知开发者关闭视图控制器 |
- (void)splashDidCloseOtherController:(BUSplashAd *)splashAd interactionType:(BUInteractionType)interactionType; | 广告中间页、市场页面关闭此回调在广告跳转到其他控制器时,该控制器被关闭时调用。interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
- (void)splashVideoAdDidPlayFinish:(BUSplashAd *)splashAd didFailWithError:(NSError *)error; | 当视频广告播放完成或发生错误时调用此方法。 |
方法 | 说明 |
- (void)splashAdDidShowFailed:(BUSplashAd *_Nonnull)splashAd error:(NSError *)error; | 广告展示失败回调splashAd 广告管理对象error 展示失败原因 |
- (void)splashAdWillPresentFullScreenModal:(BUSplashAd *)splashAd; | 广告即将展示广告详情页回调splashAd 广告管理对象 |
注意事项:
adslot.mediation.bidNotify = YES后可触发didReceiveBidResult,开发者可在该方法中获取竞价结果、价格等信息。当遇到应用首次安装并且拉取配置失败时,客户端表现为请求失错误码40006,可使用此功能。可在平台提前下载瀑布流配置导入到工程中,在SDK初始化时传入下载的json文件。该功能适用于所有广告类型。
平台配置指引: 如下图所示,在应用详情页,下拉导出数据列表,点击“导出配置信息”,参考示例填写信息:MSDK版本号填写为融合SDK版本号、包名、穿山甲版本号填写为融合SDK版本号即可、其他ADN版本号后,即可完成配置信息导出。(聚合维度功能)
代码使用示例:
详细接入可参照demo中的BUMDSplashViewController类。
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点