115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
		
			Executable File
		
	
	
| //
 | |
| //  MANativeAd.h
 | |
| //  AppLovinSDK
 | |
| //
 | |
| //  Created by Thomas So on 5/5/20.
 | |
| //
 | |
| 
 | |
| #import "MAAdFormat.h"
 | |
| 
 | |
| NS_ASSUME_NONNULL_BEGIN
 | |
| 
 | |
| @class MANativeAdBuilder;
 | |
| @class MANativeAdImage;
 | |
| @class MANativeAdView;
 | |
| 
 | |
| typedef void (^MANativeAdBuilderBlock) (MANativeAdBuilder *builder);
 | |
| 
 | |
| @interface MANativeAdBuilder : NSObject
 | |
| 
 | |
| @property (nonatomic, copy) NSString *title;
 | |
| @property (nonatomic, copy,   nullable) NSString *advertiser;
 | |
| @property (nonatomic, copy,   nullable) NSString *body;
 | |
| @property (nonatomic, copy,   nullable) NSString *callToAction;
 | |
| @property (nonatomic, strong, nullable) MANativeAdImage *icon;
 | |
| @property (nonatomic, strong, nullable) UIView *iconView;
 | |
| @property (nonatomic, strong, nullable) UIView *optionsView;
 | |
| @property (nonatomic, strong, nullable) UIView *mediaView;
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MANativeAdImage : NSObject
 | |
| 
 | |
| /**
 | |
|  * The native ad image.
 | |
|  */
 | |
| @property (nonatomic, strong, readonly, nullable) UIImage *image;
 | |
| 
 | |
| /**
 | |
|  * The native ad image URL.
 | |
|  */
 | |
| @property (nonatomic, copy,   readonly, nullable) NSURL *URL;
 | |
| 
 | |
| - (instancetype)initWithImage:(UIImage *)image;
 | |
| - (instancetype)initWithURL:(NSURL *)URL;
 | |
| - (instancetype)init NS_UNAVAILABLE;
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface MANativeAd : NSObject
 | |
| 
 | |
| /**
 | |
|  * The native ad format.
 | |
|  */
 | |
| @property (nonatomic, weak, readonly) MAAdFormat *format;
 | |
| 
 | |
| /**
 | |
|  * The native ad title text.
 | |
|  */
 | |
| @property (nonatomic, copy, readonly, nullable) NSString *title;
 | |
| 
 | |
| /**
 | |
|  * The native ad advertiser text.
 | |
|  */
 | |
| @property (nonatomic, copy, readonly, nullable) NSString *advertiser;
 | |
| 
 | |
| /**
 | |
|  * The native ad body text.
 | |
|  */
 | |
| @property (nonatomic, copy, readonly, nullable) NSString *body;
 | |
| 
 | |
| /**
 | |
|  * The native ad CTA button text.
 | |
|  */
 | |
| @property (nonatomic, copy, readonly, nullable) NSString *callToAction;
 | |
| 
 | |
| /**
 | |
|  * The native ad icon image.
 | |
|  */
 | |
| @property (nonatomic, strong, readonly, nullable) MANativeAdImage *icon;
 | |
| 
 | |
| /**
 | |
|  * The native ad icon image view.
 | |
|  */
 | |
| @property (nonatomic, strong, readonly, nullable) UIView *iconView;
 | |
| 
 | |
| /**
 | |
|  * The native ad options view.
 | |
|  */
 | |
| @property (nonatomic, strong, readonly, nullable) UIView *optionsView;
 | |
| 
 | |
| /**
 | |
|  * The native ad media view.
 | |
|  */
 | |
| @property (nonatomic, strong, readonly, nullable) UIView *mediaView;
 | |
| 
 | |
| /**
 | |
|  * For internal use only.
 | |
|  */
 | |
| - (void)performClick;
 | |
| 
 | |
| /**
 | |
|  * This method is called before the ad view is returned to the publisher.
 | |
|  * The adapters should override this method to register the rendered native ad view and make sure that the view is interactable.
 | |
|  *
 | |
|  * @param nativeAdView a rendered native ad view.
 | |
|  */
 | |
| - (void)prepareViewForInteraction:(MANativeAdView *)nativeAdView;
 | |
| 
 | |
| - (instancetype)initWithFormat:(MAAdFormat *)format builderBlock:(NS_NOESCAPE MANativeAdBuilderBlock)builderBlock;
 | |
| - (instancetype)init NS_UNAVAILABLE;
 | |
| 
 | |
| @end
 | |
| 
 | |
| NS_ASSUME_NONNULL_END
 |