Interstitial
Learn how to add and configure an interstitial placement and implement additional features through the SDK interface.
Key features
Interstitial placements cover the app completely and are easy to integrate. Because they overlay your app, you can show them without considering how they fit with the app UI. Choose either a dialog or bottom sheet UI to suit your design.

Integration
Follow these steps to integrate an interstitial placement.
Step 1. Prepare
- Complete Getting started.
- Obtain a Unit ID for the interstitial placement (referred to below as
YOUR_INTERSTITIAL_UNIT_ID).
Step 2. Allocate and display ads
Follow these steps to allocate and display ads in an interstitial placement.
- Choose an interstitial UI type and create
BZVBuzzAdInterstitial.
- Dialog UI: Set
typetodialog. - Bottom sheet UI: Set
typetobottomSheet.
-
Call
loadto allocate an ad. -
Call
presentOnViewControllerto display the ad.
import UIKit
import BuzzvilSDK
final class ViewController: UIViewController, BZVBuzzAdInterstitialDelegate {
let buzzAdInterstitial = BZVBuzzAdInterstitial { builder in
builder.unitId = "YOUR_INTERSTITIAL_UNIT_ID"
builder.type = .dialog
}
override func viewDidLoad() {
super.viewDidLoad()
buzzAdInterstitial.delegate = self
buzzAdInterstitial.load()
}
}
extension ViewController: BZVBuzzAdInterstitialDelegate {
func bzvBuzzAdInterstitialDidLoadAd(_ interstitial: BZVBuzzAdInterstitial) {
// 할당된 광고가 있으면 호출됩니다.
// Interstitial 광고를 화면에 표시합니다.
interstitial.present(on: self)
}
func bzvBuzzAdInterstitialDidFail(toLoadAd interstitial: BZVBuzzAdInterstitial, withError error: Error) {
// 할당된 광고가 없으면 호출됩니다.
}
func bzvBuzzAdInterstitialDidDismiss(_ viewController: UIViewController) {
// Interstitial 지면이 종료되면 호출됩니다.
// 필요에 따라 추가 기능을 구현하세요.
}
}
@import BuzzvilSDK;
@interface ViewController () <BZVBuzzAdInterstitialDelegate>
@property (nonatomic, strong, readonly) BZVBuzzAdInterstitial *buzzAdInterstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_buzzAdInterstitial = [BZVBuzzAdInterstitial interstitialWithBlock:^(BZVBuzzAdInterstitialBuilder * _Nonnull builder) {
builder.unitId = @"YOUR_INTERSTITIAL_UNIT_ID";
builder.type = BZVBuzzAdInterstitialTypeDialog;
}];
_buzzAdInterstitial.delegate = self;
[_buzzAdInterstitial load];
}
#pragma mark - BZVBuzzAdInterstitialDelegate
- (void)BZVBuzzAdInterstitialDidLoadAd:(BZVBuzzAdInterstitial *)interstitial {
// 할당된 광고가 있으면 호출됩니다.
// Interstitial 광고를 화면에 표시합니다.
[interstitial presentOnViewController:self];
}
- (void)BZVBuzzAdInterstitialDidFailToLoadAd:(BZVBuzzAdInterstitial *)interstitial withError:(NSError *)error {
// 할당된 광고가 없으면 호출됩니다.
}
- (void)BZVBuzzAdInterstitialDidDismiss:(UIViewController *)viewController {
// Interstitial 지면이 종료되면 호출됩니다.
// 필요에 따라 추가 기능을 구현하세요.
}
@end
Step 3. Add a BenefitHub entry point to the interstitial
Add an entry point that takes users from Interstitial to BenefitHub.

Interstitial displays an entry point to BenefitHub. Tapping it opens BenefitHub using the BZVFeedConfig object configured through setDefaultFeedConfig(). To use a different BZVFeedConfig, follow these steps. The entry point layout cannot be changed.
- Create a new
BZVFeedConfig. - Create a
BuzzBenefitRouterinstance using theBZVFeedConfigfrom step 1. - Add the
BuzzBenefitRouterinstance tobuzzAdBenefitRouterofBuzzAdInterstitial.Builderto changeBZVFeedConfig.
let feedConfig = BZVFeedConfig { builder in
builder.unitID = "YOUR_FEED_UNIT_ID"
}
let buzzAdInterstitial = BZVBuzzAdInterstitial { builder in
builder.unitId = "YOUR_INTERSTITIAL_UNIT_ID"
builder.type = .dialog
builder.buzzAdBenefitRouter = BuzzBenefitRouterFactory.createFeedRouter(feedConfig)
}
BZVFeedConfig *feedConfig = [BZVFeedConfig configWithBlock:^(BZVFeedConfigBuilder * _Nonnull builder) {
builder.unitID = @"YOUR_FEED_UNIT_ID";
}];
BZVBuzzAdInterstitial *buzzAdInterstitial = [BZVBuzzAdInterstitial interstitialWithBlock:^(BZVBuzzAdInterstitialBuilder * _Nonnull builder) {
builder.unitId = @"YOUR_INTERSTITIAL_UNIT_ID";
builder.type = BZVBuzzAdInterstitialTypeDialog;
builder.buzzAdBenefitRouter = [BuzzBenefitRouterFactory createFeedRouter:feedConfig];
}];
Additional features
Set the number of ads
A bottom sheet interstitial can display up to five ads from a single ad request.
The number of ads can be configured on Buzzvil's server without code changes. To display multiple ads, send your preferred number to your Buzzvil representative at help@buzzvil.com.
