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

67 lines
2.3 KiB
Plaintext

#import <UnityMediationSdk/UnityMediationSdk.h>
#import <UnityMediationSdk/UMSInitializationConfiguration.h>
typedef void (*InitSuccessCallback)();
typedef void (*InitFailureCallback)(int, const char *);
static InitSuccessCallback s_InitializationSuccess;
static InitFailureCallback s_InitializationFailed;
@interface UMSPInitializeDelegate : NSObject <UMSInitializationDelegate>
@end
@implementation UMSPInitializeDelegate
- (void)onInitializationComplete {
dispatch_async(dispatch_get_main_queue(), ^{
if (s_InitializationSuccess) {
s_InitializationSuccess();
}
});
}
- (void)onInitializationFailed:(UMSSdkInitializationError)errorCode message:(NSString *)message {
dispatch_async(dispatch_get_main_queue(), ^{
if (s_InitializationFailed) {
s_InitializationFailed((int)errorCode, [message UTF8String]);
}
});
}
@end
#ifdef __cplusplus
extern "C" {
#endif
int UMSPUnityMediationGetInitializationState() {
return (int)[UMSUnityMediation getInitializationState];
}
const char * UMSPUnityMediationGetSdkVersion() {
return strdup([kUMSVersionString UTF8String]);
}
void UMSPUnityMediationInitialize(const char *gameId, InitSuccessCallback successCallback, InitFailureCallback failCallback, const char *installId) {
s_InitializationSuccess = successCallback;
s_InitializationFailed = failCallback;
NSString *convertedGameId = [NSString stringWithUTF8String:gameId];
NSString *convertedInstallId = [NSString stringWithUTF8String:installId];
NSString *installIdKey = @"installation_id";
UMSPInitializeDelegate *initializationDelegate = [UMSPInitializeDelegate new];
UMSInitializationConfiguration *initializationConfiguration = [[[[[UMSInitializationConfigurationBuilder builder]
setGameId:convertedGameId]
setInitializationDelegate:initializationDelegate]
setOption:convertedInstallId
forKey:installIdKey]
build];
[UMSUnityMediation initializeWithConfiguration:initializationConfiguration];
}
#ifdef __cplusplus
}
#endif