SquareDash/Library/PackageCache/com.unity.services.mediation@1.0.5/Runtime/Plugins/iOS/UMSPInterstitialAdLoadDelegate.mm
kingjuulian06 0efb85038a Arbeit 2
2023-11-21 22:03:49 +01:00

58 lines
1.6 KiB
Plaintext

#import "UMSPInterstitialAdLoadDelegate.h"
@implementation UMSPInterstitialAdLoadDelegate
- (id)initWithSuccessCallback:(LoadSuccessCallback)loadSuccess failCallback:(LoadFailCallback)loadFail {
self = [super init];
if (self) {
self.loadSuccess = loadSuccess;
self.loadFail = loadFail;
}
return self;
}
- (void)onInterstitialFailedLoad:(UMSInterstitialAd *)interstitialAd error:(UMSLoadError)error message:(NSString *)message {
dispatch_async(dispatch_get_main_queue(), ^{
if (self.loadFail) {
self.loadFail((__bridge void *)interstitialAd, (int)error, [message UTF8String]);
}
});
}
- (void)onInterstitialLoaded:(UMSInterstitialAd *)interstitialAd {
dispatch_async(dispatch_get_main_queue(), ^{
if (self.loadSuccess) {
self.loadSuccess((__bridge void *)interstitialAd);
}
});
}
@end
#ifdef __cplusplus
extern "C" {
#endif
void * UMSPInterstitialAdLoadDelegateCreate(LoadSuccessCallback loadSuccessCallback, LoadFailCallback loadFailCallback) {
UMSPInterstitialAdLoadDelegate *delegate = [[UMSPInterstitialAdLoadDelegate alloc]
initWithSuccessCallback:loadSuccessCallback
failCallback:loadFailCallback];
return (__bridge_retained void *)delegate;
}
void UMSPInterstitialAdLoadDelegateDestroy(void *ptr) {
if (!ptr) return;
UMSPInterstitialAdLoadDelegate *delegate = (__bridge_transfer UMSPInterstitialAdLoadDelegate *)ptr;
delegate.loadSuccess = nil;
delegate.loadFail = nil;
}
#ifdef __cplusplus
}
#endif