Documentation Index
Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt
Use this file to discover all available pages before exploring further.
@interface YourViewController () <CLXRewardedDelegate, CLXAdRevenueDelegate>
@property (nonatomic, strong) CLXRewarded *rewardedAd;
@end
@implementation YourViewController
- (void)createRewardedAd {
self.rewardedAd = [[CloudXCore shared] createRewardedWithAdUnitId:@"your-rewarded-ad-unit-id"];
self.rewardedAd.delegate = self;
self.rewardedAd.revenueDelegate = self;
[self.rewardedAd load];
}
- (void)showRewardedAd {
if (self.rewardedAd.isReady) {
// Basic show
[self.rewardedAd showFromViewController:self];
// Or with optional placement and custom data for tracking
// [self.rewardedAd showFromViewController:self placement:@"bonus_coins" customData:@"level:5,coins:100"];
} else {
NSLog(@"Rewarded ad not ready");
}
}
- (void)dealloc {
[self.rewardedAd destroy];
}
#pragma mark - CLXRewardedDelegate
- (void)didLoadAd:(CLXAd *)ad {
NSLog(@"Rewarded ad loaded from %@", ad.networkName);
}
- (void)didFailToLoadAd:(NSString *)adUnitId error:(CLXError *)error {
NSLog(@"Rewarded ad failed to load: %@", error.localizedDescription);
}
- (void)didDisplayAd:(CLXAd *)ad {
NSLog(@"Rewarded ad displayed");
}
- (void)didFailToDisplayAd:(CLXAd *)ad error:(CLXError *)error {
NSLog(@"Rewarded ad failed to display: %@", error.localizedDescription);
}
- (void)didHideAd:(CLXAd *)ad {
NSLog(@"Rewarded ad hidden");
[self createRewardedAd]; // Reload for next use
}
- (void)didClickAd:(CLXAd *)ad {
NSLog(@"Rewarded ad clicked");
}
- (void)didRewardUserForAd:(CLXAd *)ad withReward:(CLXReward *)reward {
NSLog(@"User rewarded: %ld %@", (long)reward.amount, reward.label);
// Grant the reward to the user
}
#pragma mark - CLXAdRevenueDelegate
- (void)didPayRevenueForAd:(CLXAd *)ad {
NSLog(@"Rewarded revenue: %@ from %@", ad.revenue, ad.networkName);
}
@end