Commit 1ff9b3c8 authored by zhangshuai's avatar zhangshuai

修改超时机制

parent 30f4c293
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
@property (nonatomic ,retain)AddSigmobADManager * sigmobAd; @property (nonatomic ,retain)AddSigmobADManager * sigmobAd;
@property (nonatomic ,retain)AddRuiShiADManager * ruishiAd; @property (nonatomic ,retain)AddRuiShiADManager * ruishiAd;
@property (nonatomic ,assign)BOOL isTimeOut;
@property (nonatomic ,copy)void(^adShowBlock)(BOOL success); @property (nonatomic ,copy)void(^adShowBlock)(BOOL success);
@end @end
...@@ -149,25 +151,20 @@ static IOSADManager * manager = nil; ...@@ -149,25 +151,20 @@ static IOSADManager * manager = nil;
} }
}else{ }else{
static int timTouch = 0;
MBProgressHUD * hud = [MBProgressHUD showMessage:@"请稍等..."]; MBProgressHUD * hud = [MBProgressHUD showMessage:@"请稍等..."];
hud.minShowTime = 3; hud.minShowTime = 3;
timTouch += 1;
if (timTouch >= 2) { if (self.isTimeOut) {
timTouch = 0;
self.haveLodeAD = NO; self.haveLodeAD = NO;
[self.videoModels removeObject:self.videoModels.firstObject]; [self.videoModels removeObject:self.videoModels.firstObject];
[self.cachevideo removeAllObjects]; [self.cachevideo removeAllObjects];
[self showADType:AdType resultBlock:self.adShowBlock]; [self showADType:AdType resultBlock:self.adShowBlock];
} }
self.showNow = YES; self.showNow = YES;
if (!self.haveLodeAD) { if (!self.haveLodeAD) {
[self loadAdWithData:self.videoModels.firstObject withADType:AdType]; [self loadAdWithData:self.videoModels.firstObject withADType:AdType];
#pragma mark - 延迟 做超时
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(overtimeWith:) object:nil];
[self performSelector:@selector(overtimeWith:) withObject:self.videoModels.firstObject afterDelay:TIMEOUT];
} }
} }
}else{ }else{
...@@ -237,6 +234,12 @@ static IOSADManager * manager = nil; ...@@ -237,6 +234,12 @@ static IOSADManager * manager = nil;
if ([self.loadADDataArray count] > 10) { if ([self.loadADDataArray count] > 10) {
[self.loadADDataArray removeObject:self.loadADDataArray.firstObject]; [self.loadADDataArray removeObject:self.loadADDataArray.firstObject];
} }
if (AdType == ADType_Video) {
#pragma mark - 延迟 做超时
[NSObject cancelPreviousPerformRequestsWithTarget:self];
[self performSelector:@selector(overtimeWith:) withObject:self.videoModels.firstObject afterDelay:TIMEOUT];
}
WEAKSELF; WEAKSELF;
if ([loadADModel.adPlatform isEqualToString:@"chuanshanjia"]) { // 穿山甲 if ([loadADModel.adPlatform isEqualToString:@"chuanshanjia"]) { // 穿山甲
...@@ -255,8 +258,6 @@ static IOSADManager * manager = nil; ...@@ -255,8 +258,6 @@ static IOSADManager * manager = nil;
weakSelf.csjAd = csjAd; weakSelf.csjAd = csjAd;
[weakSelf.loadADDataArray addObject:csjAd]; [weakSelf.loadADDataArray addObject:csjAd];
[csjAd loadAdWithData:loadADModel withADType:AdType];
csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultLoadWithData:model andSuccess:success]; [weakSelf blockResultLoadWithData:model andSuccess:success];
}; };
...@@ -266,6 +267,8 @@ static IOSADManager * manager = nil; ...@@ -266,6 +267,8 @@ static IOSADManager * manager = nil;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
}); });
[csjAd loadAdWithData:loadADModel withADType:AdType];
} }
}else if ([loadADModel.adPlatform isEqualToString:@"guangdiantong"]){ // 广点通 }else if ([loadADModel.adPlatform isEqualToString:@"guangdiantong"]){ // 广点通
...@@ -278,15 +281,15 @@ static IOSADManager * manager = nil; ...@@ -278,15 +281,15 @@ static IOSADManager * manager = nil;
self.gdtAd = csjAd; self.gdtAd = csjAd;
[self.loadADDataArray addObject:csjAd]; [self.loadADDataArray addObject:csjAd];
[csjAd loadAdWithData:loadADModel withADType:AdType];
csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultLoadWithData:model andSuccess:success]; [weakSelf blockResultLoadWithData:model andSuccess:success];
}; };
csjAd.showSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.showSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultShowWithData:model andSuccess:success]; [weakSelf blockResultShowWithData:model andSuccess:success];
}; };
[csjAd loadAdWithData:loadADModel withADType:AdType];
} }
}else if ([loadADModel.adPlatform isEqualToString:@"sigmob"]){ }else if ([loadADModel.adPlatform isEqualToString:@"sigmob"]){
...@@ -299,7 +302,6 @@ static IOSADManager * manager = nil; ...@@ -299,7 +302,6 @@ static IOSADManager * manager = nil;
self.sigmobAd = csjAd; self.sigmobAd = csjAd;
[self.loadADDataArray addObject:csjAd]; [self.loadADDataArray addObject:csjAd];
[csjAd loadAdWithData:loadADModel withADType:AdType];
csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultLoadWithData:model andSuccess:success]; [weakSelf blockResultLoadWithData:model andSuccess:success];
...@@ -308,6 +310,8 @@ static IOSADManager * manager = nil; ...@@ -308,6 +310,8 @@ static IOSADManager * manager = nil;
[weakSelf blockResultShowWithData:model andSuccess:success]; [weakSelf blockResultShowWithData:model andSuccess:success];
}; };
[csjAd loadAdWithData:loadADModel withADType:AdType];
} }
}else if ([loadADModel.adPlatform isEqualToString:@"ruishi"]){ }else if ([loadADModel.adPlatform isEqualToString:@"ruishi"]){
if ([self contentADDataWith:loadADModel]) { //有数据 if ([self contentADDataWith:loadADModel]) { //有数据
...@@ -320,16 +324,15 @@ static IOSADManager * manager = nil; ...@@ -320,16 +324,15 @@ static IOSADManager * manager = nil;
self.ruishiAd = csjAd; self.ruishiAd = csjAd;
[self.loadADDataArray addObject:csjAd]; [self.loadADDataArray addObject:csjAd];
[csjAd loadAdWithData:loadADModel withADType:AdType];
csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.loadSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultLoadWithData:model andSuccess:success]; [weakSelf blockResultLoadWithData:model andSuccess:success];
}; };
csjAd.showSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) { csjAd.showSuccessCallbackBlock = ^(GYAdsTrackModel * _Nonnull model, BOOL success) {
[weakSelf blockResultShowWithData:model andSuccess:success]; [weakSelf blockResultShowWithData:model andSuccess:success];
}; };
[csjAd loadAdWithData:loadADModel withADType:AdType];
} }
}else{ }else{
if (AdType == ADType_Video) { // 视频 if (AdType == ADType_Video) { // 视频
...@@ -565,7 +568,7 @@ static IOSADManager * manager = nil; ...@@ -565,7 +568,7 @@ static IOSADManager * manager = nil;
//有缓存 //有缓存
if (weakSelf.cachevideo.count <= 1 ) { if (weakSelf.cachevideo.count <= 1 ) {
if (weakSelf.videoModels.count > 1) { if (weakSelf.videoModels.count > 1 && weakSelf.cachevideo.count == 1) {
[weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video]; [weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video];
}else{ }else{
[weakSelf loadAdWithData:weakSelf.videoModels.firstObject withADType:ADType_Video]; [weakSelf loadAdWithData:weakSelf.videoModels.firstObject withADType:ADType_Video];
...@@ -573,8 +576,6 @@ static IOSADManager * manager = nil; ...@@ -573,8 +576,6 @@ static IOSADManager * manager = nil;
}else{ }else{
if (weakSelf.videoModels.count >=2) { if (weakSelf.videoModels.count >=2) {
[weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video]; [weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video];
}else{
NSLog(@">>>>weakSelf.cachevideo == %lu",(unsigned long)weakSelf.videoModels.count);
} }
} }
}else{ }else{
...@@ -608,7 +609,7 @@ static IOSADManager * manager = nil; ...@@ -608,7 +609,7 @@ static IOSADManager * manager = nil;
NSLog(@">>>>>>> 缓存 失败 平台 = %@ ID = %@ type= %@ <<<<<<<<<",model.adPlatform,model.codeId,model.slotName); NSLog(@">>>>>>> 缓存 失败 平台 = %@ ID = %@ type= %@ <<<<<<<<<",model.adPlatform,model.codeId,model.slotName);
} }
if(model.loadADType == ADType_Video){ if(model.loadADType == ADType_Video){
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(overtimeWith:) object:nil]; [NSObject cancelPreviousPerformRequestsWithTarget:self];
weakSelf.haveLodeAD = NO; weakSelf.haveLodeAD = NO;
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
...@@ -624,6 +625,7 @@ static IOSADManager * manager = nil; ...@@ -624,6 +625,7 @@ static IOSADManager * manager = nil;
}else{ }else{
if (weakSelf.videoModels.count > weakSelf.cachevideo.count) { if (weakSelf.videoModels.count > weakSelf.cachevideo.count) {
GYAdsTrackModel * firstData = weakSelf.videoModels[weakSelf.cachevideo.count]; GYAdsTrackModel * firstData = weakSelf.videoModels[weakSelf.cachevideo.count];
[[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_back_failed"]; [[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_back_failed"];
...@@ -700,7 +702,7 @@ static IOSADManager * manager = nil; ...@@ -700,7 +702,7 @@ static IOSADManager * manager = nil;
} }
if(model.loadADType == ADType_Video){ if(model.loadADType == ADType_Video){
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(overtimeWith:) object:nil]; // [NSObject cancelPreviousPerformRequestsWithTarget:self];
[weakSelf clearCache:model]; [weakSelf clearCache:model];
...@@ -716,7 +718,7 @@ static IOSADManager * manager = nil; ...@@ -716,7 +718,7 @@ static IOSADManager * manager = nil;
} failure:^(NSError * _Nonnull error) { } failure:^(NSError * _Nonnull error) {
}]; }];
}else{ }else{
[MBProgressHUD showMessage:@"请重试"];
[[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_failed"]; [[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_failed"];
if (self.advertisingSpace) { if (self.advertisingSpace) {
...@@ -781,10 +783,8 @@ static IOSADManager * manager = nil; ...@@ -781,10 +783,8 @@ static IOSADManager * manager = nil;
- (void)overtimeWith:(GYAdsTrackModel *)model{ - (void)overtimeWith:(GYAdsTrackModel *)model{
if (model.loadADType == ADType_Video) { if (model.loadADType == ADType_Video) {
[self.loadADDataArray removeAllObjects];
[self.cachevideo removeAllObjects]; self.isTimeOut = YES;
[self.videoModels removeAllObjects];
[self requestVideoAD];
} }
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
GYAdsTrackModel * oldData = [IOSADManager shareADManager].cachevideo.firstObject; GYAdsTrackModel * oldData = [IOSADManager shareADManager].cachevideo.firstObject;
if ([oldData.adPlatform isEqualToString: @"sigmob"]) { if ([oldData.adPlatform isEqualToString: @"sigmob"]) {
self.loadSuccessCallbackBlock(self.currentData, NO); weakSelf.loadSuccessCallbackBlock(weakSelf.currentData, NO);
return; return;
} }
...@@ -174,7 +174,6 @@ ...@@ -174,7 +174,6 @@
@param placementId 广告位Id @param placementId 广告位Id
*/ */
- (void)onVideoAdPlayEnd:(NSString *)placementId;{ - (void)onVideoAdPlayEnd:(NSString *)placementId;{
self.showSuccessCallbackBlock(self.currentData, YES);
} }
...@@ -196,6 +195,8 @@ ...@@ -196,6 +195,8 @@
*/ */
- (void)onVideoAdClicked:(NSString *)placementId;{ - (void)onVideoAdClicked:(NSString *)placementId;{
[self videoAdDidClick:self.currentData]; [self videoAdDidClick:self.currentData];
self.showSuccessCallbackBlock(self.currentData, YES);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment