iOS接入

2024.03.13 15:46:30

    法规说明

    根据我国《网络安全法》等相关法律法规及国家标准的要求,个人信息的收集和使用,应当遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。故我们强烈建议您在拟接入易盾SDK前,检查和完善拟接入软件的《隐私政策》中有关采集个人信息部分的说明,确保已涵盖拟接入SDK项下需要采集的个人信息(详见附表),并明确您有权将上述个人信息提供给第三方用于安全服务。

    附表:

    采集信息类型 备注
    设备型号
    设备IP地址
    设备软件版本信息
    设备唯一标识码(idfa)
    传感器数据 提供开关,默认打开,可根据业务需求随时设置关闭

    接入流程

    自动化模式下,SDK组件的接入流程:

    • 嵌入SDK
    • init:初始化SDK,初始化一次即可;
    • getToken:调用getToken接口获取token,每次调用返回不同的token值。一般由用户操作(提交等)来触发getToken,请注意:一个token只能使用一次,如果在同一页面中,允许用户多次操作,请多次调用getToken接口以获取不同的token。请勿在一次用户操作中,多次调用getToken接口;用户第一次启动的时候,请确认网络权限已经获取的情况下获取token
    • 提交token:将token作为请求参数提交到业务方后端。

    嵌入SDK

    导入SDK

    • 咨询易盾技术支持获得压缩包并解压,得到示例工程GuardianDemo和SDK文件 Guardian.framework。
    • 拖拽Guardian.framework文件到Xcode工程(请勾选 Copy Items if needed 选项)
    • 点击target -> Build Phase -> Link Binary With Libraries,添加AvFoundation.framework、CoreTelephony.framewrok、SystemConfiguration.framework框架。
    • 工程配置 Build Settings -> Other Linker Flags ,添加 -ObjC
    • 在info.plist文件中添加 Privacy - Location Always and When In Use Usage Description

    注意事项:iOS SDK 最低兼容的系统版本是iOS 9.0。2.4.3以后的版本不用IDFA。

    历史版iOS SDK会收集IDFA,如使用历史版本,请参考文档末IDFA配置。

    导入头文件

    AppDelegate.m文件中、以及 需要使用SDK 的相关.m文件中,导入如下头文件:

        #import <Guardian/NTESCSGuardian.h>
    

    说明:如果是Swift工程,请在对应的 bridging-header.h 中导入此头文件即可。

    init接口

    接口说明:

    + (void)initWithProductNumber:(NSString *)number completeHandler:(initBlock)block;
    
    • 调用方式:
    [NTESCSGuardian initWithProductNumber:@"your_product_number" completeHandler:^(NSInteger code, NSString *message) {
            
    }];
    
    
    • 接口描述:初始化SDK
    • 返回值:void
    • 参数说明
    参数名 类型 是否必须 说明
    productNumber NSString 产品编号
    block initBlock 回调Block
    • 回调code说明
    code message 说明
    200 ok 成功
    1001 product number error 产品编号不正确

    初始化可选参数配置

    以下属性需要在初始化之前使用。

    • 设置传感器数据是否采集

    @property (assign, nonatomic) BOOL seniorCollectStatus;

    调用方式

    [NTESCSGuardian sharedInstance].seniorCollectStatus = NO;
    
    

    属性说明:传感器数据采集开关,默认为开启。当需要禁用传感器数据采集时,设置为NO。 后面也有类方法的调用方式,功能相同。

    • 设置APP渠道名称

    @property (copy, nonatomic) NSString *channelName;

    调用方式

    [NTESCSGuardian sharedInstance].channelName = @"渠道名称";
    
    
    • 设置私有化域名,正常情况不需要设置

    @property (copy, nonatomic) NSString *urlPrefix;

    调用方式

    [NTESCSGuardian sharedInstance].urlPrefix = @"自定义域名";
    
    参考值为 https://ac.dun.163yun.com
    
    • 设置离线或网络异常状态下返回详细数据(离线token),默认关

    @property (assign, nonatomic) BOOL offlineToken;

    调用方式

    [NTESCSGuardian sharedInstance].offlineToken = YES;
    
    

    getToken接口

    getToken接口返回唯一凭证token,业务方前端需要将此token提交到业务后端,业务后端再使用此token来check接口获取检测结果。注意:

    • 一般由用户的操作来触发getToken调用,比如用户点击“提交”按钮等
    • 一个token只能使用一次
    • 如果在不刷新页面的情况下,业务功能允许用户多次操作,请多次调用getToken接口以获取不同的token

    接口说明:

    + (void)getTokenWithCompleteHandler:(tokenBlock)block;
    或
    + (void)getTokenWithTimeout:(NSInteger)timeout completeHandler:(tokenBlock)block;
    
    • 调用方式:
    [NTESCSGuardian getTokenWithCompleteHandler:^(NSString *token, NSInteger code, NSString *message) {
                    
    }];
    或
    [NTESCSGuardian getTokenWithTimeout:3000 completeHandler:^(NSString *token, NSInteger code, NSString *message) {
                    
    }];
    
    • 接口描述:用于查询的Token,通过参数block完成回调,获取token

    • 返回值:void

    • 参数说明

    参数名 类型 是否必须 说明
    timeout int 最长超时时间,单位毫秒。若没有指定,则默认3000ms;timeout可设置范围为1~10秒
    block tokenBlock 回调Block
    • 回调code说明
    code message 说明
    200 ok 成功
    1002 init error 初始化失败

    注意事项:

    • 该接口是以异步的方式获取Token,在生成Token完成时,会调用用户传入的Block进行回调,并传入Token到该Block中。
    • 强烈建议:初始化init到gettoken时间间隔2s以上,并且由用户触发。

    设置传感器数据采集状态

    • 调用方式:
     + (void)setSeniorStatus:(BOOL)isOpen;
    
    
    • 接口描述:传感器数据采集开关,默认为开启。当需要禁用传感器数据采集时,设置为NO。 在init之后,可以随时调用。
    • 返回值:无。
    • 参数说明
    参数名 类型 是否必须 说明
    isOpen BOOL YES开启,NO关闭传感器数据采集

    上传自定义数据

    • 调用方式:
    + (void)setExtraData:(NSString *)value forKey:(NSString *)key
    
    • 接口描述:上传自定义数据字段,通过业务字段进行关联分析使用
    • 返回值:无。
    • 参数说明
    参数名 类型 是否必须 说明
    value NSString 参数内容
    key NSString 字段名称
    Online Chat Tel:95163223 Free trial