App Open Ad Format
App open ads are full-screen ad format that can be used at the following moments:- Display ads during app launch loading screen
- Display ads when app transitions from background to foreground

Ad Unit Setup
Configure your ad unit using thead unit ID issued from the dashboard.
- Swift
- Objective-C
Copy
Ask AI
let appOpenUnit = DaroAdUnit(unitId: "your_appopen_unit_id")
Copy
Ask AI
// In Objective-C, unitId is passed directly during initialization
NSString *appOpenUnitId = @"your_appopen_unit_id";
App Open Ad Implementation
- Swift
- Objective-C
Copy
Ask AI
class ExampleViewController: UIViewController {
private var daroAppOpenAd: DaroAppOpenAd? = nil
let daroAppOpenLoader = DaroAppOpenAdLoader(unit: appOpenUnit)
override func viewDidLoad() {
super.viewDidLoad()
setupAppOpenAd()
}
private func setupAppOpenAd() {
// Ad click listener
daroAppOpenLoader.listener.onAdClicked = { adInfo in
print("[DARO] Listener AppOpen Ad clicked: \(adInfo)")
}
// Ad impression listener
daroAppOpenLoader.listener.onAdImpression = { adInfo in
print("[DARO] Listener AppOpen Ad impression: \(adInfo)")
}
// Ad load success listener
daroAppOpenLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
print("[DARO] Listener AppOpen Ad loaded: \(ad) \(adInfo)")
self?.daroAppOpenAd = ad
// Ad show success listener
self?.daroAppOpenAd?.appOpenAdListener.onShown = { adInfo in
print("[DARO] Listener AppOpen Ad shown: \(adInfo)")
}
// Ad dismiss listener
self?.daroAppOpenAd?.appOpenAdListener.onDismiss = { adInfo in
print("[DARO] Listener AppOpen Ad dismissed: \(adInfo)")
}
// Ad show fail listener
self?.daroAppOpenAd?.appOpenAdListener.onFailedToShow = { adInfo, error in
print("[DARO] Listener AppOpen Ad failed to show: \(adInfo) \(error)")
}
}
// Ad load fail listener
daroAppOpenLoader.listener.onAdLoadFail = { error in
print("[DARO] Listener AppOpen Ad failed: \(error)")
}
daroAppOpenLoader.loadAd()
}
private func showAppOpenAd() {
daroAppOpenAd?.show()
}
}
1. Adopt the delegate protocol in your header file:2. Setup and load app open ad:3. Implement delegate methods:4. Show ad:
Copy
Ask AI
@interface ExampleViewController () <DaroObjCAppOpenAdDelegate>
@property (nonatomic, strong) DaroObjCAppOpenAd *appOpenAd;
@end
Copy
Ask AI
- (void)setupAppOpenAd {
self.appOpenAd = [[DaroObjCAppOpenAd alloc]
initWithAdUnitId:@"your_appopen_unit_id"];
self.appOpenAd.delegate = self;
// Load ad
[self.appOpenAd load];
}
Copy
Ask AI
#pragma mark - DaroObjCAppOpenAdDelegate
- (void)appOpenAdDidLoad:(DaroObjCAppOpenAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] App open ad loaded - Unit: %@", adInfo.adUnitId);
}
- (void)appOpenAdDidFail:(DaroObjCAppOpenAd *)ad
toLoad:(NSError *)error {
NSLog(@"[DARO] Failed to load: %@", error.localizedDescription);
}
- (void)appOpenAdDidShow:(DaroObjCAppOpenAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] App open ad shown");
}
- (void)appOpenAdDidFail:(DaroObjCAppOpenAd *)ad
toShow:(DaroObjCAdInfo *)adInfo
error:(NSError *)error {
NSLog(@"[DARO] Failed to show: %@", error.localizedDescription);
}
- (void)appOpenAdDidClick:(DaroObjCAppOpenAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] App open ad clicked");
}
- (void)appOpenAdDidRecordImpression:(DaroObjCAppOpenAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Impression recorded");
}
- (void)appOpenAdDidDismiss:(DaroObjCAppOpenAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] App open ad dismissed");
}
Copy
Ask AI
- (void)showAppOpenAd {
if (self.appOpenAd.isReady) {
[self.appOpenAd show];
} else {
NSLog(@"[DARO] Ad is not ready to show");
}
}

