// // #import #import typedef NS_ENUM(NSInteger,USERCENTER_TYPE){ USERCENTER_TYPE_Guest = 0, //guest USERCENTER_TYPE_FB = 6, //FB USERCENTER_TYPE_Apple = 16, //Apple }; typedef NS_ENUM(NSInteger, LoginEvent){ LoginEvent_first_login_start, LoginEvent_login_start, LoginEvent_first_show_login_view, LoginEvent_show_login_view, LoginEvent_login_end_with_cancel, LoginEvent_login_end_with_success, LoginEvent_login_end_with_failed, LoginEvent_guest_login_start, LoginEvent_guest_login_end_with_failed, LoginEvent_guest_login_end_with_success, LoginEvent_auto_login_start, LoginEvent_auto_login_failed, LoginEvent_auto_login_success, LoginEvent_auto_login_cancel, LoginEvent_silent_login_start, LoginEvent_silent_login_lastUser_start, LoginEvent_silent_login_lastUser_success, LoginEvent_silent_login_lastUser_failed, LoginEvent_silent_login_guest_start, LoginEvent_silent_login_guest_success, LoginEvent_silent_login_guest_failed, LoginEvent_silent_login_type_start, LoginEvent_silent_login_type_lastUser_start, LoginEvent_silent_login_type_lastUser_success, LoginEvent_silent_login_type_lastUser_failed, LoginEvent_silent_login_type_newUser_start, LoginEvent_silent_login_type_newUser_failed, LoginEvent_silent_login_type_newUser_cancel, LoginEvent_silent_login_type_newUser_success, LoginEvent_silent_login_type_newUser_verify_start, LoginEvent_silent_login_type_newUser_verify_failed, LoginEvent_silent_login_type_newUser_verify_success, LoginEvent_facebook_login_start, LoginEvent_facebook_login_end_with_cancel, LoginEvent_facebook_login_end_with_failed, LoginEvent_facebook_login_end_with_success, LoginEvent_facebook_login_verify_start, LoginEvent_facebook_login_verify_failed, LoginEvent_facebook_login_verify_success, LoginEvent_apple_login_start, LoginEvent_apple_login_end_with_cancel, LoginEvent_apple_login_end_with_failed, LoginEvent_apple_login_end_with_success, LoginEvent_apple_login_verify_start, LoginEvent_apple_login_verify_failed, LoginEvent_apple_login_verify_success, }; @protocol REDeInitCallback /* 初始化完成 */ - (void)qgSDKInitDone; @end @protocol REDeLoginCallback /* 绑定回调 */ - (void)bindUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type; /* 解绑回调 */ - (void)unBindUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type; /* 在SDK的个人中心主动退出登录 */ - (void)userLogout; @optional /* 登录成功与带登录方式实现其一即可 */ - (void)loginUid:(NSString *)uid userToken:(NSString *)token; /* 登录成功带登录方式与不带登录方式实现其一即可 */ - (void)loginUid:(NSString *)uid userToken:(NSString *)token type:(USERCENTER_TYPE)type; /* 调用logout执行成功后执行回调,与用户在SDK的个人中心主动退出登录回调不同 */ - (void)gameLogoutSuccess; /* 点击了个人中心的客服按钮时回调 */ - (void)onClickServiceCenter; /** 登录之后游戏主动唤起SDK页面,关闭时会回调此方法 */ - (void)sdkUserPageWillClose; /** 玩家取消登录,主要用于单独调起某个三方登录方法 isShow:YES:玩家在登录界面显示的情况下取消三方登录,NO:玩家在登录界面未显示的情况下取消三方登录 */ - (void)userCancelLoginWithLoginPageShowing:(BOOL)isShow; /** 玩家登录失败,主要用于单独调起某个三方登录方法 isShow:YES:玩家在登录界面显示的情况下登录失败,NO:玩家在登录界面未显示的情况下登录失败 message:失败原因 */ - (void)userLoginFailWithLoginPageShowing:(BOOL)isShow message:(NSString *)message; /** 登录流程事件回调, loginEvent:事件枚举值 message: failed事件返回失败原因,其他返回枚举值字符串 */ - (void)onEvent:(LoginEvent)loginEvent message:(NSString *)message; @end @protocol REDeBuyCallback @optional #pragma mark - 两个购买失败回调任选其一实现回调即可 /* 购买失败,无回传参数 */ - (void)purchaseFail; /* 购买失败,带回传参数 productId 内购商品Id orderNo SDK订单号 gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串 errorCode 错误码 2:用户取消购买 -1:sdk内错误 -2:设备未开启内购 -3:找不到商品信息 0:未知错误编码 其他服务端返回错误或者apple返回错误码 message 错误描述 */ - (void)purchaseFailWithProductId:(NSString *)productId gameOrderNo:(NSString *)gameOrderNo errorCode:(NSInteger)errorCode message:(NSString *)message; #pragma mark - 四个购买成功回调任选其一实现回调即可 /* 这里的成功回调不能作为发货依据 购买完成回调 productId 内购商品Id orderNo SDK订单号 gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串 receiptString 票据凭证 */ - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo appStoreReceiptBase64EncodedString:(NSString *)receiptString; /* 这里的成功回调不能作为发货依据 购买完成回调 productId 内购商品Id orderNo SDK订单号 gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串 */ - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo; /* 这里的成功回调不能作为发货依据 购买完成回调 productId 内购商品Id orderNo SDK订单号 */ - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo; /* 这里的成功回调不能作为发货依据 购买完成回调 productId 内购商品Id orderNo SDK订单号 gameOrderNo 游戏订单号,如果本地缓存被清理会返回空字符串 tansaction 内购tansaction receiptData 内购票据信息*/ - (void)purchaseDoneProductId:(NSString *)productId orderNo:(NSString *)orderNo gameOrderNo:(NSString *)gameOrderNo orderTransaction:(SKPaymentTransaction *)transaction receiptData:(NSData *)receiptData; @end @protocol REDeRestoreCallback /* 恢复非消耗商品成功,返回商品id信息 */ - (void)restoreSuccess:(NSArray *)products; /*恢复失败*/ - (void)restoreFail:(NSString *)msg; @end @protocol REProductInfoCallback /* 查找商品信息成功数组元素为REDeOrderInfo实例 */ - (void)findProductInfoSuccess:(NSArray *)products; /* 查找商品信息失败 */ - (void)findProductInfoFail:(NSString *)msg; @end