IOpenUMIDComponent.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. //
  2. // IOpenUMIDComponent.h
  3. // OpenSecurityGuardSDK
  4. //
  5. // Created by lifengzhong on 14/8/13.
  6. // Copyright (c) 2014年 Li Fengzhong. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * @brief umid发生变化时(包含第一次生成的情形),会抛出该通知。
  11. * @discussion userInfo字典中会包含"token"和"env"这两个key及对应的值,表示在env环境下token背后的umid发生了变化。
  12. * @code
  13. SDP_ENVIRONMENT env = [userInfo[@"env"] intValue];
  14. NSString *umidToken = userInfo[@"token"];
  15. * @endcode
  16. */
  17. extern NSString *const IOpenUMIDComponentUmidDidChanged;
  18. /**
  19. * umid 使用的环境变量定义
  20. */
  21. typedef enum {
  22. /**
  23. * 线上环境
  24. */
  25. SDP_ENVIRONMENT_ONLINE = 0,
  26. /**
  27. * 预发布环境
  28. */
  29. SDP_ENVIRONMENT_PRE,
  30. /**
  31. * 日常环境
  32. */
  33. SDP_ENVIRONMENT_DAILY,
  34. /**
  35. * 美国线上环境
  36. */
  37. SDP_ENVIRONMENT_ONLINE_US,
  38. /**
  39. * 未设置
  40. */
  41. SDP_ENVIRONMENT_UNSET
  42. } SDP_ENVIRONMENT;
  43. @protocol IOpenUMIDComponent <NSObject>
  44. /**
  45. * 初始化 umid
  46. *
  47. * @param resultHandler 初始化结果回调,本函数必须在主线程内完成(推荐在 appdelegate中,应用启动时调用)
  48. *
  49. * @return 调用成功结果
  50. */
  51. - (void) registerInitListener: (void (^) (NSString* securityToken, NSError* error)) listener;
  52. /**
  53. * 初始化umid
  54. *
  55. * @param appKey appkey,注意此值要与 dpEnv 对应,线上环境对应传线上的 appkey,以此类推
  56. * @param sdpEnv 接入应用当前的环境,包括线上,预发,线上
  57. * @param authCode 授权码,指定umid使用哪个加密文件,注意入参appkey在authCode对应的图片中要存在
  58. * @param handler 初始化结果回调,本函数必须在主线程内完成(推荐在 appdelegate中,应用启动时调用)
  59. *
  60. */
  61. - (BOOL) initUMID: (NSString*) appKey
  62. environment: (SDP_ENVIRONMENT) sdpEnv
  63. authCode: (NSString*) authCode
  64. handler: (void (^) (NSString* securityToken, NSError* error)) handler;
  65. /**
  66. * 返回UMID Token,长度为32的字符串
  67. *
  68. * @return 如果失败,返回内容为24个0的字符串
  69. */
  70. - (NSString*) getSecurityToken;
  71. /**
  72. * 返回UMID Token,长度为32的字符串
  73. *
  74. * @return 如果失败,返回内容为24个0的字符串
  75. */
  76. - (NSString*) getSecurityToken: (SDP_ENVIRONMENT)envForToken;
  77. /**
  78. * 设置UMID线上访问地址
  79. *
  80. * @param host 要设置的线上地址,如ynuf.alipay.com,不要带协议头,不要带后面的参数,只能传纯host地址
  81. */
  82. - (void) setOnlineHost: (NSString*) host;
  83. /**
  84. * 清空 umid 本地数据(mock接口,正常情况不要调用!)
  85. */
  86. - (void) resetClientData: (SDP_ENVIRONMENT) env;
  87. /**
  88. * 获取 umid
  89. *
  90. * @return umid版本号
  91. */
  92. - (NSString*) getUMIDVersion;
  93. @end