XYAPIRiskControManager.m 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // XYAPIRiskControManager.m
  3. // Timi
  4. //
  5. // Created by 翟玉磊 on 2021/8/25.
  6. //
  7. #import "XYAPIRiskControManager.h"
  8. #import "SmAntiFraud.h"
  9. static NSString * const RISK_CONTROL_ACTIVATION_FLAG = @"RISK_CONTROL_ACTIVATION_FLAG";
  10. @implementation XYAPIRiskControManager
  11. + (void)initSdkWithOrganization:(NSString *)Organization appId:(NSString *)appId publicKey:(NSString *)publicKey {
  12. SmOption *option = [[SmOption alloc] init];
  13. // 1.通用配置项
  14. [option setOrganization:Organization]; //必填,组织标识,邮件中 organization 项
  15. [option setAppId:appId]; //必填,应用标识,登录数美后台应用管理查看,没有合适值,可以写 default
  16. [option setPublicKey:publicKey]; //SDK 版本高于 2.5.0 时必填,加密 KEY,邮件中 ios_public_key 附件内容
  17. // 2 连接机房特殊配置项
  18. // 2.1 业务机房在国内
  19. // 1) 用户分布:中国(默认设置)
  20. // [option setArea:AREA_BJ];
  21. // 2) 用户分布:全球
  22. // [option setArea:AREA_BJ];
  23. // NSString* host = @"http://fp-it-acc.fengkongcloud.com";
  24. // [option setUrl:[host stringByAppendingString:@"/deviceprofile/v4"]];
  25. // [option setConfUrl:[host stringByAppendingString:@"/v3/cloudconf"]];
  26. // 2.2 业务机房在欧美
  27. // 1) 用户分布:欧美
  28. // [option setArea:AREA_FJNY];
  29. // 2) 用户分布:全球
  30. // [option setArea:AREA_FJNY];
  31. // NSString* host = @"http://fp-na-it-acc.fengkongcloud.com";
  32. // option setUrl:[host stringByAppendingString:@"/deviceprofile/v4"]];
  33. // option setConfUrl:[host stringByAppendingString:@"/v3/cloudconf"]];
  34. // 2.3 业务机房在东南亚
  35. // 1) 用户分布:东南亚
  36. // [option setArea:AREA_XJP];
  37. // 2) 用户分布:全球
  38. // [option setArea:AREA_XJP];
  39. // NSString* host = @"http://fp-sa-it-acc.fengkongcloud.com";
  40. // option setUrl:[host stringByAppendingString:@"/deviceprofile/v4"]];
  41. // option setConfUrl:[host stringByAppendingString:@"/v3/cloudconf"]]; //
  42. // 2.4 私有化特殊配置
  43. // 设置私有地址
  44. // NSString *host = @"http://private-host"; // 将 private-host 替换为您自己的主机名(域名)
  45. // [option setUrl: [host stringByAppendingString:@"/deviceprofile/v4"]];
  46. // [option setConfUrl:[host stringByAppendingString:@"/v3/cloudconf"]];
  47. // 3.SDK 初始化
  48. [[SmAntiFraud shareInstance] create:option];
  49. // 4.获取设备标识,注意获取到的是,这个接口在需要使用 deviceId 时地方调用
  50. // 会有极少情况出现 boxData 的情况,boxData 为加密后的采集数据,长度大约 5KB
  51. // NSString *deviceId = [[SmAntiFraud shareInstance] getDeviceId];
  52. BOOL flag = [[NSUserDefaults standardUserDefaults] boolForKey:RISK_CONTROL_ACTIVATION_FLAG];
  53. if (!flag) {
  54. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  55. // 反欺诈激活
  56. [[XYUserAPIManager new] appActivationsuccessHandler:^(ZYLResponseModel *responseModel) {
  57. [[NSUserDefaults standardUserDefaults] setBool:YES forKey:RISK_CONTROL_ACTIVATION_FLAG];
  58. } failureHandler:^(ZYLNetworkError *error) {
  59. }];
  60. });
  61. }
  62. }
  63. + (NSString *)getRiskControlDeviceId {
  64. NSString* deviceId = [[SmAntiFraud shareInstance] getDeviceId];
  65. if (deviceId.length > 0) {
  66. return deviceId;
  67. }
  68. return @"";
  69. }
  70. @end