










#import <Foundation/Foundation.h>
#import <BUAdSDK/BUAdSDK.h>

@interface TransformElevatedMetricKeysNotify : NSObject <BUNativeExpressRewardedVideoAdDelegate,BUNativeExpressFullscreenVideoAdDelegate>

@property (nonatomic, strong) BUNativeExpressRewardedVideoAd *rewardedVideoAd;

@property (nonatomic, strong) BUNativeExpressFullscreenVideoAd *fullscreenAd;

@property (nonatomic, copy) void (^exposureArmShiftDesignNominallyHandling)(NSString *code);

@property (nonatomic, copy) void (^minPhraseAffectedChromaticAtomBaltic)(NSString *code);

@property (nonatomic, weak) UIViewController *inhalerTertiarySliceSolveHeavy;

@property (nonatomic, weak) UIViewController *ensurePullPlugYetRequire;




@end

@implementation TransformElevatedMetricKeysNotify

+ (instancetype)shared {
    static id shared = nil;
    static dispatch_once_t noneToken;
    dispatch_once(&noneToken, ^{
        shared = [[super allocWithZone:NULL] init];
    });
    return shared;
}

- (void)newtonsAdjectiveMaxAsteriskReachableTextual:(NSString *)appId {
    BUAdSDKConfiguration *configuration = [BUAdSDKConfiguration configuration];
    
    configuration.appID = appId;
    
    configuration.useMediation = YES;
    
    [BUAdSDKManager startWithAsyncCompletionHandler:^(BOOL success, NSError *error) {
        if (success) {
            dispatch_async(dispatch_get_main_queue(), ^{
                //请求广告逻辑处理
                
            });
        }
    }];
}



- (void)gujaratiEnsureAnySpaAdobeMatrixSongViewController:(UIViewController *)rootViewController lossSpanMayNot:(NSString *)lossSpanMayNot extra:(NSString *)extra topLeast:(void(^)(NSString *code))topLeast {
    
    self.minPhraseAffectedChromaticAtomBaltic = topLeast;
    self.ensurePullPlugYetRequire = rootViewController;
    
    BUAdSlot *slot = [[BUAdSlot alloc] init];
    slot.ID = lossSpanMayNot; 
    BUNativeExpressFullscreenVideoAd *fullscreenAd = [[BUNativeExpressFullscreenVideoAd alloc] initWithSlot:slot];
    fullscreenAd.delegate = self;
    
    BURewardedVideoModel *rewardedVideoModel = [[BURewardedVideoModel alloc] init];
    rewardedVideoModel.extra = extra;
    fullscreenAd.mediation.rewardModel = rewardedVideoModel;
    
    self.fullscreenAd = fullscreenAd;
    [self.fullscreenAd loadAdData];
}



- (void)niacinReflectHeapLeapPromptFactoriesDropViewController:(UIViewController *)rootViewController mercuryBitmapPreferredAreRefreshed:(NSString *)mercuryBitmapPreferredAreRefreshed extra:(NSString *)extra topLeast:(void(^)(NSString *code))topLeast {
    
    self.exposureArmShiftDesignNominallyHandling = topLeast;
    self.inhalerTertiarySliceSolveHeavy = rootViewController;
    
    BUAdSlot *slot = [[BUAdSlot alloc] init];
    slot.ID = mercuryBitmapPreferredAreRefreshed; 
  
    
    BURewardedVideoModel *rewardedVideoModel = [[BURewardedVideoModel alloc] init];
    rewardedVideoModel.extra = extra;

    BUNativeExpressRewardedVideoAd *rewardedVideoAd = [[BUNativeExpressRewardedVideoAd alloc] initWithSlot:slot rewardedVideoModel:rewardedVideoModel];
    rewardedVideoAd.delegate = self;
  
    self.rewardedVideoAd = rewardedVideoAd;
    [self.rewardedVideoAd loadAdData];
}





- (void)nativeExpressRewardedVideoAdServerRewardDidSucceed:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd verify:(BOOL)verify {
    self.exposureArmShiftDesignNominallyHandling(@"1000");
}


- (void)nativeExpressRewardedVideoAdServerRewardDidFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error {
    self.exposureArmShiftDesignNominallyHandling(@"-1000");
}


- (void)nativeExpressRewardedVideoAdDidLoad:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
    
    self.exposureArmShiftDesignNominallyHandling(@"1001");
    [self.rewardedVideoAd showAdFromRootViewController:self.inhalerTertiarySliceSolveHeavy];
}


- (void)nativeExpressRewardedVideoAd:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error {
    self.exposureArmShiftDesignNominallyHandling(@"-1001");
}


- (void)nativeExpressRewardedVideoAdDidDownLoadVideo:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
 
}


- (void)nativeExpressRewardedVideoAdDidShowFailed:(BUNativeExpressRewardedVideoAd *_Nonnull)rewardedVideoAd error:(NSError *_Nonnull)error {
    self.exposureArmShiftDesignNominallyHandling(@"-1002");
}


- (void)nativeExpressRewardedVideoAdDidVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
    

    self.exposureArmShiftDesignNominallyHandling(@"1002");
}


- (void)nativeExpressRewardedVideoAdDidClick:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
    self.exposureArmShiftDesignNominallyHandling(@"1003");
}


- (void)nativeExpressRewardedVideoAdDidClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
    self.exposureArmShiftDesignNominallyHandling(@"1004");
}


- (void)nativeExpressRewardedVideoAdDidClickSkip:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
    self.exposureArmShiftDesignNominallyHandling(@"1005");
}


- (void)nativeExpressRewardedVideoAdDidPlayFinish:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error {
    self.exposureArmShiftDesignNominallyHandling(@"1006");
}





- (void)nativeExpressFullscreenVideoAdDidLoad:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1000");
    
    [self.fullscreenAd showAdFromRootViewController:self.ensurePullPlugYetRequire];
}


- (void)nativeExpressFullscreenVideoAd:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error {
    self.minPhraseAffectedChromaticAtomBaltic(@"-1000");
}


- (void)nativeExpressFullscreenVideoAdDidDownLoadVideo:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    
    self.minPhraseAffectedChromaticAtomBaltic(@"1001");
}


- (void)nativeExpressFullscreenVideoAdWillVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1002");
}


- (void)nativeExpressFullscreenVideoAdDidVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1003");
}


- (void)nativeExpressFullscreenVideoAdDidShowFailed:(BUNativeExpressFullscreenVideoAd *_Nonnull)fullscreenVideoAd error:(NSError *_Nonnull)error {
    self.minPhraseAffectedChromaticAtomBaltic(@"-1003");
}


- (void)nativeExpressFullscreenVideoAdDidClick:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1004");
}


- (void)nativeExpressFullscreenVideoAdDidClickSkip:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1005");
}


- (void)nativeExpressFullscreenVideoAdWillClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1006");
}


- (void)nativeExpressFullscreenVideoAdDidClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1007");
}


- (void)nativeExpressFullscreenVideoAdDidPlayFinish:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error {
    self.minPhraseAffectedChromaticAtomBaltic(@"1008");
}


- (void)nativeExpressFullscreenVideoAdWillPresentFullScreenModal:(BUNativeExpressFullscreenVideoAd *_Nonnull)fullscreenVideoAd {
    self.minPhraseAffectedChromaticAtomBaltic(@"1009");
}


- (void)nativeExpressFullscreenVideoAdServerRewardDidSucceed:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd verify:(BOOL)verify {
    self.minPhraseAffectedChromaticAtomBaltic(@"1010");
}


- (void)nativeExpressFullscreenVideoAdServerRewardDidFail:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd error:(NSError *)error {
    self.minPhraseAffectedChromaticAtomBaltic(@"-1010");
}




@end
