// // MARewardedAd.h // AppLovinSDK // // Created by Thomas So on 8/9/18. // Copyright © 2020 AppLovin Corporation. All rights reserved. // #import #import #import #import #import #import #import @class ALSdk; NS_ASSUME_NONNULL_BEGIN /** * This class represents a full-screen rewarded ad. * * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads */ @interface MARewardedAd : NSObject /** * Gets an instance of a MAX rewarded ad. * * @param adUnitIdentifier Ad unit ID for which to get the ad instance. * * @return An instance of a rewarded ad tied to the specified ad unit ID. */ + (instancetype)sharedWithAdUnitIdentifier:(NSString *)adUnitIdentifier; /** * Get an instance of a MAX rewarded ad. * * @param adUnitIdentifier Ad unit ID for which to get the ad instance. * @param sdk SDK to use. * * @return An instance of a rewarded ad tied to the specified ad unit ID. */ + (instancetype)sharedWithAdUnitIdentifier:(NSString *)adUnitIdentifier sdk:(ALSdk *)sdk; - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; /** * A delegate that will be notified about ad events. */ @property (nonatomic, weak, nullable) id delegate; /** * A delegate that will be notified about ad revenue events. */ @property (nonatomic, weak, nullable) id revenueDelegate; /** * A delegate that will be notified about ad request events. */ @property (nonatomic, weak, nullable) id requestDelegate; /** * A delegate that will be notified about ad expiration events. */ @property (nonatomic, weak, nullable) id expirationDelegate; /** * A delegate that will be notified about Ad Review events. */ @property (nonatomic, weak, nullable) id adReviewDelegate; /** * Load the current rewarded ad. Use @code -[MARewardedAd delegate] @endcode to assign a delegate that should be notified about ad load state. * * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads ⇒ Loading a Rewarded Ad */ - (void)loadAd; /** * Show the loaded rewarded ad. *
    *
  • Use @code -[MARewardedAd delegate] @endcode to assign a delegate that should be notified about display events.
  • *
  • Use @code -[MARewardedAd ready] @endcode to check if an ad was successfully loaded.
  • *
* * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads ⇒ Showing a Rewarded Ad */ - (void)showAd; /** * Show the loaded rewarded ad for a given placement to tie ad events to. *
    *
  • Use @code -[MARewardedAd delegate] @endcode to assign a delegate that should be notified about display events.
  • *
  • Use @code -[MARewardedAd ready] @endcode to check if an ad was successfully loaded.
  • *
* * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads ⇒ Showing a Rewarded Ad * * @param placement The placement to tie the showing ad’s events to. */ - (void)showAdForPlacement:(nullable NSString *)placement; /** * Show the loaded rewarded ad for a given placement and custom data to tie ad events to. *
    *
  • Use @code -[MARewardedAd delegate] @endcode to assign a delegate that should be notified about display events.
  • *
  • Use @code -[MARewardedAd ready] @endcode to check if an ad was successfully loaded.
  • *
* * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads ⇒ Showing a Rewarded Ad * * @param placement The placement to tie the showing ad’s events to. * @param customData The custom data to tie the showing ad’s events to. Maximum size is 8KB. */ - (void)showAdForPlacement:(nullable NSString *)placement customData:(nullable NSString *)customData; /** * Show the loaded rewarded ad for a given placement and custom data to tie ad events to, and a view controller to present the ad from. *
    *
  • Use @code -[MARewardedAd delegate] @endcode to assign a delegate that should be notified about display events.
  • *
  • Use @code -[MARewardedAd ready] @endcode to check if an ad was successfully loaded.
  • *
* * @see MAX Integration Guide ⇒ iOS ⇒ Rewarded Ads ⇒ Showing a Rewarded Ad * * @param placement The placement to tie the showing ad’s events to. * @param customData The custom data to tie the showing ad’s events to. Maximum size is 8KB. * @param viewController The view controller to display the ad from. If @c nil, will be inferred from the key window's root view controller. */ - (void)showAdForPlacement:(nullable NSString *)placement customData:(nullable NSString *)customData viewController:(nullable UIViewController *)viewController; /** * The ad unit identifier this @c MARewardedAd was initialized with and is loading ads for. */ @property (nonatomic, copy, readonly) NSString *adUnitIdentifier; /** * Whether or not this ad is ready to be shown. */ @property (nonatomic, assign, readonly, getter=isReady) BOOL ready; /** * Set an extra key/value parameter for the ad. * * @param key Parameter key. * @param value Parameter value. */ - (void)setExtraParameterForKey:(NSString *)key value:(nullable NSString *)value; /** * Set a local extra parameter to pass to the adapter instances. Will not be available in the @code -[MAAdapter initializeWithParameters:withCompletionHandler:] @endcode method. * * @param key Parameter key. Must not be null. * @param value Parameter value. May be null. */ - (void)setLocalExtraParameterForKey:(NSString *)key value:(nullable id)value; @end NS_ASSUME_NONNULL_END