mergemilitary/Assets/Plugins/ToukaGames/ToponSDK/kuaishou/KSAdSDK.framework/Headers/KSSplashAdView.h

111 lines
3.5 KiB
Objective-C
Executable File

//
// KSSplashAdView.h
// KSAdSDK
//
// Created by zhangchuntao on 2021/3/3.
//
#import <Foundation/Foundation.h>
#import "KSAd.h"
#import "KSAdInteractionType.h"
NS_ASSUME_NONNULL_BEGIN
@class KSSplashAdView;
@protocol KSSplashAdViewDelegate <NSObject>
@optional
/**
* splash ad request done
*/
- (void)ksad_splashAdDidLoad:(KSSplashAdView *)splashAdView;
/**
* splash ad material load, ready to display
*/
- (void)ksad_splashAdContentDidLoad:(KSSplashAdView *)splashAdView;
/**
* splash ad (material) failed to load
*/
- (void)ksad_splashAd:(KSSplashAdView *)splashAdView didFailWithError:(NSError *)error;
/**
* splash ad did visible
*/
- (void)ksad_splashAdDidVisible:(KSSplashAdView *)splashAdView;
/**
* splash ad video begin play
* for video ad only
*/
- (void)ksad_splashAdVideoDidBeginPlay:(KSSplashAdView *)splashAdView;
/**
* splash ad clicked
* @param inMiniWindow whether click in mini window
*/
- (void)ksad_splashAd:(KSSplashAdView *)splashAdView didClick:(BOOL)inMiniWindow;
/**
* splash ad will zoom out, frame can be assigned
* for video ad only
* @param frame target frame
*/
- (void)ksad_splashAd:(KSSplashAdView *)splashAdView willZoomTo:(inout CGRect *)frame;
/**
* splash ad zoomout view will move to frame
* @param frame target frame
*/
- (void)ksad_splashAd:(KSSplashAdView *)splashAdView willMoveTo:(inout CGRect *)frame;
/**
* splash ad skipped
* @param showDuration splash show duration (no subsequent callbacks, remove & release KSSplashAdView here)
*/
- (void)ksad_splashAd:(KSSplashAdView *)splashAdView didSkip:(NSTimeInterval)showDuration;
/**
* splash ad did enter conversion view controller
*/
- (void)ksad_splashAdDidOpenConversionVC:(KSSplashAdView *)splashAdView interactionType:(KSAdInteractionType)interactType;
/**
* splash ad close conversion viewcontroller (no subsequent callbacks, remove & release KSSplashAdView here)
*/
- (void)ksad_splashAdDidCloseConversionVC:(KSSplashAdView *)splashAdView interactionType:(KSAdInteractionType)interactType;
/**
* splash ad play finished & auto dismiss (no subsequent callbacks, remove & release KSSplashAdView here)
*/
- (void)ksad_splashAdDidAutoDismiss:(KSSplashAdView *)splashAdView;
/**
* splash ad close by user (zoom out mode) (no subsequent callbacks, remove & release KSSplashAdView here)
*/
- (void)ksad_splashAdDidClose:(KSSplashAdView *)splashAdView;
@end
@interface KSSplashAdView : UIView<KSAdProtocol>
@property (nonatomic, weak) id<KSSplashAdViewDelegate> delegate;
@property (nonatomic, weak) UIViewController *rootViewController;
/// max timeout interval, default is 3
@property (nonatomic, assign) NSTimeInterval timeoutInterval;
/// need show mini window, default is NO
@property (nonatomic, assign) BOOL needShowMiniWindow;
/// in zoomout state
@property (nonatomic, assign, readonly) BOOL showingMiniWindow;
/// ad interaction type, avaliable after ksad_splashAdContentDidLoad:
@property (nonatomic, assign, readonly) KSAdInteractionType interactionType;
/// ad material type, avaliable after ksad_splashAdContentDidLoad:
@property (nonatomic, assign, readonly) KSAdMaterialType materialType;
- (id)initWithPosId:(NSString *)posId;
/// load ad data
- (void)loadAdData;
/// server bidding load ad data
- (void)loadAdDataWithResponse:(NSDictionary *)response;
/**
server bidding load ad data plan 2
*/
- (void)loadAdDataWithResponseV2:(NSDictionary *)response;
/// show splash ad in view, should be called after ksad_splashAdContentDidLoad:
- (void)showInView:(UIView *)view;
@end
NS_ASSUME_NONNULL_END