修改ad的逻辑
This commit is contained in:
parent
809a1a46e9
commit
7d12c779f8
Binary file not shown.
@ -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
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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];
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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]]) {
|
||||||
|
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];
|
[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
|
||||||
|
|||||||
@ -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];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user