AntiAddiction.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //
  2. // AntiAddiction.h
  3. // AntiAddictionUI
  4. //
  5. // Created by jessy on 2021/9/22.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #import <AntiAddictionService/AntiAddictionService-Swift.h>
  9. #import <AntiAddictionUI/AntiAddictionUI.h>
  10. #define AntiAddictionSDK @"AntiAddiction"
  11. NS_ASSUME_NONNULL_BEGIN
  12. typedef NS_ENUM(NSInteger, AntiAddictionResultHandlerCode) {
  13. AntiAddictionResultHandlerLoginSuccess = 500, //登录成功
  14. AntiAddictionResultHandlerExited = 1000, //登录成功
  15. AntiAddictionResultHandlerSwitchAccount = 1001, // 切换账号
  16. AntiAddictionResultHandlerPeriodRestrict = 1030, // 达到宵禁时间,不可玩游戏
  17. AntiAddictionResultHandlerDurationLimit = 1050, // 可玩时长耗尽,不可玩游戏
  18. AntiAddictionResultHandlerRealNameStop = 9002, // 实名过程中点击了关闭实名窗
  19. AntiAddictionResultHandlerLoginLogout __attribute__((deprecated("Please use AntiAddictionResultHandlerExited"))) = 1000, //用户登出
  20. AntiAddictionResultHandlerTimeLimit __attribute__((deprecated("Please use AntiAddictionResultHandlerPeriodRestrict"))) = 1030, // 用户当前无法进行游戏
  21. AntiAddictionResultHandlerOpenAlert __attribute__((deprecated("Not supported in future versions"))) = 1095, // 未成年允许游戏弹窗
  22. };
  23. typedef NS_ENUM(NSInteger, AntiAddictionAgeLimit) {
  24. AntiAddictionAgeLimitUnknown = -1,
  25. AntiAddictionAgeLimitChild = 0,
  26. AntiAddictionAgeLimitTeen = 8,
  27. AntiAddictionAgeLimitYoung = 16,
  28. AntiAddictionAgeLimitAdult = 18,
  29. };
  30. @protocol AntiAddictionDelegate <NSObject>
  31. - (void)antiAddictionCallbackWithCode:(AntiAddictionResultHandlerCode)code extra:(NSString * _Nullable)extra;
  32. @end
  33. @interface AntiAddiction : NSObject
  34. /// 初始化
  35. /// @param config 防沉迷配置
  36. /// @param delegate 回调代理
  37. + (void)initWithConfig:(AntiAddictionConfig *)config delegate:(id<AntiAddictionDelegate>)delegate;
  38. /// 启动防沉迷&实名系统
  39. /// @param userID 游戏维度的用户唯一标识
  40. + (void)startupWithUserID:(NSString *)userID;
  41. /// 退出防沉迷&实名系统
  42. + (void)exit;
  43. /// 进入游戏
  44. + (void)enterGame;
  45. /// 离开游戏
  46. + (void)leaveGame;
  47. /// 获取用户年龄段
  48. + (AntiAddictionAgeLimit)getAgeRange;
  49. /// 获取用户剩余时长(单位:秒)
  50. + (NSInteger)getRemainingTime;
  51. /// 获取用户剩余时长(单位:分钟)
  52. + (NSInteger)getRemainingTimeInMinutes;
  53. /// 查询能否支付
  54. /// @param amount 支付金额,单位分
  55. /// @param resultBlock 能否成功
  56. /// @param failureHandler 查询能否支付失败(一般网络错误)
  57. + (void)checkPayLimit:(NSInteger)amount resultBlock:(void(^ _Nullable)(BOOL status))resultBlock failureHandler:(void (^ _Nullable)(NSString * _Nonnull error))failureHandler;
  58. /// 上报消费结果
  59. /// @param amount 支付金额,单位分
  60. /// @param callBack 上报是否成功
  61. /// @param failureHandler 上报消费结果失败(一般网络错误)
  62. + (void)submitPayResult:(NSInteger)amount callBack:(void(^ _Nullable)(BOOL success))callBack failureHandler:(void (^ _Nullable)(NSString * _Nonnull error))failureHandler;
  63. ///获取当前防沉迷Token
  64. + (NSString *)currentToken;
  65. + (void)initGameIdentifier:(NSString *)gameIdentifier antiAddictionConfig:(AntiAddictionConfiguration *)config antiAddictionCallbackDelegate:(id<AntiAddictionDelegate>)delegate completionHandler:(void(^)(BOOL))com __attribute__((deprecated("Please use [AntiAddiction initWithConfig:delegate:]")));
  66. + (void)startUpUseTapLogin:(BOOL)useTapLogin userIdentifier:(NSString *)userIdentifier __attribute__((deprecated("Please use [AntiAddiction startupWithUserID:]")));
  67. + (NSInteger)getCurrentUserAgeLimite __attribute__((deprecated("Please use [AntiAddiction getAgeRange]")));
  68. + (NSInteger)getCurrentUserRemainTime __attribute__((deprecated("Please use [AntiAddiction getRemainingTime]")));
  69. + (void)checkPayLimit:(NSInteger)amount callBack:(void (^ _Nullable)(BOOL status, NSString * _Nonnull title, NSString * _Nonnull description))callBack failureHandler:(void (^ _Nullable)(NSString * _Nonnull))failureHandler __attribute__((deprecated("Please use [AntiAddiction checkPayLimit:resultBlock:failureHandler:]")));
  70. + (BOOL)isStandAlone __attribute__((deprecated("Not supported in future versions")));
  71. + (void)logout __attribute__((deprecated("Please use [AntiAddiction exit]")));
  72. + (NSString *)getSDKVersion __attribute__((deprecated("Please use AntiAddictionSDK_VERSION")));
  73. /// 获取实名信息
  74. /// @param gameIdentifier 游戏唯一标识
  75. /// @param userIdentifier 游戏维度的用户唯一标识
  76. /// @param successHandelr AntiAddictionRealNameAuthState 用户状态,antiAddictionToken 防沉迷Token,AntiAddictionRealNameAgeLimit 年龄区分
  77. /// @param failureHandler msg 错误信息
  78. + (void)fetchUserIndentifyInfoGameIdentifier:(NSString *)gameIdentifier userIdentifier:(NSString *)userIdentifier
  79. successHandler:(void(^)(AntiAddictionRealNameAuthState state, NSString *antiAddictionToken, AntiAddictionRealNameAgeLimit ageLimit))successHandelr
  80. failureHandler:(void(^)(NSString *msg))failureHandler __attribute__((deprecated("Not supported in future versions")));
  81. + (void)setUnityVersion:(NSString *)version;
  82. @end
  83. NS_ASSUME_NONNULL_END