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

banner广告是在内容底部或顶部显示的小条形广告, 暂不支持在列表中使用。不支持开发者对广告样式进行编辑和渲染,可直接调用相关接口进行广告展示。原生横幅广告内容与其他内容区分开,周围应留出空间防止意外点击,不应将横幅广告放置于文本、图片和应用的其他可点击部分,避免误点。

注意事项

  • 接入须知:
    • 在广告接入前需要明确各ADN对应聚合广告样式情况,以确保正确完成广告接入,避免由于广告类型不匹配导致接入报错等情况的发生。
    • 由于各广告平台对于包名校验规则不同,需确保在穿山甲媒体平台填写的包名符合各adn平台规范,避免由于包名校验不匹配导致的无广告返回情况的产生。
  • 广告请求:
    • 需要确保在SDK初始化成功后再进行广告请求,否则可能导致广告请求加载失败。
    • 需要初始化时配置广告基本信息。例如期望尺寸,为避免渲染过程产生广告视图形变,务必和媒体平台配置相同尺寸。
    • 聚合SDK是通过广告位ID(一个广告位下包含多个代码位)发起广告请求的,切记不要使用混淆。
  • 广告监听:
    • 通过设置BUMNativeExpressBannerViewDelegate代理,获取广告、展示、点击、关闭等回调。值得注意的是一定要设置rootViewController,即跳转落地页需要的viewController。

一、创建广告对象及请求

1. 使用示例

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

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

复制

2. 接口说明

  • BUNativeExpressBannerView说明

方法

说明

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

banner广告协议,聚合维度使用BUMNativeExpressBannerViewDelegate

@property (nonatomic, assign, readonly) NSInteger interval;

轮播时间间隔;30-120s之间聚合维度不支持此场景,需在穿山甲媒体平台瀑布流属性设置模块进行设置

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

配置参数

- (instancetype)initWithSlotID:(NSString *)slotIDrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsize;

slotID:广告位IDrootViewController:展示广告根视图adSize:广告尺寸设置

rootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsizeinterval:(NSInteger)interval;

slotID:广告位IDrootViewController:展示广告根视图adSize:广告尺寸设置interval:轮播间隔聚合维度不支持

- (instancetype)initWithSlot:(BUAdSlot *)slotrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsize;

slot:广告对象rootViewController:展示广告根视图adSize:广告尺寸设置

- (instancetype)initWithSlot:(BUAdSlot *)slotrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsizeinterval:(NSInteger)interval;

slot:广告对象rootViewController:展示广告根视图adSize:广告尺寸设置interval:轮播间隔聚合维度不支持

- (void)loadAdData;

加载广告

- (NSString *)getAdCreativeToken;

物料ID聚合维度不支持

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

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

二、广告展示及行为监听

1. 使用示例

复制

2. 接口说明

  • BUNativeExpressBannerViewMediationProtocol说明

方法

说明

@property (nonatomic, assign, readonly) NSInteger refreshTime;

平台设置的Banner轮播时间间隔, 范围[10, 180], 其他值按0处理, 默认为0,单位秒

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

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

- (void)destory;

不再使用加载成功后回调的view时,可调用该方法释放占用的内存

- (nullable BUMRitInfo *)getShowEcpmInfo;

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

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

广告是否加载中

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

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

- (NSArray<BUMAdLoadInfo *> *)getAdLoadInfoList;

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

  • BUNativeExpressBannerViewDelegate说明

方法

说明

- (void)nativeExpressBannerAdViewDidLoad:(BUNativeExpressBannerView *)bannerAdView;

广告加载成功

- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView didLoadFailWithError:(NSError *_Nullable)error;

广告加载失败

- (void)nativeExpressBannerAdViewRenderSuccess:(BUNativeExpressBannerView *)bannerAdView;

广告渲染成功

- (void)nativeExpressBannerAdViewRenderFail:(BUNativeExpressBannerView *)bannerAdView error:(NSError * __nullable)error;

广告渲染失败

- (void)nativeExpressBannerAdViewWillBecomVisible:(BUNativeExpressBannerView *)bannerAdView;

广告即将展示

- (void)nativeExpressBannerAdViewDidClick:(BUNativeExpressBannerView *)bannerAdView;

广告点击回调

- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView dislikeWithReason:(NSArray<BUDislikeWords *> *_Nullable)filterwords;

dislike原因

- (void)nativeExpressBannerAdViewDidCloseOtherController:(BUNativeExpressBannerView *)bannerAdView interactionType:(BUInteractionType)interactionType;

此方法在另一个控制器关闭时调用。interactionType:在app中打开appstore或打开网页或查看视频广告详情页面。

- (void)nativeExpressBannerAdViewDidRemoved:(BUNativeExpressBannerView *)bannerAdView;

强制删除广告视图

  • BUMNativeExpressBannerViewDelegate说明

方法

说明

- (void)nativeExpressBannerAdViewDidBecomeVisible:(BUNativeExpressBannerView *)bannerAdView;

广告展示回调

- (void)nativeExpressBannerAdNeedLayoutUI:(BUNativeExpressBannerView *)bannerAd canvasView:(BUMCanvasView *)canvasView;

广告加载成功后为「混用的信息流自渲染广告」时会触发该回调,提供给开发者自渲染的时机bannerAd 广告操作对象canvasView 携带物料的画布,需要对其内部提供的物料及控件做布局及设置UI 轮播开启时,每次轮播到自渲染广告均会触发该回调,并且canvasView为其他回调中bannerView的子控件

三、获取竞价结果

注意事项:

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

四、完整接入示例

复制

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


本篇目录
联系我们