VisionWallPaperOffline-8-19/HDwallpaper/LuxADManager/LuxADManager.h
2024-07-26 18:52:54 +08:00

77 lines
2.4 KiB
Objective-C

//
// WPLuxADManager.h
// TallPaper
//
// Created by aaa on 2024/7/25.
//
#import <Foundation/Foundation.h>
#import <AppLovinSDK/AppLovinSDK.h>
#import "LuxADSuperVC.h"
NS_ASSUME_NONNULL_BEGIN
typedef void(^LuxADManagerCallback)(NSInteger actionType);//actionType,1表示关闭广告
typedef void (^LuxADManagerActionBlock)(UIViewController *vc);//用于补量模式的跳转vc 的action
#pragma mark ------LuxADManagerItem
@protocol LuxADManagerInterstitialItemDelegate <NSObject>
- (void)needLoadADWithNum:(NSInteger)num;
@end
@interface LuxADManagerInterstitialItem : NSObject
@property (nonatomic,strong) MAInterstitialAd *adItem;
@property (nonatomic) NSInteger retryAttemptCount;
@property (nonatomic,strong) NSDate *lastShowADDate;//ad间隔时长
@property (nonatomic,strong) NSString *adId;
@property (nonatomic,weak) id<LuxADManagerInterstitialItemDelegate> delegate;
@property (nonatomic,weak) LuxADManagerActionBlock actionBlock;//在补量模式下,跳转至目的页面
@property (nonatomic,strong) NSNumber *ecpm;//记录第一次load成功之后的ecpm的值
@property (nonatomic) NSNumber *tapPointX;
@property (nonatomic) NSNumber *tapPointY;
+ (LuxADManagerInterstitialItem *)initWithAdId:(NSString *)adId adDelegate:(id<MAAdDelegate>)adDelegate actionBlock:(LuxADManagerActionBlock)actionBlock;
@end
#pragma mark ------LuxADManager
@interface LuxADManager : NSObject
+ (instancetype)shareInstance;
//第一步: 通过指定的ids数组初始化所有 插屏 ad ,注意,仅是插屏
- (void)addADWithInterstitialId:(NSString*)id actionBlock:(LuxADManagerActionBlock)block;
//第二步: 初始化广告
- (void)configureADWithAppLovinSDKKey:(NSString *)appLovinSDKKey;
//用于在启动app时,即第一次在appDidFinishLanuch调用开屏广告
- (void)showFirstOpenAD:(LuxADManagerCallback)callback window:(UIWindow *)window bgImgName:(NSString *)bgImgName bgColor:(UIColor *)bgColor;
//用于在app进行前后台切换时调用
- (void)showOpenAD;
//随机展示_adItemsArr中的插屏ad
- (void)showADByRandomModeWithCallback:(LuxADManagerCallback)callback;
#pragma mark --------主要用于AD补量
//返回所有的插屏ad(非开屏广告openad)
- (NSArray <LuxADManagerInterstitialItem *> *)allInterstitialAds;
//根据指定的在_adItemsArr中的index展示插屏ad
- (void)showADWithIndex:(NSInteger)index callback:(LuxADManagerCallback)callback ;
//判断当前是否为广告不量模式
- (BOOL)isADSSMode;
@end
NS_ASSUME_NONNULL_END