修改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"
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
#pragma mark ------LuxADManagerItem

View File

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

View File

@ -20,9 +20,18 @@
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (_adIndex > 0) {
NSLog(@"%@已经进行viewDidAppear",NSStringFromClass([self class]));
__weak typeof(self)weakSelf = self;
[[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];
}];
}

View File

@ -15,17 +15,36 @@
}
+ (void)closeADWindow {
NSLog(@"已经执行closeADWindow.....");
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
[keyWindow.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
UIViewController *vc = obj.subviews.firstObject.nextResponder;
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]]) {
[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

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) {
NSString *status = result[@"status"];
NSInteger time = [result[@"close"] integerValue];
if ([status isEqualToString:@"Success"]) {
if ([status isEqualToString:@"Success"] && ad) {
[LuxADVCControl removeADVCByDelayTime:time];
}
}];

View File

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

View File

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