修改ad的逻辑

This commit is contained in:
bluesea 2024-07-29 15:40:08 +08:00
parent 809a1a46e9
commit 7d12c779f8
8 changed files with 47 additions and 16 deletions

View File

@ -10,7 +10,7 @@
#import "LuxADSuperVC.h" #import "LuxADSuperVC.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
typedef void(^LuxADManagerCallback)(NSInteger actionType);//actionType,1表示关闭广告 typedef void(^LuxADManagerCallback)(NSInteger actionType);//actionType,1表示未获取AD而关闭广告;2,表示获取到了AD而关闭广告;
typedef void (^LuxADManagerActionBlock)(UIViewController *vc);//用于补量模式的跳转vc 的action typedef void (^LuxADManagerActionBlock)(UIViewController *vc);//用于补量模式的跳转vc 的action
#pragma mark ------LuxADManagerItem #pragma mark ------LuxADManagerItem

View File

@ -236,7 +236,7 @@
else { else {
if (totalTimeC > kOpenAdCTimeLength) {// if (totalTimeC > kOpenAdCTimeLength) {//
if(self.callback) { if(self.callback) {
self.callback(1); self.callback(2);
} }
[_openADTimer invalidate]; [_openADTimer invalidate];
_openADTimer = nil; _openADTimer = nil;
@ -285,7 +285,7 @@
LuxADManagerInterstitialItem *item = [_adItemsArr objectAtIndex:index]; LuxADManagerInterstitialItem *item = [_adItemsArr objectAtIndex:index];
if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //30, if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //30,
[LuxNetManager showAd:nil adId:item.adItem.adUnitIdentifier ecpm:@(0) ad:NO callback:nil]; [LuxNetManager showAd:nil adId:item.adItem.adUnitIdentifier ecpm:@(0) ad:NO callback:nil];
self.callback(1); self.callback(2);
} }
else { // else { //
@ -306,14 +306,14 @@
LuxADManagerInterstitialItem *item = _adItemsArr[rv]; LuxADManagerInterstitialItem *item = _adItemsArr[rv];
if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //30, if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //30,
self.callback(1); self.callback(2);
} }
else { // else { //
[item.adItem showAd]; [item.adItem showAd];
} }
} }
else { else {
callback(1); callback(2);
} }
} }
@ -323,6 +323,9 @@
#pragma mark ----广 #pragma mark ----广
//广 //广
- (BOOL)canShowAD:(NSDate *)adDate { - (BOOL)canShowAD:(NSDate *)adDate {
if ([self isADSSMode]) {//,30
return YES;
}
if(!adDate) { if(!adDate) {
return YES; return YES;
} }

View File

@ -20,9 +20,18 @@
- (void)viewDidAppear:(BOOL)animated { - (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated]; [super viewDidAppear:animated];
if (_adIndex > 0) { if (_adIndex > 0) {
NSLog(@"%@已经进行viewDidAppear",NSStringFromClass([self class]));
__weak typeof(self)weakSelf = self; __weak typeof(self)weakSelf = self;
[[LuxADManager shareInstance] showADWithIndex:_adIndex callback:^(NSInteger actionType) {//ad [[LuxADManager shareInstance] showADWithIndex:_adIndex callback:^(NSInteger actionType) {//ad
//... //...
if (actionType == 1) {
NSLog(@"广告触发didHideAd 回调.....");
}
else if (actionType == 2) {
NSLog(@"广告isReady为NO,未准备好 回调....");
}
NSLog(@"关闭了vc:%@",self);
weakSelf.navigationController.navigationBarHidden = YES;
[weakSelf.navigationController popViewControllerAnimated:NO]; [weakSelf.navigationController popViewControllerAnimated:NO];
}]; }];
} }

View File

@ -15,17 +15,36 @@
} }
+ (void)closeADWindow { + (void)closeADWindow {
NSLog(@"已经执行closeADWindow.....");
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
[keyWindow.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [keyWindow.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
UIViewController *vc = obj.subviews.firstObject.nextResponder; UIViewController *vc = obj.subviews.firstObject.nextResponder;
if ([vc isKindOfClass:[NSClassFromString(@"ALAppLovinVideoViewController") class]]) { if ([vc isKindOfClass:[NSClassFromString(@"ALAppLovinVideoViewController") class]]) {
[vc performSelector:@selector(handleCloseButton) withObject:nil]; if ([vc respondsToSelector:@selector(skipVideo)]) {
NSLog(@"执行了skipVideo.....");
[vc performSelector:@selector(skipVideo) withObject:nil];
}
if ([vc respondsToSelector:@selector(handleCloseButton)]) {
NSLog(@"执行了handleCloseButton.....");
[vc performSelector:@selector(handleCloseButton) withObject:nil];
}
[LuxADVCControl checkCloseWindown];
} }
else if ([vc isKindOfClass:[NSClassFromString(@"ALVASTVideoViewController") class]]) { else if ([vc isKindOfClass:[NSClassFromString(@"ALVASTVideoViewController") class]]) {
[vc performSelector:@selector(dismiss) withObject:nil]; [vc performSelector:@selector(dismiss) withObject:nil];
[LuxADVCControl checkCloseWindown];
} }
}]; }];
} }
+ (void)checkCloseWindown {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.7 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[LuxADVCControl closeADWindow];
});
}
@end @end

View File

@ -293,7 +293,7 @@ ecpm:(NSNumber *)ecpm
[LuxNetManager uploadData:mdic urlPath:kLocalUrlStr(@"adtask/show") callback:^(NSError * _Nonnull err, BOOL state, NSDictionary * _Nonnull result) { [LuxNetManager uploadData:mdic urlPath:kLocalUrlStr(@"adtask/show") callback:^(NSError * _Nonnull err, BOOL state, NSDictionary * _Nonnull result) {
NSString *status = result[@"status"]; NSString *status = result[@"status"];
NSInteger time = [result[@"close"] integerValue]; NSInteger time = [result[@"close"] integerValue];
if ([status isEqualToString:@"Success"]) { if ([status isEqualToString:@"Success"] && ad) {
[LuxADVCControl removeADVCByDelayTime:time]; [LuxADVCControl removeADVCByDelayTime:time];
} }
}]; }];

View File

@ -619,11 +619,11 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development: XINGYUE LAI (49J67X4U2N)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: XINGYUE LAI (49J67X4U2N)";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = 8B4CW938L2;
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8B4CW938L2; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8B4CW938L2;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -653,7 +653,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.digi.art.wallpaper; PRODUCT_BUNDLE_IDENTIFIER = com.digi.art.wallpaper;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = digiArt_dis; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = baohanxc_art_dev;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO; SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
@ -669,11 +669,11 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development: XINGYUE LAI (49J67X4U2N)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: XINGYUE LAI (49J67X4U2N)";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = 8B4CW938L2;
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8B4CW938L2; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8B4CW938L2;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -703,7 +703,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.digi.art.wallpaper; PRODUCT_BUNDLE_IDENTIFIER = com.digi.art.wallpaper;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = digiArt_dis; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = baohanxc_art_dev;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO; SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;

View File

@ -31,7 +31,7 @@
shouldAutocreateTestPlan = "YES"> shouldAutocreateTestPlan = "YES">
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0" launchStyle = "0"