Commit 1ff9b3c8 authored by zhangshuai's avatar zhangshuai

修改超时机制

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