方法 | 功能说明 |
---|---|
getPhoneVerifyToken | 【本机号码校验】获取本机号码校验通行证 |
checkPhoneNumber | 【本机号码校验】手机号码校验 |
本机号码校验需要先获取通行证,然后再进行本机号码校验。
/**
* 获取本机号码校验所需要的 processID 和 token
* @param pn 待校验手机号码
* @param callback 回调
* {
* code: 30000, //NSNumber, 非30000为失败
* msg: "success" // NSString, 返回信息
* phone: "1333333333" // NSString, 输入的手机号
* token: "xxx" // NSString, 授权凭证
* processID: "xxx" // NSString, 流水号
* operatorType = 4; // NSString, 操作类型
* }
*/
+ (void)getPhoneVerifyToken:(NSString *_Nonnull)pn andCallback:(GyVerifyCallback _Nonnull)callback;
参数名称 | 是否必填 | 类型 | 描述 |
---|---|---|---|
pn | 是 | String | 待校验手机号码 |
callback | 否 | GyVerifyCallback | 回调 |
[GeYanSdk getPhoneVerifyToken:pn andCallback:^(NSDictionary *result) {
NSLog(@"%@", result);
}];
GyVerifyCallback返回结果示例:
{
"code" : 30000,
"phone" : "17357981821",
"operatorType" : 3,
"msg" : "success",
"processID" : "7da6378c8637406ffec002c433c52b1a",
"token" : "nm59b1598ae1e0465da3db485354166c55"
}
属性 | 类型 | 属性说明 |
---|---|---|
gyuid | String | 个验用户唯一标识 |
success | boolean | 是否获取成功 |
code | int | 状态码,30000表示获取成功 |
msg | String | 获取成功的时候,包含accessCode信息,验证失败的时候,为失败详细信息 |
metadata | JSON | 失败时,运营商的错误信息 |
/**
* 本机号码校验,本接口为客户端校验手机号使用
* 若需要服务端校验手机号码,请使用 getPhoneVerifyToken:andCallback 获取 相关参数
* @param pn 待校验手机号码
* @param token getPhoneVerifyToken 返回的 token
* @param processId getPhoneVerifyToken 返回的processId
* @param opType getPhoneVerifyToken 返回的opType
* @param callback 回调
* {
* code: 30000, //NSNumber, 非30000为失败
* msg: "success" // NSString, 返回信息
* }
*/
+ (void)checkPhoneNumber:(NSString *)pn withToken:(NSString *)token withProcessId:(NSString *)processId withOperatorType:(NSString *)opType andCallback:(GyVerifyCallback)callback;
我们还提供了服务端的本机号码校验接口,如果开发者有这方面的需求,请参考服务端的文档。
参数名称 | 是否必填 | 类型 | 描述 |
---|---|---|---|
pn | 是 | string | 待验证号码 |
token | 是 | String | 本机号码校验通行证 |
processId | 是 | String | 流水号 |
opType | 是 | String | 运营商类型 |
callback | 是 | GyVerifyCallback | 回调 |
[GeYanSdk checkPhoneNumber:result[@"phone"] withToken:result[@"token"] withProcessId:result[@"processID"] withOperatorType:result[@"operatorType"] andCallback:^(NSDictionary *verifyDictionary) {
NSLog(@"%@", verifyDictionary);
}];
GyVerifyCallback
返回结果示例:
{
"msg" : "成功",
"code" : 30000
}
属性 | 类型 | 属性说明 |
---|---|---|
code | int | 状态码,30000表示验证成功 |
msg | String | 返回码说明 |
SDK返回码
状态码 | 含义 |
---|---|
30000 | 操作成功 |
30001 | 当前网络环境不适合执行该操作 |
30004 | 其他错误 |
30005 | 预登录失败 |
30006 | 一键登录失败 |
30007 | 获取本机号码校验token失败 |
40047 | 一键登录取号失败 |
40053 | 手机号校验失败 |
errorCode | Description |
---|---|
-20100 | 手机号未传 |
-20101 | app_id未传 |
-20104 | 没有预取号就进行取号 |
-20200 | 当前网络不可用 |
-20201 | 当前手机没有电话卡 |
-20202 | 当前没有开启流量 |
-20203 | 未获取到运营商 |
-20204 | 获取运营商错误 |
-20205 | 预取号超时 |
-20206 | 没有预取号成功就进行取号 |
-20207 | WIFI下请求切换网络失败 |
-20301 | 退出取号页面 |
-20302 | 按返回键退出取号页面 |
-20303 | 切换账号登陆方式 |
-20304 | 授权页面加载异常 |
-30200 | SDK内部请求PreGateWay接口超时 |
-40101 | 移动运营商预取号失败 |
-40102 | 移动运营商取号失败 |
-40104 | 移动不支持的网络制式 |
-40201 | 联通运营商预取号失败 |
-40202 | 联通运营商取号失败 |
-40204 | 联通不支持的网络制式(不支持2G) |
-40301 | 电信运营商预取号失败 |
-40302 | 电信运营商取号失败 |
-40305 | 电信不支持的网络制式(不支持2G, 3G) |
-50100 | 服务接口返回异常 |
-50101 | 服务接口解密失败 |
-50102 | 服务接口返回错误 |
其余情况请参考状态码汇总说明
建议开发者在开发期间开启debug模式,通过查看debug日志,可以更好的排查问题。
[GeYanSdk setDebug:YES];
目前支持移动 2G、3G、4G、5G,联通 3G、4G、5G,电信 4G、5G。
支持,双卡手机以开启数据流量的 SIM 卡进行认证。
在数据网络开通的前提下,WiFi 环境中会强制使用数据网络触发网关请求,请求仅为几K,可正常校验。
SDK 不提供接口判断用户是否为携号转网用户,但可以判断用户流量卡当前的运营商。即携号转网用户可正常使用。
仅支持三大运营商(移动、联通、电信)的手机号进行一键登录。
三大运营商(移动、联通、电信)的卡,能够正常使用数据网络,运营商通过网关能够正常取号,均会被作为正常的卡来判断。
以上文档对您是否有帮助?