| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- #import <Foundation/Foundation.h>
- #import <SPSDK/SPSDK.h>
- 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 SDK_observer_CallBack(SPSDKEvent event, NSDictionary *data)
- {
- switch(event)
- {
- case SPSDKEventLogout:
- {
- //
- NSLog(@"退出登录成功");
- SendMsgToUnity(@"onLogoutSuccess",@"");
- }
- break;
- default:
- break;
- }
- }
- void SDK_Init_Callback(BOOL success, id data)
- {
- if(success)
- {
- SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
- }
- else
- {
- SendMsgToUnity(@"onInitSuccess",@"Fail");
- }
- }
- void SDK_Logout_Callback(BOOL success, id data)
- {
- }
- void SDK_Login_Callback(BOOL success, SPUserData *data)
- {
- if (success)
- {
- //[self log:[NSString stringWithFormat:@"登录成功:%@",data.username]];
- int code = 0;
- SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,"success", data.token, data.username, data.timestamp]);
- }else
- {
- //[self log:[NSString stringWithFormat:@"登录失败❌:%@",data]];
- SendMsgToUnity(@"onLoginFail",[NSString stringWithFormat:@"登录失败:%@",data]);
- }
- }
- void SDK_Pay_Callback(BOOL success, id data)
- {
- if(success)
- {
- SendMsgToUnity(@"onPaySuccess",@"支付Suc");
- }
- else
- {
- SendMsgToUnity(@"onPayFail",@"");
- }
- }
- void SDK_UpdateRoleInfo_Callback(BOOL success, id data)
- {
- }
- //=============================回调函数=============================================
- //=============================回调函数=============================================
- extern "C"
- {
- static NSString* UnityListenerGoName;
- void QSDK_SetListener(const char *gameObjectName){
- UnityListenerGoName = QsdkCreateNSString(gameObjectName);
- }
-
- void QSDK_Init() {
- //SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
- //SendMsgToUnity(@"onInitSuccess",@"Fail");
- //SDK初始化 code: 0:成功, 1:失败
- NSDictionary *game = @{
- // @"timestamp":@"XXXX",///设置此值来切换线上域名
- // @"tempDomain":@"",///设置此值来切换线上域名
- @"gameId":@"7",///替换为实际游戏id
- };
- [SPSDK.instance registerGame:game callback:SDK_Init_Callback];
- SPSDK.instance.observer = SDK_observer_CallBack;
- }
- void QSDK_login()
- {
- //使用SDK登录界面登录
- [SPSDK.instance login:SDK_Login_Callback]
- }
- 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) {
-
- //支付
- SPProductData *product = [SPProductData new];
- product.productId = QsdkCreateNSString(productId);
- product.productName = QsdkCreateNSString(productName);
- product.amount =QsdkCreateNSString(amount);
- product.extra = QsdkCreateNSString(extrasParams);
- [SPSDK.instance pay:product callback:SDK_Pay_Callback];
-
- }
- void QSDK_logout() {
-
- //退出登录
- NSLog(@"U3D call SDK logout");
- [SPSDK.instance logout:SDK_Logout_Callback];
- }
- void QSDK_UpdateRoleInfo(int type,const char * roleName,const char * roleId,
- const char * roleLv, const char * serverName,
- const char * serverId,const char * extra)
- {
- SPSDKReportType RType = SPSDKReportTypeOnlinePeriod;
- if(type == 0)
- {
- RType = SPSDKReportTypeCreateRole;
- }
- else if(type == 1)
- {
- RType = SPSDKReportTypeEnterGame;
- }
- else
- {
- return;
- }
- SPRoleData *roleData = [SPRoleData new];
- roleData.roleName =QsdkCreateNSString(roleName);
- roleData.roleLevel = QsdkCreateNSString(roleLv);
- roleData.roleId = QsdkCreateNSString(roleId);
- roleData.serverId = QsdkCreateNSString(serverID);
- roleData.serverName = QsdkCreateNSString(serverName);
- [SPSDK.instance reportRole:roleData type:RType callback:SDK_UpdateRoleInfo_Callback];
- }
- }
|