#import @import OEGFramework; // 1. OEGActionType: // typedef enum { // Register = 0, // LoginOEGID, // LoginFacebook, // LoginGoogle, // LoginApple, // Playnow, // Logout, // Profile, // ChangePassword, // ForgotPassword, // VerifyEmail, // VerifyPhone, // Close // }OEGActionType; void SDK_OEG_AccountCallback(OEGActionType type, id _Nullable response, BOOL success, NSError * _Nullable error) { if(error) { NSLog(@"SDK_OEG_AccountCallback error:%@",error); } else { if(type == OEGActionType.Logout) { if(success) { NSLog(@"退出登录成功"); SendMsgToUnity(@"onLogoutSuccess",@""); } return; } if(success) { NSString status = response[@"status"]; NSString token = response[@"token"]; NSString uuid = response[@"uuid"]; NSString message = response[@"message"]; if(status == @"success") { int code = 0; SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,message, token, uuid, "111"]); } else { SendMsgToUnity(@"onLoginFail",message); } } } } // typedef enum { // OEGPurchasing = 0, // OEGPurchased, // Purchased with Apple and verify server error // OEGRestored, // OEGFailed, // OEGRequestError, // Request Product ID error // OEGVerified // Purchased with Apple and verify server success // }OEGIAPStatus; void SDK_OEG_Pay_IAPCallback(OEGIAPStatus status, NSString *message, NSError * _Nullable error) { if(error) { NSLog(@"error:%@",error); } else { if(status == OEGIAPStatus.OEGVerified) { SendMsgToUnity(@"onPaySuccess",@"支付Suc"); } else { SendMsgToUnity(@"onPayFail",@""); } } } extern "C" { static NSString* UnityListenerGoName; void QSDK_SetListener(const char *gameObjectName){ UnityListenerGoName = QsdkCreateNSString(gameObjectName); } void SendMsgToUnity(NSString* messageName,messageName* parameters) { if (!UnityListenerGoName) { NSLog(@"U3D not set listener"); return; } if ([parameters isKindOfClass:NSString.class] && [parameters length]) { UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], [parameters UTF8String]); } else{ UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], ""); } } NSString* QsdkCreateNSString (const char* string) { if (string) return [NSString stringWithUTF8String: string]; else return [NSString stringWithUTF8String: ""]; } void QSDK_Init() { SendMsgToUnity(@"onInitSuccess",@"Init:Init Success"); //SendMsgToUnity(@"onInitSuccess",@"Fail"); //SDK初始化 code: 0:成功, 1:失败 } void QSDK_login() { //使用SDK登录界面登录 [[OEGManager sharedManager] showLoginWithCallback : SDK_OEG_AccountCallback]; } void QSDK_Pay(const char *productId,const char *productName,const char * amount,const char *orderNo, const char *callBackUrl,const char *extrasParams, const char * gameName,const char * serverName, const char* productDesc, const char* serverID,const char* accountID,const char* roleID,const char* roleLv) { //支付 [[OEGManager sharedManager] inAppPurchaseWithServerID:QsdkCreateNSString(serverID) roleID:QsdkCreateNSString(roleID) levels:QsdkCreateNSString(roleLv) accountID:QsdkCreateNSString(accountID) productID:QsdkCreateNSString(productId) extInfo:QsdkCreateNSString(extrasParams) callback:SDK_OEG_Pay_IAPCallback]; } void QSDK_logout() { //退出登录 NSLog(@"U3D call SDK logout"); [[OEGManager sharedManager] logout]; } }