Rewarded Ads are loaded automatically. You can observe ad loading events by specifying the delegate:
Objective-C Swift
Copy BIDRewarded *rewarded = [BIDRewarded new];
rewarded.loadDelegate = loadDelegate;
Copy let rewarded = BIDRewarded()
rewarded.loadDelegate = loadDelegate
The delegate should implement the following methods:
Objective-C Swift
Copy #pragma mark - BIDFullscreenLoadDelegate protocol methods
- (void)didLoadAd:(BIDAdInfo*)adInfo
{
NSLog(@"Rewarded - didLoadAd. AdInfo: %@", adView, adInfo);
}
- (void)didFailToLoadAd:(BIDAdInfo*)adInfo error:(NSError *)error
{
NSLog(@"Rewarded - didFailToLoadAd. AdInfo: %@. Error: %@", adInfo, error);
}
Copy //BIDFullscreenLoadDelegate protocol methods
func didLoadAd(_ adInfo: BIDAdInfo) {
print("Rewarded - didLoadAd. AdInfo: \(adInfo)")
}
func didFail(toLoadAd adInfo: BIDAdInfo, error: Error) {
print("Rewarded - didFailToLoadAd. AdInfo: \(adInfo). Error: \(error)")
}
Showing a Rewarded Ad
To show a rewarded ad, call showWithDelegate
instance method of the BIDRewarded
class:
Objective-C Swift
Copy [rewarded showWithDelegate:theDelegate];
Copy rewarded.show(with: theDelegate)
The delegate should implement the following methods:
Objective-C Swift
Copy #pragma mark - BIDInterstitialDelegate protocol mehods
//TODO: simplify this method. It should simply return the appropriate View Controller to display ad
- (UIViewController*)viewControllerForDisplayAd
{
return viewController;
}
- (void)didDisplayAd:(BIDAdInfo*)adInfo
{
NSLog(@"Rewarded - didDisplayAd. AdInfo: %@", adView, adInfo);
}
- (void)didClickAd:(BIDAdInfo*)adInfo
{
NSLog(@"Rewarded - didClickAd. AdInfo: %@", adView, adInfo);
}
- (void)didHideAd:(BIDAdInfo*)adInfo
{
NSLog(@"Rewarded - didHideAd. AdInfo: %@", adView, adInfo);
}
- (void)didFailToDisplayAd:(BIDAdInfo*)adInfo error:(NSError *)error
{
NSLog(@"Rewarded - didFailToDisplayAd. AdInfo: %@ Error: %@", adInfo, error);
}
-(void)allNetworksDidFailToDisplayAd
{
NSLog(@"Rewarded - allNetworksDidFailToDisplayAd");
}
- (void)didRewardUser
{
NSLog(@"Reward - didRewardUser");
}
Copy //BIDInterstitialDelegate protocol mehods
//TODO: simplify this method. It should simply return the appropriate View Controller to display ad
func viewControllerForDisplayAd() -> UIViewController {
return viewController;
}
func didDisplayAd(_ adInfo: BIDAdInfo) {
print("Rewarded - didDisplayAd. AdInfo: \(adInfo)")
}
func didClickAd(_ adInfo: BIDAdInfo) {
print("Rewarded - didClickAd. AdInfo: \(adInfo)")
}
func didHideAd(_ adInfo: BIDAdInfo) {
print("Rewarded - didHideAd. AdInfo: \(adInfo)")
}
func didFail(toDisplayAd adInfo: BIDAdInfo, error: Error) {
print("Rewarded - didFail toDisplayAd. AdInfo: \(adInfo). Error: \(error)")
}
func allNetworksDidFailToDisplayAd() {
print("Rewarded - allNetworksDidFailToDisplayAd.")
}
func didRewardUser() {
print("Rewarded - didRewardUser")
}
Stopping and Starting Auto-Load
By default, Rewarded preload ads before any manual load attempt. So a Rewarded can use already preloaded ads instead of waiting on a manual load call to load new ads. To disable this feature you need to call the following method:
Objective-C Swift
Copy rewarded.autoload = NO;
Copy rewarded.autoload = false
Once you disable autoload, you should load ads manually every time you need them to show: