号码认证服务PNVS

    IOS_SDK

    概述

    本项目是一款在Ios系统上实现手机号码一键登录的SDK。此SDK具备风险设备检测、运营商一键登录等多种功能。

    注意:

    1. iOS轻量级安全SDK中不包含运营商SDK,请把压缩文件中的运营商SDK一并集成。
    2. 目前支持中国移动、中国电信SIM卡登录,不支持中国联通登录。
    3. 仅针对当前上网的SIM进行一键登录。
    4. 必须保证SIM卡流量开关打开,有蜂窝数据权限才可以。
    5. 使用一键登录功能前,请先注册运营商的AppID和AppKey等渠道标识,并联系轻量级SDK的提供方。

    运营商SDK和资源

    运营商SDK需要单独集成进宿主App中,framework为SDK代码,bundle中包含的是运营商各自授权页面的资源。

    │- ChinaMobile(中国移动资料包)
    │   │- TYRZSDK.framework 
    │   │- TYRZResource.bundle
    │   │
    │- ChinaTelecom(中国电信资料包)
    │   │- EAccountHYSDK.framework
    │   │- EAccountOpenPageResource.bundle

    集成步骤

    • Xcode版本需使用9.0以上,低版本移动SDK报错。
    • 导入移动SDK和资源:TYRZSDK.framework,TYRZResource.bundle
    • 导入电信SDK和资源:EAccountHYSDK.framework、EAccountOpenPageResource.bundle
    • Linked Frameworks and Libarires 中增加两个系统库:libc++.1.tbd,、libz.1.2.8.tbd
    • 在Xcode中找到TARGETS-->Build Setting-->Linking-->Other Linker Flags选项中需要添加 -ObjC。

    一键登录流程

    一键登录SDK对外提供的头文件SAuthLoginSDKLib,使用时需要先调用初始化SDK接口,然后再调用一键登录接口,流程:

    • 需要先保证SDK已经初始化,调用过方法startSDKWithAppKey、secretKey:、userInfo。
    • 调用接口authLoginWithParameters:completion:进行一键登录。
    • 判断手机开启流量的SIM对应的运营商,调用运营商SDK进行登录操作,弹出授权页面并点击授权登录。
    • 完成一键登录,通过回调并在resultString结果中拿到返回的状态和数据。

    接口说明

    初始化 SDK

    /**
     * SDK初始化接口
     @param appKey     初始化SDK需要的参数,需要提前申请
     @param secretKey     初始化SDK需要的参数,需要提前申请
     @param userInfo     初始化SDK需要的参数,用户的自定义参数
     */
    + (void)startSDKWithAppKey:(NSString *)appKey secretKey:(NSString *)secretKey userInfo:(NSDictionary *)userInfo;

    一键登录

    /**
     * 一键登录接口
     @param jsonString     登录需传递的参数,为JSON String格式
     @param completion     登录执行完毕的回调
     */
    + (void)authLoginWithParameters:(NSString *)jsonString completion:(void(^)(NSString *resultString))completion;

    返回数据格式

    1. 一键登录返回数据为JSON String,内部格式及字段固定

    Key Value 备注
    0 主状态 主要判断依据,0为成功,非0为失败,分多个种类
    1 子状态 在主状态的基础上,用于细分状态类型,有多种分类
    2 运营商 表示移动、电信、联通分类
    3 登录结果 登录成功后会包含业务数据,失败为空

    2. 举例:

    {
     "0": 0,
     "1": 0,
     "2": "3",
     "3": "{\"data\":{...返回的数据内容...}"
    }

    3. 返回值说明

    • 状态

    在返回的JSON String中主状态(0)和子状态(1)对应的值都是成对出现:

    主状态分类 子状态 含义
    0 0 成功
    1 1~100 服务端返回错误
    2 998 正在登录中
    3 999 风控错误,异常设备
    4 1000-1999 iOS客户端逻辑错误
    5 其他 运营商SDK返回错误
    • 运营商类型
    运营商代号 含义
    1 移动
    2 联通(暂未支持)
    3 电信
    一篇
    Android SDK
    一篇
    token换取号码API