Skip to content

Commit

Permalink
WrapperStore added in iOS
Browse files Browse the repository at this point in the history
  • Loading branch information
kushG committed Sep 13, 2023
1 parent 821715c commit c555019
Showing 1 changed file with 20 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ const void serializePlacementLoadWithError(NSString *placementName, NSString *re
}

static NSMutableDictionary * storedAds;
static NSMutableDictionary * storedWrappers;
enum fullscreenEvents {RecordImpression = 0, Click = 1, Reward = 2, Close = 3, Expire = 4};
enum bannerEvents {BannerAppear = 0, BannerClick = 1, BannerRecordImpression = 2 };

Expand Down Expand Up @@ -212,6 +213,18 @@ - (void)releaseAd:(NSNumber*)adId placementName:(NSString *)placementName multiP
}
}

- (void)storeWrapper:(id) wrapper forAd:(id)ad{
if(storedWrappers == nil) {
storedWrappers = [[NSMutableDictionary alloc] init];
}
NSNumber *key = [NSNumber numberWithLong:(long)ad];
[storedWrappers setObject:wrapper forKey:key];
}

- (void)releaseWrapperForAd:(NSNumber*)ad {
[storedWrappers removeObjectForKey:ad];
}

- (void)subscribeToPartnerInitializationNotifications
{
static id partnerInitializationObserver = nil;
Expand Down Expand Up @@ -268,7 +281,9 @@ - (void)serializeFullscreenEvent: (id<ChartboostMediationFullscreenAd>)ad fulls

- (void)serializeBannerEvent: (ChartboostMediationBannerView*) ad bannerEvent:(bannerEvents)bannerEvent {

_bannerAdEvents((long)ad, (int)bannerEvent);
NSNumber *key = [NSNumber numberWithLong:(long)ad];
ChartboostMediationBannerAdWrapper *wrapper = [storedWrappers objectForKey:key];
_bannerAdEvents((long)wrapper, (int)bannerEvent);
}

- (UIViewController*) getBannerViewController: (ChartboostMediationBannerView*) bannerView size:(CGSize)size x:(float) x y:(float) y {
Expand Down Expand Up @@ -461,6 +476,7 @@ - (void)didExpireWithAd:(id <ChartboostMediationFullscreenAd> _Nonnull)ad {

#pragma mark ChartboostMediationBannerAdDelegate
- (void)willAppearWithBannerView:(ChartboostMediationBannerView *)bannerView {
NSLog(@"WillAppear");
[self serializeBannerEvent:bannerView bannerEvent:BannerAppear];
}

Expand Down Expand Up @@ -913,6 +929,7 @@ void _chartboostMediationFreeAdObject(const void * uniqueId, const char * placem

ChartboostMediationBannerAdWrapper *wrapper = [[ChartboostMediationBannerAdWrapper alloc] initWithBannerView:bannerView andDragListener:dragListener];
[[ChartboostMediationObserver sharedObserver] storeAd:wrapper placementName:nil multiPlacementSupport:true];
[[ChartboostMediationObserver sharedObserver] storeWrapper:wrapper forAd:bannerView];

return (__bridge void*)wrapper;
}
Expand Down Expand Up @@ -1073,6 +1090,8 @@ void _chartboostMediationBannerViewDestroy(const void * uniqueId)
ChartboostMediationBannerView* bannerView = _getBannerView(uniqueId);
[bannerView removeFromSuperview];
[[ChartboostMediationObserver sharedObserver] releaseAd: [NSNumber numberWithLong:(long)uniqueId] placementName:nil multiPlacementSupport:true];

[[ChartboostMediationObserver sharedObserver] releaseWrapperForAd:[NSNumber numberWithLong:(long)bannerView]];
});
}

Expand Down

0 comments on commit c555019

Please sign in to comment.