ZXSDK.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. //
  2. // ZXSDK.h
  3. // ZXSDK
  4. //
  5. // Created by zx on 2021-03-10.
  6. // ZXSDK-Version: 3.3.1.48587
  7. #import <Foundation/Foundation.h>
  8. //! Project version number for ZXSDK.
  9. FOUNDATION_EXPORT double ZXSDKVersionNumber;
  10. //! Project version string for ZXSDK.
  11. FOUNDATION_EXPORT const unsigned char ZXSDKVersionString[];
  12. #define ZXSDKStoreDATA(sectname) __attribute((used, section("__DATA,"#sectname" ")))
  13. #define ZXSDKStoreMod(name, value) \
  14. class ZXSDK; char * k##name##_mod ZXSDKStoreDATA(ZXSDKMods) = ""#value"";
  15. @class ZXSDKResultModel;
  16. typedef void (^ZXSDKCallback)(ZXSDKResultModel *_Nullable model, NSError *_Nullable error);
  17. typedef void (^ZXSDKSAIDCallback)(NSString *_Nullable said, NSError *_Nullable error);
  18. typedef void (^ZXSDKAidInfoCallback)(NSDictionary *_Nullable res, NSError *_Nullable error);
  19. typedef void (^ZXSDKVerifyCallback)(BOOL success, NSError *_Nullable error);
  20. typedef void (^ZXSDKAuthTokenCallback)(NSString *_Nullable token, NSError *_Nullable error);
  21. @interface ZXSDKResultModel : NSObject
  22. @property (nonatomic, copy, nonnull) NSString *zxid;
  23. @property (nonatomic, copy, nonnull) NSString *expireTime;
  24. @property (nonatomic, copy, nullable) NSString *openid;
  25. @property (nonatomic, copy, nullable) NSArray *tags;
  26. @property (nonatomic, assign) NSInteger ot;
  27. @property (nonatomic, copy, nullable) NSString *aaid;
  28. @property (nonatomic, copy, nullable) NSString *vaid;
  29. @property (nonatomic, copy, nullable) NSString *taid;
  30. @end
  31. @protocol ZXSDKProtocol <NSObject>
  32. /// 获取SAID
  33. /// @param accessKeyId 通过管理后台申请分配的密钥标识
  34. /// @param signature 信息签名字符串,参考签名方式。
  35. /// @param signatureMethod 信息签名方法,目前固定为 HMAC-SHA256 。
  36. /// @param signatureNonce 64 字节以内的随机串,用于防止重放攻击,每次请求 必须提供不同的值。
  37. /// @param timestamp UTC时间戳,从UTC1970年1月1日0时0分0秒起至现在 的总秒数。如 1632634877
  38. - (void)getSAIDWithAccessKeyId:(NSString *_Nonnull)accessKeyId
  39. signature:(NSString *_Nonnull)signature
  40. signatureMethod:(NSString *_Nonnull)signatureMethod
  41. signatureNonce:(NSString *_Nonnull)signatureNonce
  42. timestamp:(NSString *_Nonnull)timestamp
  43. callback:(ZXSDKSAIDCallback _Nonnull)callback;
  44. /// 获取预授权token
  45. - (void)getAuthToken:(ZXSDKAuthTokenCallback _Nonnull)callback;
  46. /// 获取卓信id
  47. - (void)getZXID:(ZXSDKCallback _Nonnull)callback;
  48. /// 获取设备对应Tag
  49. - (void)getTag:(ZXSDKAidInfoCallback _Nonnull)callback;
  50. /// 读取卓信ID开关
  51. - (BOOL)enable DEPRECATED_MSG_ATTRIBUTE("默认返回YES");
  52. /// 设置卓信ID开关
  53. /// @param enable YES:打开(默认) NO:关闭
  54. - (void)setEnable:(BOOL)enable;
  55. /// 设置是否提示权限弹窗
  56. /// @param allow YES:提示 NO:不提示(默认)
  57. - (void)allowPermissionDialog:(BOOL)allow;
  58. /// 读取卓信是否允许弹窗
  59. - (BOOL)isAllowPermissionDialog DEPRECATED_MSG_ATTRIBUTE("默认返回NO");
  60. /// sdk版本号
  61. - (NSString * _Nonnull)version;
  62. @end
  63. @interface ZXSDK : NSObject
  64. + (void)startZXSDK;
  65. /// 获取卓信id
  66. + (void)getZXID:(ZXSDKCallback _Nonnull)callback;
  67. /// 获取SAID
  68. /// @param accessKeyId 通过管理后台申请分配的密钥标识
  69. /// @param signature 信息签名字符串,参考签名方式。
  70. /// @param signatureMethod 信息签名方法,目前固定为 HMAC-SHA256 。
  71. /// @param signatureNonce 64 字节以内的随机串,用于防止重放攻击,每次请求 必须提供不同的值。
  72. /// @param timestamp UTC时间戳,从UTC1970年1月1日0时0分0秒起至现在 的总秒数。如 1632634877
  73. + (void)getSAIDWithAccessKeyId:(NSString *_Nonnull)accessKeyId
  74. signature:(NSString *_Nonnull)signature
  75. signatureMethod:(NSString *_Nonnull)signatureMethod
  76. signatureNonce:(NSString *_Nonnull)signatureNonce
  77. timestamp:(NSString *_Nonnull)timestamp
  78. callback:(ZXSDKSAIDCallback _Nonnull)callback;
  79. /// 获取预授权token
  80. + (void)getAuthToken:(ZXSDKAuthTokenCallback _Nonnull)callback;
  81. /// 获取设备对应Tag
  82. + (void)getTag:(ZXSDKAidInfoCallback _Nonnull)callback;
  83. /// 读取卓信ID开关
  84. + (BOOL)enable DEPRECATED_MSG_ATTRIBUTE("默认返回YES");
  85. /// 设置卓信ID开关
  86. /// @param enable YES:打开(默认) NO:关闭
  87. + (void)setEnable:(BOOL)enable;
  88. /// 设置是否提示权限弹窗
  89. /// @param allow YES:提示 NO:不提示(默认)
  90. + (void)allowPermissionDialog:(BOOL)allow;
  91. /// 读取卓信是否允许弹窗
  92. + (BOOL)isAllowPermissionDialog DEPRECATED_MSG_ATTRIBUTE("默认返回NO");
  93. /// sdk版本号
  94. + (NSString * _Nonnull)version;
  95. /// 服务商使用, 普通开发不建议使用
  96. + (id<ZXSDKProtocol>_Nullable)initWithAppId:(NSString *_Nonnull)appId;
  97. /// 服务商调用 需要在`load`方法中注册服务商的APPID
  98. + (void)registerAppId:(NSString *_Nonnull)appId;
  99. @end