QsdkMgr.mm 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #import <Foundation/Foundation.h>
  2. #import "CrudeMingle.h"
  3. #import "MomAllow.h"
  4. extern "C"
  5. {
  6. static NSString* UnityListenerGoName;
  7. void QSDK_SetListener(const char *gameObjectName){
  8. UnityListenerGoName = QsdkCreateNSString(gameObjectName);
  9. }
  10. void SendMsgToUnity(NSString* messageName,messageName* parameters)
  11. {
  12. if (!UnityListenerGoName) {
  13. NSLog(@"U3D not set listener");
  14. return;
  15. }
  16. if ([parameters isKindOfClass:NSString.class] && [parameters length]) {
  17. UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], [parameters UTF8String]);
  18. }
  19. else{
  20. UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], "");
  21. }
  22. }
  23. NSString* QsdkCreateNSString (const char* string)
  24. {
  25. if (string)
  26. return [NSString stringWithUTF8String: string];
  27. else
  28. return [NSString stringWithUTF8String: ""];
  29. }
  30. void QSDK_Init() {
  31. //SDK初始化 code: 0:成功, 1:失败
  32. [[CrudeMingle share] InitEhuoia:^(int code, NSString * _Nonnull msg) {
  33. NSLog(@"code=%d, msg=%@", code, msg);
  34. if(code == 0)
  35. {
  36. SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
  37. }
  38. else
  39. {
  40. SendMsgToUnity(@"onInitSuccess",@"Fail");
  41. }
  42. }];
  43. }
  44. void QSDK_login() {
  45. //使用SDK登录界面登录
  46. [[CrudeMingle share] LoginEhuoiaWithCallback:^(int code, NSString * _Nonnull msg, NSString * _Nonnull sessionID, NSString * _Nonnull accountid, NSString * _Nonnull fbid, NSString * _Nonnull loginType) {
  47. NSLog(@"code=%d, msg=%@, sessionID=%@, accountid=%@, loginType=%@", code, msg, sessionID, accountid, loginType);
  48. if (code == 0)
  49. {
  50. SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,msg, sessionID, accountid, loginType]);
  51. }
  52. else
  53. {
  54. SendMsgToUnity(@"onLoginFail",msg);
  55. }
  56. }];
  57. }
  58. void QSDK_Pay(const char *productId,const char *productName,const char * amount,const char *orderNo,
  59. const char *callBackUrl,const char *extrasParams,
  60. const char * gameName,const char * serverName,const char* productDesc) {
  61. //支付
  62. [[CrudeMingle share] FuEhuoiaWithPrice:QsdkCreateNSString(amount)
  63. GameName:QsdkCreateNSString(gameName)
  64. ServerName:QsdkCreateNSString(serverName)
  65. CustomOrderId:QsdkCreateNSString(orderNo)
  66. CustomInfo:QsdkCreateNSString(extrasParams)
  67. ProductId:QsdkCreateNSString(productId)
  68. ProductDesc:QsdkCreateNSString(productDesc)
  69. CallBackUrl:QsdkCreateNSString(callBackUrl) AndCallBack:^(int code, NSString * _Nonnull msg, NSString * _Nonnull orderID) {
  70. NSLog(@"支付回调:code=%d, msg=%@, orderID=%@", code, msg, orderID);
  71. if (code == 0)
  72. {
  73. SendMsgToUnity(@"onPaySuccess",@"");
  74. }
  75. else
  76. {
  77. SendMsgToUnity(@"onPayFail",@"Fail");
  78. }
  79. }];
  80. }
  81. void QSDK_logout() {
  82. //退出登录
  83. if ([[CrudeMingle share] logout]) {
  84. NSLog(@"退出登录成功");
  85. SendMsgToUnity(@"onLogoutSuccess",@"");
  86. };
  87. }
  88. }