Commit bbf0d4f3 authored by Mazy's avatar Mazy

Merge remote-tracking branch 'refs/remotes/origin/master'

parents d403a90a 1ff9b3c8
...@@ -275,6 +275,7 @@ NSDictionary* appLaunchOpts; ...@@ -275,6 +275,7 @@ NSDictionary* appLaunchOpts;
[[CGUserManager shared] addLocCollection:@"click_flyBox_video_btn" value:@""]; [[CGUserManager shared] addLocCollection:@"click_flyBox_video_btn" value:@""];
[[CGUserManager shared] addLocCollection:@"play_adVideo_end_fly_box" value:@""]; [[CGUserManager shared] addLocCollection:@"play_adVideo_end_fly_box" value:@""];
[IOSADManager shareADManager].advertisingSpace = @"play_adVideo_end_fly_box"; [IOSADManager shareADManager].advertisingSpace = @"play_adVideo_end_fly_box";
[[IOSADManager shareADManager] showADType:ADType_Video resultBlock:^(BOOL success) { [[IOSADManager shareADManager] showADType:ADType_Video resultBlock:^(BOOL success) {
if (success) { if (success) {
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
#import "AddRuiShiADManager.h" #import "AddRuiShiADManager.h"
#import "AppDelegate.h" #import "AppDelegate.h"
#define TIMEOUT (30) #define TIMEOUT (20)
/// 广告工具类 /// 广告工具类
@interface IOSADManager () @interface IOSADManager ()
...@@ -22,6 +23,8 @@ ...@@ -22,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
...@@ -131,6 +134,8 @@ static IOSADManager * manager = nil; ...@@ -131,6 +134,8 @@ static IOSADManager * manager = nil;
} }
if (AdType == ADType_Video) { // 视频 if (AdType == ADType_Video) { // 视频
if (self.videoModels.count) { if (self.videoModels.count) {
if (self.cachevideo.count) { if (self.cachevideo.count) {
...@@ -146,17 +151,16 @@ static IOSADManager * manager = nil; ...@@ -146,17 +151,16 @@ 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) {
...@@ -214,7 +218,7 @@ static IOSADManager * manager = nil; ...@@ -214,7 +218,7 @@ static IOSADManager * manager = nil;
[self trackingADWith:adModel.clk_tracking.firstObject]; [self trackingADWith:adModel.clk_tracking.firstObject];
if (self.advertisingSpace) { if (self.advertisingSpace) {
[[CGUserManager shared] addLocCollection:self.advertisingSpace value:@"click_reward_video_ad"]; [[CGUserManager shared] addADLocCollection:self.advertisingSpace value:@"click_reward_video_ad" andADData:adModel];
} }
} }
...@@ -224,12 +228,18 @@ static IOSADManager * manager = nil; ...@@ -224,12 +228,18 @@ static IOSADManager * manager = nil;
/// @param AdType 广告类型 /// @param AdType 广告类型
- (void)loadAdWithData:(GYAdsTrackModel *)loadADModel withADType:(eADType )AdType;{ - (void)loadAdWithData:(GYAdsTrackModel *)loadADModel withADType:(eADType )AdType;{
NSLog(@">>>>>>> 准备缓存 平台 = %@ ID = %@ type= %@ <<<<<<<<<",loadADModel.adPlatform,loadADModel.codeId,loadADModel.slotName); NSLog(@">>>>>>> 准备缓存 平台 = %@ ID = %@ type= %@ <<<<<<<<<",loadADModel.adPlatform,loadADModel.codeId,loadADModel.slotName);
self.haveLodeAD = YES; self.haveLodeAD = YES;
loadADModel.loadADType = AdType; loadADModel.loadADType = AdType;
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"]) { // 穿山甲
...@@ -248,8 +258,6 @@ static IOSADManager * manager = nil; ...@@ -248,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];
}; };
...@@ -259,6 +267,8 @@ static IOSADManager * manager = nil; ...@@ -259,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"]){ // 广点通
...@@ -271,15 +281,15 @@ static IOSADManager * manager = nil; ...@@ -271,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"]){
...@@ -292,7 +302,6 @@ static IOSADManager * manager = nil; ...@@ -292,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];
...@@ -301,27 +310,29 @@ static IOSADManager * manager = nil; ...@@ -301,27 +310,29 @@ 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]) { //有数据
// 什么都不做或者 直接加载 // 什么都不做或者 直接加载
}else{ }else{
// 去加载 // 去加载
self.ruishiAd = nil; self.ruishiAd = nil;
AddRuiShiADManager * csjAd = [[AddRuiShiADManager alloc]init]; AddRuiShiADManager * csjAd = [[AddRuiShiADManager alloc]init];
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) { // 视频
...@@ -411,6 +422,7 @@ static IOSADManager * manager = nil; ...@@ -411,6 +422,7 @@ static IOSADManager * manager = nil;
if (weakSelf.videoModels.count <= 1) { if (weakSelf.videoModels.count <= 1) {
[weakSelf requestVideoAD]; [weakSelf requestVideoAD];
}else{ }else{
[weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video]; [weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video];
} }
...@@ -556,7 +568,7 @@ static IOSADManager * manager = nil; ...@@ -556,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];
...@@ -564,8 +576,6 @@ static IOSADManager * manager = nil; ...@@ -564,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{
...@@ -599,6 +609,8 @@ static IOSADManager * manager = nil; ...@@ -599,6 +609,8 @@ 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];
weakSelf.haveLodeAD = NO; weakSelf.haveLodeAD = NO;
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUD]; [MBProgressHUD hideHUD];
...@@ -613,6 +625,7 @@ static IOSADManager * manager = nil; ...@@ -613,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"];
...@@ -689,6 +702,8 @@ static IOSADManager * manager = nil; ...@@ -689,6 +702,8 @@ static IOSADManager * manager = nil;
} }
if(model.loadADType == ADType_Video){ if(model.loadADType == ADType_Video){
// [NSObject cancelPreviousPerformRequestsWithTarget:self];
[weakSelf clearCache:model]; [weakSelf clearCache:model];
weakSelf.adShowBlock(success); weakSelf.adShowBlock(success);
...@@ -696,18 +711,20 @@ static IOSADManager * manager = nil; ...@@ -696,18 +711,20 @@ static IOSADManager * manager = nil;
if (success) { if (success) {
[[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_success"]; [[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_success"];
if (self.advertisingSpace) { if (self.advertisingSpace) {
[[CGUserManager shared] addLocCollection:self.advertisingSpace value:@"show_suc_reward_viode_ad"]; [[CGUserManager shared] addADLocCollection:self.advertisingSpace value:@"show_suc_reward_viode_ad" andADData:model];
} }
[[CGNetworkTools shared] postWithAction:adsEndReport parameters:@{} success:^(id _Nonnull response) { [[CGNetworkTools shared] postWithAction:adsEndReport parameters:@{} success:^(id _Nonnull response) {
} 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) {
NSString * errorValue = [NSString stringWithFormat:@"show_fail_reward_video_ad_%@_%@_%@",model.adPlatform,model.codeId,model.ADError]; NSString * errorValue = [NSString stringWithFormat:@"show_fail_reward_video_ad_%@_%@_%@",model.adPlatform,model.codeId,model.ADError];
[[CGUserManager shared] addLocCollection:self.advertisingSpace value:errorValue]; [[CGUserManager shared] addADLocCollection:self.advertisingSpace value:errorValue andADData:model];
} }
} }
}else if(model.loadADType == ADType_OpenScreen){ }else if(model.loadADType == ADType_OpenScreen){
...@@ -765,6 +782,10 @@ static IOSADManager * manager = nil; ...@@ -765,6 +782,10 @@ static IOSADManager * manager = nil;
// 广告超时 // 广告超时
- (void)overtimeWith:(GYAdsTrackModel *)model{ - (void)overtimeWith:(GYAdsTrackModel *)model{
if (model.loadADType == ADType_Video) {
self.isTimeOut = YES;
}
} }
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
}else if (AdType == ADType_Video){ //视频 }else if (AdType == ADType_Video){ //视频
BURewardedVideoModel * rewardedModel = [[BURewardedVideoModel alloc] init]; BURewardedVideoModel * rewardedModel = [[BURewardedVideoModel alloc] init];
rewardedModel.userId = USERID; rewardedModel.userId = USERID;
self.rewardedAd = [[BUNativeExpressRewardedVideoAd alloc] initWithSlotID:model.codeId rewardedVideoModel:rewardedModel]; self.rewardedAd = [[BUNativeExpressRewardedVideoAd alloc] initWithSlotID:model.codeId rewardedVideoModel:rewardedModel];
......
...@@ -34,6 +34,12 @@ ...@@ -34,6 +34,12 @@
}else if (AdType == ADType_Video){ //视频 }else if (AdType == ADType_Video){ //视频
GYAdsTrackModel * oldData = [IOSADManager shareADManager].cachevideo.firstObject;
if ([oldData.adPlatform isEqualToString: @"ruishi"]) {
self.loadSuccessCallbackBlock(self.currentData, NO);
return;
}
NSString * ADID = model.codeId; NSString * ADID = model.codeId;
self.vlnVideoAD = [[VLNRewardedVideoAd alloc] initWithTagId:ADID]; self.vlnVideoAD = [[VLNRewardedVideoAd alloc] initWithTagId:ADID];
......
...@@ -33,6 +33,13 @@ ...@@ -33,6 +33,13 @@
[self.splashAd loadAdAndShow]; [self.splashAd loadAdAndShow];
}else if (AdType == ADType_Video){ //视频 }else if (AdType == ADType_Video){ //视频
GYAdsTrackModel * oldData = [IOSADManager shareADManager].cachevideo.firstObject;
if ([oldData.adPlatform isEqualToString: @"sigmob"]) {
weakSelf.loadSuccessCallbackBlock(weakSelf.currentData, NO);
return;
}
NSString * ADID = model.codeId; NSString * ADID = model.codeId;
WindAdRequest *request = [WindAdRequest request]; WindAdRequest *request = [WindAdRequest request];
...@@ -167,7 +174,6 @@ ...@@ -167,7 +174,6 @@
@param placementId 广告位Id @param placementId 广告位Id
*/ */
- (void)onVideoAdPlayEnd:(NSString *)placementId;{ - (void)onVideoAdPlayEnd:(NSString *)placementId;{
self.showSuccessCallbackBlock(self.currentData, YES);
} }
...@@ -189,6 +195,8 @@ ...@@ -189,6 +195,8 @@
*/ */
- (void)onVideoAdClicked:(NSString *)placementId;{ - (void)onVideoAdClicked:(NSString *)placementId;{
[self videoAdDidClick:self.currentData]; [self videoAdDidClick:self.currentData];
self.showSuccessCallbackBlock(self.currentData, YES);
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "CGUserInfoModel.h" #import "CGUserInfoModel.h"
#import "GYAdsTrackModel.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
...@@ -35,11 +36,17 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -35,11 +36,17 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getServiceInfo:(void(^)(void))success failure:(void(^)(void))failure; - (void)getServiceInfo:(void(^)(void))success failure:(void(^)(void))failure;
//埋点 //埋点
- (void)addLocCollection: (NSString *)action value: (NSString *)value; - (void)addLocCollection: (NSString *)action value: (NSString *)value;
/// 广告事件埋点数据埋点
/// @param action 动作
/// @param value 辅助参数
- (void)addADLocCollection: (NSString *)action value: (NSString *)value andADData:(GYAdsTrackModel *)model;
@property(nonatomic, strong) CGUserInfoModel *model; @property(nonatomic, strong) CGUserInfoModel *model;
@property(nonatomic, strong) NSString *network; @property(nonatomic, strong) NSString *network;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -204,6 +204,7 @@ static CGUserManager * manager; ...@@ -204,6 +204,7 @@ static CGUserManager * manager;
/// @param action 动作 /// @param action 动作
/// @param value 辅助参数 /// @param value 辅助参数
- (void)addLocCollection: (NSString *)action value: (NSString *)value{ - (void)addLocCollection: (NSString *)action value: (NSString *)value{
NSMutableDictionary *dict = @{@"event": @"guazinovel", @"action": action, @"value": value}.mutableCopy; NSMutableDictionary *dict = @{@"event": @"guazinovel", @"action": action, @"value": value}.mutableCopy;
[[CGNetworkTools shared] postWithLogCollection:logCollection parameters:dict success:^(id _Nullable __autoreleasing * _Nullable response) { [[CGNetworkTools shared] postWithLogCollection:logCollection parameters:dict success:^(id _Nullable __autoreleasing * _Nullable response) {
} failure:^(NSError * _Nonnull error) { } failure:^(NSError * _Nonnull error) {
...@@ -212,4 +213,31 @@ static CGUserManager * manager; ...@@ -212,4 +213,31 @@ static CGUserManager * manager;
[MobClick event:action label: value]; [MobClick event:action label: value];
} }
/// 广告事件埋点数据埋点
/// @param action 动作
/// @param value 辅助参数
- (void)addADLocCollection: (NSString *)action value: (NSString *)value andADData:(GYAdsTrackModel *)model {
// "action": "guangdiantong_cilck_null_reward_video_ad",
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
action = [NSString stringWithFormat:@"%@_%@_%@",model.adPlatform,action,value];
[dict setObject:action forKey: @"action"];
[dict setObject:model.codeId forKey:@"codeId"];
[dict setObject:@"guazinovel" forKey:@"event"];
[[CGNetworkTools shared] postWithLogCollection:logCollection parameters:dict success:^(id _Nullable __autoreleasing * _Nullable response) {
} failure:^(NSError * _Nonnull error) {
}];
[MobClick event:action label: value];
}
@end @end
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