| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- #import <Foundation/Foundation.h>
- @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];
- }
- }
|