| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- //
- // YWSDKBridge.m
- // YWBeginDemo
- //
- // Created by 吴博 on 2021/3/24.
- //
- #import <Foundation/Foundation.h>
- #import "YWBeginSDK.h"
- #import "Unity/UnityInterface.h"
- @interface YWSDKBridge : NSObject
- + (instancetype)sharedInstance;
- @property (nonatomic, assign) NSString *callbackGoName;
- @property (nonatomic, assign) BOOL skipLogoutNtf;
- @end
- @implementation YWSDKBridge
- + (instancetype)sharedInstance {
- static YWSDKBridge *uiInit = nil;
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- uiInit = [[YWSDKBridge alloc] init];
- });
- return uiInit;
- }
- - (instancetype)init
- {
- self = [super init];
- self.callbackGoName = nil;
- self.skipLogoutNtf = false;
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(InitCallback:) name:kPlatsFormGameManagerInitNotify object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(LoginCallback:) name:kPlatsFormGameManagerLoginSuccessNotify object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(LogoutCallback:) name:kPlatsFormGameManagerLogoutNotify object:nil];
- return self;
- }
- - (void)dealloc
- {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- self.callbackGoName = nil;
- self.skipLogoutNtf = false;
- }
- - (BOOL)IsNullString:(NSString *)string {
- if (string == nil || string == NULL) {
- return YES;
- }
- if ([string isKindOfClass:[NSNull class]]) {
- return YES;
- }
- if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0) {
- return YES;
- }
- return NO;
- }
- - (void)CallBackUnity:(NSString*) methodName msgData:(NSString*) msgData {
- if ([self IsNullString:self.callbackGoName]) {
- return;
- }
- if ([self IsNullString:methodName]) {
- return;
- }
- UnitySendMessage([self.callbackGoName UTF8String], [methodName UTF8String], [msgData UTF8String]);
- }
- - (void)SetCallbackGoName:(NSString *) callbackGoName {
- self.callbackGoName = callbackGoName;
- }
- - (void)Init
- {
- NSString *gameId = @"";
- NSString *appKey = @"";
- NSString *vestId = @"";
- NSDictionary<NSString *, id> *infoDictionary = [NSBundle mainBundle].infoDictionary;
- id value = [infoDictionary objectForKey:@"YouYi_GameId"];
- if (value != NULL && [value isKindOfClass:[NSString class]]) {
- gameId = (NSString *)value;
- }
- value = [infoDictionary objectForKey:@"YouYi_AppKey"];
- if (value != NULL && [value isKindOfClass:[NSString class]]) {
- appKey = (NSString *)value;
- }
- value = [infoDictionary objectForKey:@"YouYi_VestId"];
- if (value != NULL && [value isKindOfClass:[NSString class]]) {
- vestId = (NSString *)value;
- }
- [[YWBeginSDK standardDeafaults] ywInterfaceLaunchConfigAppKey:appKey gameId:gameId vestId:vestId];
- [self CallBackUnity:@"OnInitSuccess" msgData:@""];
- }
- - (void)InitCallback:(NSNotification *)note
- {
- // if (note == nil || note.object == nil)
- // {
- // [self CallBackUnity:@"OnInitFailed" msgData:@""];
- // return;
- // }
- // NSDictionary* objDic = note.object;
- // BOOL result = [objDic objectForKey:@"result"];
- // if (!result)
- // {
- // [self CallBackUnity:@"OnInitFailed" msgData:@""];
- // return;
- // }
- // [self CallBackUnity:@"OnInitSuccess" msgData:@""];
- }
- - (void)Login
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceLogin];
- }
- - (void)LoginCallback:(NSNotification *)note
- {
- if (note == nil || note.object == nil)
- {
- [self CallBackUnity:@"OnLoginFailed" msgData:@""];
- return;
- }
- NSDictionary* objDic = note.object;
- BOOL result = (BOOL)[objDic objectForKey:@"result"];
- if (!result)
- {
- [self CallBackUnity:@"OnLoginFailed" msgData:@""];
- return;
- }
- NSDictionary* dataDic = (NSDictionary*)[objDic objectForKey:@"data"];
- NSString* token = (NSString *)[dataDic objectForKey:@"oauth_token"];
- [self CallBackUnity:@"OnLoginSuccess" msgData:token];
- }
- - (void)Logout
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceLogout];
- }
- - (void)LogoutCallback:(NSNotification *)note
- {
- if (self.skipLogoutNtf)
- {
- self.skipLogoutNtf = false;
- return;
- }
- if (note == nil || note.object == nil)
- {
- return;
- }
- NSDictionary* objDic = note.object;
- BOOL result = (BOOL)[objDic objectForKey:@"result"];
- if (!result)
- {
- return;
- }
- [self CallBackUnity:@"OnLogoutSuccess" msgData:@""];
- }
- - (void)SwitchAccount
- {
- self.skipLogoutNtf = true;
- [self Logout];
- [self Login];
- }
- - (void)Pay:(NSString*)cpOrderId
- goodsId:(NSString*)goodsId
- goodsName:(NSString*)goodsName
- roleId:(NSString*)roleId
- roleName:(NSString*)roleName
- roleLevel:(NSString*)roleLevel
- serverId:(NSString*)serverId
- serverName:(NSString*)serverName
- amount:(NSString*)amount
- extend_params:(NSString *)extend_params
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceCpOrderId:cpOrderId goodsId:goodsId goodsName:goodsName roleId:roleId roleName:roleName level:roleLevel serverId:serverId serverName:serverName amount:amount extend_params:extend_params];
- }
- - (void)CreateRoleReportData:(NSString*)roleId
- roleName:(NSString*)roleName
- roleLevel:(NSString*)roleLevel
- serverId:(NSString*)serverId
- serverName:(NSString*)serverName
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceUploadRoleId:roleId roleName:roleName roleLevel:roleLevel serverId:serverId serverName:serverName];
- }
- - (void)RoleEnterGameReportData:(NSString*)roleId
- roleName:(NSString*)roleName
- roleLevel:(NSString*)roleLevel
- serverId:(NSString*)serverId
- serverName:(NSString*)serverName
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceRoleLogReportBeforePlayRole_id:roleId role_name:roleName level:roleLevel server_id:serverId server_name:serverName];
- }
- - (void)RoleUpLevelReportData:(NSString*)roleId
- roleName:(NSString*)roleName
- roleLevel:(NSString*)roleLevel
- serverId:(NSString*)serverId
- serverName:(NSString*)serverName
- {
- [[YWBeginSDK standardDeafaults] ywInterfaceLevelLogBatchReportRoleId:roleId roleName:roleName roleLevel:roleLevel serverId:serverId serverName:serverName];
- }
- @end
- extern "C" void YouYi_SetCallbackGoName(const char* callbackGoName)
- {
- [[YWSDKBridge sharedInstance] SetCallbackGoName:[NSString stringWithUTF8String:callbackGoName]];
- }
- extern "C" void YouYi_Init()
- {
- [[YWSDKBridge sharedInstance] Init];
- }
- extern "C" void YouYi_Login()
- {
- [[YWSDKBridge sharedInstance] Login];
- }
- extern "C" void YouYi_Logout()
- {
- [[YWSDKBridge sharedInstance] Logout];
- }
- extern "C" void YouYi_SwitchAccount()
- {
- [[YWSDKBridge sharedInstance] SwitchAccount];
- }
- extern "C" void YouYi_Pay(const char* cpOrderId, const char* goodsId,
- const char* goodsName, const char* roleId,
- const char* roleName, const char* roleLevel,
- const char* serverId, const char* serverName,
- const char* amount, const char* extrasParams)
- {
- [[YWSDKBridge sharedInstance] Pay:[NSString stringWithUTF8String:cpOrderId]
- goodsId:[NSString stringWithUTF8String:goodsId]
- goodsName:[NSString stringWithUTF8String:goodsName]
- roleId:[NSString stringWithUTF8String:roleId]
- roleName:[NSString stringWithUTF8String:roleName]
- roleLevel:[NSString stringWithUTF8String:roleLevel]
- serverId:[NSString stringWithUTF8String:serverId]
- serverName:[NSString stringWithUTF8String:serverName]
- amount:[NSString stringWithUTF8String:amount]
- extend_params:[NSString stringWithUTF8String:extrasParams]];
- }
- extern "C" void YouYi_CreateRoleReportData(const char* roleId, const char* roleName,
- const char* roleLevel, const char* serverId,
- const char* serverName)
- {
- [[YWSDKBridge sharedInstance] CreateRoleReportData:[NSString stringWithUTF8String:roleId]
- roleName:[NSString stringWithUTF8String:roleName]
- roleLevel:[NSString stringWithUTF8String:roleLevel]
- serverId:[NSString stringWithUTF8String:serverId]
- serverName:[NSString stringWithUTF8String:serverName]];
- }
- extern "C" void YouYi_RoleEnterGameReportData(const char* roleId, const char* roleName,
- const char* roleLevel, const char* serverId,
- const char* serverName)
- {
- [[YWSDKBridge sharedInstance] RoleEnterGameReportData:[NSString stringWithUTF8String:roleId]
- roleName:[NSString stringWithUTF8String:roleName]
- roleLevel:[NSString stringWithUTF8String:roleLevel]
- serverId:[NSString stringWithUTF8String:serverId]
- serverName:[NSString stringWithUTF8String:serverName]];
- }
- extern "C" void YouYi_RoleUpLevelReportData(const char* roleId, const char* roleName,
- const char* roleLevel, const char* serverId,
- const char* serverName)
- {
- [[YWSDKBridge sharedInstance] RoleUpLevelReportData:[NSString stringWithUTF8String:roleId]
- roleName:[NSString stringWithUTF8String:roleName]
- roleLevel:[NSString stringWithUTF8String:roleLevel]
- serverId:[NSString stringWithUTF8String:serverId]
- serverName:[NSString stringWithUTF8String:serverName]];
- }
|