iOS接入网易易盾并实现

二次信任 提交于 2020-03-05 12:49:27

一.接入网易易盾SDK

前言

1.此文章为Swift版本,OC版本可参考网易易盾官网接入实现文档
2.网易易盾SDK兼容iOS系统版本9.0+

CocoaPods集成方式

1.更新Podfile文件

在工程的 Podfile 里对应的 Target 中添加以下代码

pod 'VerifyCode'

2.集成SDK

在工程的当前目录下, 运行 pod install 或者 pod update

3.工程设置

在工程target目录内,需将Build Settings —> other link flags设置为-ObjC。

备注:

  1. 命令行下执行pod search VerifyCode,如显示的VerifyCode版本不是最新的,则先执行pod update操作更新本地repo的内容
  2. 如果想使用最新版本的SDK,则执行pod update
  3. 如果你的工程设置的"Deplyment Target"低于 9.0,则在Podfile文件的前面加上以下语句 platform :ios, ‘9.0’

手动集成方式

1.前往官网下载SDK

链接:http://support.dun.163.com/documents/15588062143475712?docId=150442931089756160&locale=zh-cn

网易易盾官网截图

我一直搞不明白为什么要下载Demo,直接下载SDK不就完了…

个人下载SDK后截图

2.导入项目

导入 VerifyCode.framework 到工程

导入NTESVerifyCodeResources.bundle到工程中:

进入Build Phase,在Copy Bundle Resources选项中,添加NTESVerifyCodeResources.bundle文件(请勾选Copy items if needed选项) 。

项目截图

项目截图

项目截图

3.添加依赖库

添加SystemConfiguration.framework JavaScriptCore.framework、WebKit.framework

项目截图

项目截图

4.工程设置

在工程target目录内,需将Build Settings —> other link flags设置为-ObjC。

二.网易易盾SDK使用

1.创建实例

var netEaseManager : NTESVerifyCodeManager!

2.引入代理

// NTESVerifyCodeManagerDelegate -> 代理
class LoginVC: UIViewController,NTESVerifyCodeManagerDelegate {}

3.代码实现


netEaseManager.delegate = self

// captchaid的值是每个产品从后台生成的,比如 @"a05f036b70ab447b87cc788af9a60974"

// 传统验证码
let captchaid = "deecf3951a614b71b4b1502c072be1c1"

// 设置验证码类型

netEaseManager.mode = NTESVerifyCodeMode.normal

/**

*  @abstract   配置参数

*  @param      captcha_id      验证码id

*  @param      timeoutInterval 加载验证码的超时时间,最长12s。这个时间尽量设置长一些,比如7秒以上(7-12s)

*/
netEaseManager.configureVerifyCode(captchaid, timeout: 7.0)

// 设置语言

netEaseManager.lang = NTESVerifyCodeLang.CN

// 设置背景透明度

netEaseManager.alpha = 0.3

// 设置背景颜色

netEaseManager.color = UIColor.black

// 设置是否开启降级方案

netEaseManager.openFallBack = true

/**

* @abstract    设置发生第fallBackCount次错误时,将触发降级。取值范围 >=1

* 默认设置为3次,第三次服务器发生错误时,触发降级,直接通过验证。

*/

netEaseManager.fallBackCount = 3

// 是否隐藏关闭按钮

netEaseManager.closeButtonHidden = false

// 设置位置大小

netEaseManager.frame = CGRect.init()

// 展示验证码视图

netEase.openVerifyCodeView()

4.回调方法

1.验证码组件初始化完成

func verifyCodeInitFinish() {
     print("收到初始化完成的回调")
}

2.验证码组件初始化出错

func verifyCodeInitFailed(_ error: [Any]!) {
        print("收到初始化失败的回调:\(String(describing: error))")
}

3.完成验证之后的回调

// result 验证结果 BOOL:YES/NO
// validate 二次校验数据,如果验证结果为false,validate返回空
// message 结果描述信息
func verifyCodeValidateFinish(_ result: Bool, validate: String!, message: String!) {
     print("收到验证结果的回调:result=\(result),validate=\(String(describing: validate)),message=\(String(describing: message)) 2")
    }

4.关闭验证码窗口后的回调

func verifyCodeCloseWindow() {
        print("收到关闭验证码视图的回调")
    }

5.网络错误回调

func verifyCodeNetError(_ error: Error!) {
        print("收到网络错误的回调:error\(String(describing: error))")
}

#5.实现效果图
网易易盾官网效果图

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!