Protocol

GOPManagerDelegate

GOPManager相关操作, 操作验证过程中的请求行为

gtOnePass:willRequestVerify:withReplacedHandler:

修改OnePass结果校验的请求

Declaration

- (void)gtOnePass:(GOPManager *)manager willRequestVerify:(NSURLRequest *)originalRequest withReplacedHandler:(void (^)(NSURLRequest * request))replacedHandler;

Parameters

Param Description
manager 验证管理器
originalRequest 原始请求
replacedHandler 返回修改后请求回调

Discussion

不支持在子线程操作

gtOnePass:didReceiveVerify:withError:

处理OnePass校验结果

Declaration

- (void)gtOnePass:(GOPManager *)manager didReceiveVerify:(NSData *)data withError:(NSError *)error;

Parameters

Param Description
manager 验证管理器
data 接收到的返回数据
error 请求中的错误

shouldUseDefaultSMSAPI:

通知代理是否使用默认的短信接口

Declaration

- (BOOL)shouldUseDefaultSMSAPI:(GOPManager *)manager;

Parameters

Param Description
manager 验证管理器

Return Value

返回NO则使用默认行为。默认为YES

gtOnePass:willRequestSMS:withReplacedHandler:

修改默认发送短信的请求

Declaration

- (void)gtOnePass:(GOPManager *)manager willRequestSMS:(NSURLRequest *)originalRequest withReplacedHandler:(void (^)(NSURLRequest * request))replacedHandler;

Parameters

Param Description
manager 验证管理器
originalRequest 原始请求
replacedHandler 返回修改后请求回调

Discussion

只有当shouldUseDefaultSMSAPI:返回YES后, 此方法才会被调用

gtOnePass:didReceiveSMS:withError:

处理发送短信验证接口的返回

Declaration

- (void)gtOnePass:(GOPManager *)manager didReceiveSMS:(NSData *)data withError:(NSError *)error;

Parameters

Param Description
manager 验证管理器
data 接收到的返回数据
error 请求中的错误

Discussion

只有当shouldUseDefaultSMSAPI:返回YES后, 此方法才会被调用

GOPManager

GTOnePass的主要外部调用接口

Property

delegate

OnePass代理

Declaration

@property (nonatomic, weak) id<GOPManagerDelegate> delegate;

diagnosisStatus

诊断当前网络OnePass是否可用。如果可用返回YES,否则NO

Declaration

@property (nonatomic, readonly, assign) BOOL diagnosisStatus;

currentPhoneNum

获取当前的手机号。如果加密, 返回加密后的。

Declaration

@property (nonatomic, readonly, copy) NSString *currentPhoneNum;

Method

initWithCustomID:verifyUrl:timeout:

初始化并返回一个新的GOPManager实例对象

Declaration

- (instancetype)initWithCustomID:(NSString *)customID verifyUrl:(NSString *)verifyUrl timeout:(NSTimeInterval)timeout;

Parameters

Param Description
customID 产品id, 请在官网注册获取
verifyUrl onepass校验接口地址, 网站主使用onepass的服务端sdk搭建
timeout 本地各请求的超时时间

Return Value

一个新的GOPManager实例对象

Seealso

OnePass注册

OnePass文档

verifyPhoneNum:withCaptchaValidate:completion:failure:

初始化并返回一个新的规定了尺寸的GOPManager实例对象

Declaration

- (void)verifyPhoneNum:(NSString *)phoneNum withCaptchaValidate:(NSString *)validate completion:(GOPCompletion)completion failure:(GOPFailure)failure;

Parameters

Param Description
phoneNum 手机号码, 11位字符串, 仅支持大陆三大运营商的手机号
validate 32位字符串, 验证sensebot中返回的结果, 为gtCaptcha:didReceiveCaptchaCode:result:message:代理方法返回的result中的geetest_validate键值
completion OnePass结果回调, 通过@“type”返回结果的状态, 具体返回实例见下方示例
failure OnePass失败回调, 返回网络层面或者业务层面的错误
  • completion示例

    1. OnePass成功

      {
      content = 4730e454f19be6970f9bbb951479cad7;//校验数据
      duration = "2.581";//onepass耗时
      "process_id" = 59a4aa4e1402caca858f7ed950edbcdc;//流水号
      result = 0;//校验结果, 0为成功
      type = onepass;//校验类型, 可为onepass或sms, 如果为sms者需要通过短信进行补充
      }
    2. OnePass失败, 使用备用的短信进行验证

      {
      GOPCode = "-500";//错误码
      GOPDescription = ...//走短信的详细描述
      content = success;// 短信发送成功
      "custom_id" = 7591d0f44d4c265c8441e99c748d936b;//当前的产品id
      "message_id" = 151158023459762289;//message_id
      "process_id" = 54bfe09afc80b834fb13b34234564017;//流水号
      result = 0;//成功状态, 0为成功
      type = sms;//校验类型, 可为onepass或sms, 如果为sms者需要通过短信进行补充
      }

Discussion

OnePass需要设备的数据网络支持。如果OnePass失败, 会使用短信进行补充当前的场景。极验提供默认的短信服务, 开发者也可通过接口关闭默认的短信行为, 切换为自己的短信系统。

目前仅支持大陆地区的手机号。SDK内部默认正则规则为'^1([3-9])\\d{9}$'

Seealso

- (BOOL)shouldUseDefaultSMSAPI:(GOPManager *)manager;