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;
[[CGUserManager shared] addLocCollection:@"click_flyBox_video_btn" value:@""];
[[CGUserManager shared] addLocCollection:@"play_adVideo_end_fly_box" value:@""];
[IOSADManager shareADManager].advertisingSpace = @"play_adVideo_end_fly_box";
[[IOSADManager shareADManager] showADType:ADType_Video resultBlock:^(BOOL success) {
if (success) {
......
......@@ -12,7 +12,8 @@
#import "AddRuiShiADManager.h"
#import "AppDelegate.h"
#define TIMEOUT (30)
#define TIMEOUT (20)
/// 广告工具类
@interface IOSADManager ()
......@@ -22,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
......@@ -131,6 +134,8 @@ static IOSADManager * manager = nil;
}
if (AdType == ADType_Video) { // 视频
if (self.videoModels.count) {
if (self.cachevideo.count) {
......@@ -146,17 +151,16 @@ 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) {
......@@ -214,7 +218,7 @@ static IOSADManager * manager = nil;
[self trackingADWith:adModel.clk_tracking.firstObject];
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];
}
}
......@@ -230,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"]) { // 穿山甲
......@@ -248,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];
};
......@@ -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(), ^{
});
[csjAd loadAdWithData:loadADModel withADType:AdType];
}
}else if ([loadADModel.adPlatform isEqualToString:@"guangdiantong"]){ // 广点通
......@@ -271,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"]){
......@@ -292,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];
......@@ -301,27 +310,29 @@ static IOSADManager * manager = nil;
[weakSelf blockResultShowWithData:model andSuccess:success];
};
[csjAd loadAdWithData:loadADModel withADType:AdType];
}
}else if ([loadADModel.adPlatform isEqualToString:@"ruishi"]){
if ([self contentADDataWith:loadADModel]) { //有数据
// 什么都不做或者 直接加载
}else{
// 去加载
self.ruishiAd = nil;
AddRuiShiADManager * csjAd = [[AddRuiShiADManager alloc]init];
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) { // 视频
......@@ -411,6 +422,7 @@ static IOSADManager * manager = nil;
if (weakSelf.videoModels.count <= 1) {
[weakSelf requestVideoAD];
}else{
[weakSelf loadAdWithData:weakSelf.videoModels[1] withADType:ADType_Video];
}
......@@ -556,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];
......@@ -564,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{
......@@ -599,6 +609,8 @@ static IOSADManager * manager = nil;
NSLog(@">>>>>>> 缓存 失败 平台 = %@ ID = %@ type= %@ <<<<<<<<<",model.adPlatform,model.codeId,model.slotName);
}
if(model.loadADType == ADType_Video){
[NSObject cancelPreviousPerformRequestsWithTarget:self];
weakSelf.haveLodeAD = NO;
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUD];
......@@ -613,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"];
......@@ -689,6 +702,8 @@ static IOSADManager * manager = nil;
}
if(model.loadADType == ADType_Video){
// [NSObject cancelPreviousPerformRequestsWithTarget:self];
[weakSelf clearCache:model];
weakSelf.adShowBlock(success);
......@@ -696,18 +711,20 @@ static IOSADManager * manager = nil;
if (success) {
[[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_success"];
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) {
} failure:^(NSError * _Nonnull error) {
}];
}else{
[MBProgressHUD showMessage:@"请重试"];
[[CGUserManager shared] addLocCollection:@"reward_request" value:@"reward_display_failed"];
if (self.advertisingSpace) {
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){
......@@ -765,6 +782,10 @@ static IOSADManager * manager = nil;
// 广告超时
- (void)overtimeWith:(GYAdsTrackModel *)model{
if (model.loadADType == ADType_Video) {
self.isTimeOut = YES;
}
}
......
......@@ -45,6 +45,7 @@
}else if (AdType == ADType_Video){ //视频
BURewardedVideoModel * rewardedModel = [[BURewardedVideoModel alloc] init];
rewardedModel.userId = USERID;
self.rewardedAd = [[BUNativeExpressRewardedVideoAd alloc] initWithSlotID:model.codeId rewardedVideoModel:rewardedModel];
......
......@@ -34,6 +34,12 @@
}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;
self.vlnVideoAD = [[VLNRewardedVideoAd alloc] initWithTagId:ADID];
......
......@@ -33,6 +33,13 @@
[self.splashAd loadAdAndShow];
}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;
WindAdRequest *request = [WindAdRequest request];
......@@ -167,7 +174,6 @@
@param placementId 广告位Id
*/
- (void)onVideoAdPlayEnd:(NSString *)placementId;{
self.showSuccessCallbackBlock(self.currentData, YES);
}
......@@ -189,6 +195,8 @@
*/
- (void)onVideoAdClicked:(NSString *)placementId;{
[self videoAdDidClick:self.currentData];
self.showSuccessCallbackBlock(self.currentData, YES);
}
......
......@@ -8,6 +8,7 @@
#import <Foundation/Foundation.h>
#import "CGUserInfoModel.h"
#import "GYAdsTrackModel.h"
NS_ASSUME_NONNULL_BEGIN
......@@ -35,11 +36,17 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getServiceInfo:(void(^)(void))success failure:(void(^)(void))failure;
//埋点
- (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) NSString *network;
@end
NS_ASSUME_NONNULL_END
......@@ -204,6 +204,7 @@ static CGUserManager * manager;
/// @param action 动作
/// @param value 辅助参数
- (void)addLocCollection: (NSString *)action value: (NSString *)value{
NSMutableDictionary *dict = @{@"event": @"guazinovel", @"action": action, @"value": value}.mutableCopy;
[[CGNetworkTools shared] postWithLogCollection:logCollection parameters:dict success:^(id _Nullable __autoreleasing * _Nullable response) {
} failure:^(NSError * _Nonnull error) {
......@@ -212,4 +213,31 @@ static CGUserManager * manager;
[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
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