ZXSDK.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. //
  2. // ZXSDK.h
  3. // ZXSDK
  4. //
  5. // Created by zx on 2021-03-10.
  6. // ZXSDK-Version: 3.2.5.39379
  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. @end
  30. @protocol ZXSDKProtocol <NSObject>
  31. /// 获取SAID
  32. /// @param accessKeyId 通过管理后台申请分配的密钥标识
  33. /// @param signature 信息签名字符串,参考签名方式。
  34. /// @param signatureMethod 信息签名方法,目前固定为 HMAC-SHA256 。
  35. /// @param signatureNonce 64 字节以内的随机串,用于防止重放攻击,每次请求 必须提供不同的值。
  36. /// @param timestamp UTC时间戳,从UTC1970年1月1日0时0分0秒起至现在 的总秒数。如 1632634877
  37. - (void)getSAIDWithAccessKeyId:(NSString *_Nonnull)accessKeyId
  38. signature:(NSString *_Nonnull)signature
  39. signatureMethod:(NSString *_Nonnull)signatureMethod
  40. signatureNonce:(NSString *_Nonnull)signatureNonce
  41. timestamp:(NSString *_Nonnull)timestamp
  42. callback:(ZXSDKSAIDCallback _Nonnull)callback;
  43. /// 获取预授权token
  44. - (void)getAuthToken:(ZXSDKAuthTokenCallback _Nonnull)callback;
  45. /// 获取卓信id
  46. - (void)getZXID:(ZXSDKCallback _Nonnull)callback;
  47. /// 获取设备对应Tag
  48. - (void)getTag:(ZXSDKAidInfoCallback _Nonnull)callback;
  49. /// 读取卓信ID开关
  50. - (BOOL)enable DEPRECATED_MSG_ATTRIBUTE("默认返回YES");
  51. /// 设置卓信ID开关
  52. /// @param enable YES:打开(默认) NO:关闭
  53. - (void)setEnable:(BOOL)enable;
  54. /// 设置是否提示权限弹窗
  55. /// @param allow YES:提示 NO:不提示(默认)
  56. - (void)allowPermissionDialog:(BOOL)allow;
  57. /// 读取卓信是否允许弹窗
  58. - (BOOL)isAllowPermissionDialog DEPRECATED_MSG_ATTRIBUTE("默认返回NO");
  59. /// sdk版本号
  60. - (NSString * _Nonnull)version;
  61. @end
  62. @interface ZXSDK : NSObject
  63. + (void)startZXSDK;
  64. /// 获取卓信id
  65. + (void)getZXID:(ZXSDKCallback _Nonnull)callback;
  66. /// 获取SAID
  67. /// @param accessKeyId 通过管理后台申请分配的密钥标识
  68. /// @param signature 信息签名字符串,参考签名方式。
  69. /// @param signatureMethod 信息签名方法,目前固定为 HMAC-SHA256 。
  70. /// @param signatureNonce 64 字节以内的随机串,用于防止重放攻击,每次请求 必须提供不同的值。
  71. /// @param timestamp UTC时间戳,从UTC1970年1月1日0时0分0秒起至现在 的总秒数。如 1632634877
  72. + (void)getSAIDWithAccessKeyId:(NSString *_Nonnull)accessKeyId
  73. signature:(NSString *_Nonnull)signature
  74. signatureMethod:(NSString *_Nonnull)signatureMethod
  75. signatureNonce:(NSString *_Nonnull)signatureNonce
  76. timestamp:(NSString *_Nonnull)timestamp
  77. callback:(ZXSDKSAIDCallback _Nonnull)callback;
  78. /// 获取预授权token
  79. + (void)getAuthToken:(ZXSDKAuthTokenCallback _Nonnull)callback;
  80. /// 获取设备对应Tag
  81. + (void)getTag:(ZXSDKAidInfoCallback _Nonnull)callback;
  82. /// 读取卓信ID开关
  83. + (BOOL)enable DEPRECATED_MSG_ATTRIBUTE("默认返回YES");
  84. /// 设置卓信ID开关
  85. /// @param enable YES:打开(默认) NO:关闭
  86. + (void)setEnable:(BOOL)enable;
  87. /// 设置是否提示权限弹窗
  88. /// @param allow YES:提示 NO:不提示(默认)
  89. + (void)allowPermissionDialog:(BOOL)allow;
  90. /// 读取卓信是否允许弹窗
  91. + (BOOL)isAllowPermissionDialog DEPRECATED_MSG_ATTRIBUTE("默认返回NO");
  92. /// sdk版本号
  93. + (NSString * _Nonnull)version;
  94. /// 服务商使用, 普通开发不建议使用
  95. + (id<ZXSDKProtocol>_Nullable)initWithAppId:(NSString *_Nonnull)appId;
  96. /// 服务商调用 需要在`load`方法中注册服务商的APPID
  97. + (void)registerAppId:(NSString *_Nonnull)appId;
  98. @end