@interface YourViewController () <CLXAppOpenDelegate, CLXAdRevenueDelegate>
@property (nonatomic, strong) CLXAppOpen *appOpenAd;
@end
@implementation YourViewController
- (void)createAppOpenAd {
self.appOpenAd = [[CloudXCore shared] createAppOpenWithAdUnitId:@"your-app-open-ad-unit-id"];
self.appOpenAd.delegate = self;
self.appOpenAd.revenueDelegate = self;
[self.appOpenAd load];
}
- (void)showAppOpenAd {
if (self.appOpenAd.isReady) {
[self.appOpenAd showFromViewController:self];
} else {
NSLog(@"App Open ad not ready");
}
}
- (void)dealloc {
[self.appOpenAd destroy];
}
#pragma mark - CLXAppOpenDelegate
- (void)didLoadAd:(CLXAd *)ad {
NSLog(@"App Open ad loaded from %@", ad.networkName);
}
- (void)didFailToLoadAd:(NSString *)adUnitId error:(CLXError *)error {
NSLog(@"App Open ad failed to load: %@", error.localizedDescription);
}
- (void)didDisplayAd:(CLXAd *)ad {
NSLog(@"App Open ad displayed");
}
- (void)didFailToDisplayAd:(CLXAd *)ad error:(CLXError *)error {
NSLog(@"App Open ad failed to display: %@", error.localizedDescription);
[self.appOpenAd load];
}
- (void)didHideAd:(CLXAd *)ad {
NSLog(@"App Open ad hidden");
[self.appOpenAd load]; // Reload for next use
}
- (void)didClickAd:(CLXAd *)ad {
NSLog(@"App Open ad clicked");
}
#pragma mark - CLXAdRevenueDelegate
- (void)didPayRevenueForAd:(CLXAd *)ad {
NSLog(@"App Open revenue: %@ from %@", ad.revenue, ad.networkName);
}
@end