REDeDelegate.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. //
  2. //
  3. #import <Foundation/Foundation.h>
  4. #import <StoreKit/StoreKit.h>
  5. typedef NS_ENUM(NSInteger,USERCENTER_TYPE){
  6. USERCENTER_TYPE_Guest = 0, //guest
  7. USERCENTER_TYPE_FB = 6, //FB
  8. USERCENTER_TYPE_Apple = 16, //Apple
  9. };
  10. typedef NS_ENUM(NSInteger, LoginEvent){
  11. LoginEvent_first_login_start,
  12. LoginEvent_login_start,
  13. LoginEvent_first_show_login_view,
  14. LoginEvent_show_login_view,
  15. LoginEvent_login_end_with_cancel,
  16. LoginEvent_login_end_with_success,
  17. LoginEvent_login_end_with_failed,
  18. LoginEvent_guest_login_start,
  19. LoginEvent_guest_login_end_with_failed,
  20. LoginEvent_guest_login_end_with_success,
  21. LoginEvent_auto_login_start,
  22. LoginEvent_auto_login_failed,
  23. LoginEvent_auto_login_success,
  24. LoginEvent_auto_login_cancel,
  25. LoginEvent_silent_login_start,
  26. LoginEvent_silent_login_lastUser_start,
  27. LoginEvent_silent_login_lastUser_success,
  28. LoginEvent_silent_login_lastUser_failed,
  29. LoginEvent_silent_login_guest_start,
  30. LoginEvent_silent_login_guest_success,
  31. LoginEvent_silent_login_guest_failed,
  32. LoginEvent_silent_login_type_start,
  33. LoginEvent_silent_login_type_lastUser_start,
  34. LoginEvent_silent_login_type_lastUser_success,
  35. LoginEvent_silent_login_type_lastUser_failed,
  36. LoginEvent_silent_login_type_newUser_start,
  37. LoginEvent_silent_login_type_newUser_failed,
  38. LoginEvent_silent_login_type_newUser_cancel,
  39. LoginEvent_silent_login_type_newUser_success,
  40. LoginEvent_silent_login_type_newUser_verify_start,
  41. LoginEvent_silent_login_type_newUser_verify_failed,
  42. LoginEvent_silent_login_type_newUser_verify_success,
  43. LoginEvent_facebook_login_start,
  44. LoginEvent_facebook_login_end_with_cancel,
  45. LoginEvent_facebook_login_end_with_failed,
  46. LoginEvent_facebook_login_end_with_success,
  47. LoginEvent_facebook_login_verify_start,
  48. LoginEvent_facebook_login_verify_failed,
  49. LoginEvent_facebook_login_verify_success,
  50. LoginEvent_apple_login_start,
  51. LoginEvent_apple_login_end_with_cancel,
  52. LoginEvent_apple_login_end_with_failed,
  53. LoginEvent_apple_login_end_with_success,
  54. LoginEvent_apple_login_verify_start,
  55. LoginEvent_apple_login_verify_failed,
  56. LoginEvent_apple_login_verify_success,
  57. };
  58. @protocol REDeInitCallback <NSObject>
  59. /* 初始化完成 */
  60. - (void)qgSDKInitDone;
  61. @end
  62. @protocol REDeLoginCallback <NSObject>
  63. /* 绑定回调 */
  64. - (void)bindUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type;
  65. /* 解绑回调 */
  66. - (void)unBindUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type;
  67. /* 在SDK的个人中心主动退出登录 */
  68. - (void)userLogout;
  69. @optional
  70. /* 登录成功与带登录方式实现其一即可 */
  71. - (void)loginUid:(NSString *)uid userToken:(NSString *)token;
  72. /* 登录成功带登录方式与不带登录方式实现其一即可 */
  73. - (void)loginUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type;
  74. /* 调用logout执行成功后执行回调,与用户在SDK的个人中心主动退出登录回调不同 */
  75. - (void)gameLogoutSuccess;
  76. /* 点击了个人中心的客服按钮时回调 */
  77. - (void)onClickServiceCenter;
  78. /** 登录之后游戏主动唤起SDK页面,关闭时会回调此方法 */
  79. - (void)sdkUserPageWillClose;
  80. /** 玩家取消登录,主要用于单独调起某个三方登录方法
  81. isShow:YES:玩家在登录界面显示的情况下取消三方登录,NO:玩家在登录界面未显示的情况下取消三方登录
  82. */
  83. - (void)userCancelLoginWithLoginPageShowing:(BOOL)isShow;
  84. /** 玩家登录失败,主要用于单独调起某个三方登录方法
  85. isShow:YES:玩家在登录界面显示的情况下登录失败,NO:玩家在登录界面未显示的情况下登录失败
  86. message:失败原因
  87. */
  88. - (void)userLoginFailWithLoginPageShowing:(BOOL)isShow message:(NSString *)message;
  89. /** 登录流程事件回调,
  90. loginEvent:事件枚举值
  91. message: failed事件返回失败原因,其他返回枚举值字符串
  92. */
  93. - (void)onEvent:(LoginEvent)loginEvent message:(NSString *)message;
  94. @end
  95. @protocol REDeBuyCallback <NSObject>
  96. @optional
  97. #pragma mark - 两个购买失败回调任选其一实现回调即可
  98. /* 购买失败,无回传参数 */
  99. - (void)purchaseFail;
  100. /* 购买失败,带回传参数
  101. productId 内购商品Id
  102. orderNo SDK订单号
  103. gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串
  104. errorCode 错误码 2:用户取消购买 -1:sdk内错误 -2:设备未开启内购 -3:找不到商品信息 0:未知错误编码 其他服务端返回错误或者apple返回错误码
  105. message 错误描述
  106. */
  107. - (void)purchaseFailWithProductId:(NSString *)productId gameOrderNo:(NSString *)gameOrderNo errorCode:(NSInteger)errorCode message:(NSString *)message;
  108. #pragma mark - 四个购买成功回调任选其一实现回调即可
  109. /* 这里的成功回调不能作为发货依据
  110. 购买完成回调
  111. productId 内购商品Id
  112. orderNo SDK订单号
  113. gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串
  114. receiptString 票据凭证
  115. */
  116. - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo appStoreReceiptBase64EncodedString:(NSString *)receiptString;
  117. /* 这里的成功回调不能作为发货依据
  118. 购买完成回调
  119. productId 内购商品Id
  120. orderNo SDK订单号
  121. gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串
  122. */
  123. - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo;
  124. /* 这里的成功回调不能作为发货依据
  125. 购买完成回调
  126. productId 内购商品Id
  127. orderNo SDK订单号
  128. */
  129. - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo;
  130. /* 这里的成功回调不能作为发货依据
  131. 购买完成回调
  132. productId 内购商品Id
  133. orderNo SDK订单号
  134. gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串
  135. tansaction 内购tansaction
  136. receiptData 内购票据信息*/
  137. - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo orderTransaction:(SKPaymentTransaction *)transaction receiptData:(NSData *)receiptData;
  138. @end
  139. @protocol REDeRestoreCallback <NSObject>
  140. /* 恢复非消耗商品成功,返回商品id信息 */
  141. - (void)restoreSuccess:(NSArray *)products;
  142. /*恢复失败*/
  143. - (void)restoreFail:(NSString *)msg;
  144. @end
  145. @protocol REProductInfoCallback <NSObject>
  146. /* 查找商品信息成功数组元素为REDeOrderInfo实例 */
  147. - (void)findProductInfoSuccess:(NSArray *)products;
  148. /* 查找商品信息失败 */
  149. - (void)findProductInfoFail:(NSString *)msg;
  150. @end