用户工具

智能验证接口_ios

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

智能验证接口_ios [2015/03/05 04:31]
xiejiangling
智能验证接口_ios [2017/08/23 08:44]
行 1: 行 1:
- 
-===== 智能验证接口 ===== 
- 
----- 
- 
-==== 1 文档说明 ==== 
- 
- 
-=== 1.1 功能描述 === 
- 
- 
-智能验证SDK为开发者提供一个完全透明、方便、高效的验证服务,智能验证平台聚合了稳定的短信、语音验证码服务,开发者无需再开发自己的短信通道、语音网关,而且基于公共云的强大服务,使得验证能逐步避免下发短信、语音手机号的方式验证,从而更快速,更准确快速验证,解决APP验证的验证难题、提升产品体验。 
- 
-=== 1.2 阅读对象 === 
- 
- 
-本文档主要阅读对象为开发人员,包括客户端和服务端。 
- 
-=== 1.3 业务术语 === 
- 
-^术语 ^解释 | 
-|下发 |智能验证平台使用自有的聚合SMS、语音能力发送短信或者发起呼叫告知用户验证码 |  
-|异步通知 |在智能验证平台正确验证过手机号后,在完成返回给APP通知的同时,执行异步 \\ 线程通知开发者服务器验证结果 | 
-|签名 |本文档中涉及的签名都是以MD5的32位小写格式,签名字符串(开发者主账号+应用ID \\ +手机号+应用配置的密钥) | 
- 
-==== 2 开发前准备 ==== 
- 
- 
-=== 2.1 注册UCPaaS用户账号 === 
- 
- 
-登录www.ucpaas.com官网,注册(已经有账号的跳过) 
- 
-{{:​图片1.png|}} 
- 
-UCPaas运营人员审核后,可执行下一步创建应用 
- 
-=== 2.2 创建应用 === 
- 
- 
-登录后管理中心,点击“应用管理”—》“应用列表”—》“创建应用” 
- 
-{{:​图片2.png|}} 
- 
-配置项目:​ 
- 
-{{:​图片3.png|}} 
- 
-指定智能验证配置项: 
- 
-{{:​图片4.png|}} 
- 
-=== 2.3 创建智能验证短信模板 === 
- 
- 
-每个应用下可创建一个(只能有一个)智能验证短信的模板 
- 
-{{:​图片5.png|}} 
- 
-{{:​图片6.png|}} 
- 
-=== 2.4 开发环境准备 === 
- 
-== 2.4.1 新建工程 == 
-  
-创建一个iPhone工程需要在Mac系统下面安装Xcode的软件,Xcode安装完成后可以在桌面的快速启动栏中的"​Launchpad"​中或者应用程序中找到一个图标看到后单击或者双击即可打开软件,Xcode版本最小需要4.2。 
- 
-打开Xcode后的界面可以看到几个选项,创建工程需要选择"​Create a newXcode project",​如下图所示: 
- 
-{{:​图片7.png|}} 
-也可以根据菜单创建工程,依次选择XCode菜单栏中的FiLe->​New->​Project,如下图所示: 
-{{:​图片8.png|}} 
- 
-选择完后弹出的界面中选择左边的"​iOS"​下面的"​Application",​然后选择右边的"​SingLeViewAppLication"​进行双击或者点击右下角"​Next",​ 如下图所示: 
-{{:​图片9.png|}} 
- 
-在完成后弹出的界面中的"​ProductName"​中填写你的工程名,如下图所示: ​ 
-{{:​图片10.png|}} 
- 
-添加完成后点击右下角的”Next”,在弹出的对话框中选择你需要把工程放置的位置。这样一个工程就初步的创建完成。 
-== 2.4.2 导入UCSSDK == 
-  
-创建完成工程后,把SDK包里面的ucssdk文件夹拷贝到新创建的工程路径下面,然后在工程目录结构中,右键选择Add Files to “UCSVoipDemo”(工程名称,在弹出的对话框中选择新创建的工程文件夹下的sdk这个文件夹,即前面拷贝的文件夹)。或者将这个文件夹拖入XCode 工程目录结构中, 
-{{:​图片11.png|}} 
-在弹出的界面中勾选Copy items into destination group’s folder(ifneeded),​并确保Add To Targets勾选相应的target。 相应的操作请看下图中所示: 
-{{:​图片12.png|}} 
- 
-== 2.4.3 配置工程信息 == 
-  
-**• 添加依赖框架(Frameworks)** 
- ​UCSSDK的实现,依赖了一些系统框架,在开发应用时,要在工程里加入这些框架。开发者首先点击工程右边的工程名,​然后在工程名右边 依次选择TARGETS->​BuiLd Phases->​Link Binary With Libraries,​展开LinkBinary With Libraries后点击展开后下面的"​+"​来添加下面的依赖项:​ 
-{{:​图片13.png|}} 
- 
-添加步骤如图所示:​ 
-{{:​图片14.png|}} 
- 
-**• 编译器设置** 
- ​在xcode5.1环境下,首先点击工程右边的工程名,​然后在工程名右边依次选择TARGETS、Build Settings LLVM 5.1- Language C++”中的”C++ Standard Library"​.存后面的选择框中选择libstdc++(GNU C++ standard Library)”选项,如果默认是则不需要修改。步骤如下图所示: 
-{{:​图片15.png|}} 
- 
-**• 编译器链接设置** 
- ​在xcode5.1环境下,首先点击工程右边的工程名,​然后在工程名右边依次选择TARGETS、Build Settings Linking中的Other Linker Flags. 中填入-ObjC。 如下图所示: 
-{{:​图片16.png|}} 
-{{:​图片17.png|}} 
- 
-== 2.4.4 编写代码 == 
-  
-介绍代码的实现过程,也可参考Demo的代码实现。 
- 
-==== 3 功能演示 ==== 
- 
- 
-=== 3.1 下发验证码场景 === 
- 
- 
-当用户手机未通过智能验证时,需要下发短信/​语音验证码的方式验证手机号的有效性。 
-{{:​图片18.png |}} 
- 
-流程说明:\\  ​ 
-1) 请求1的流程是发生在开发者自己的客户端和服务器,主要检测手机是否已经注册,如果未注册,则返回签名作为请求2中调用智能验证SDK的参数;\\ ​ 
- 
-2) 请求2 执行下发验证码的操作,具体接口参数详见“接口调用“中的”请求验证“接口说明;\\ ​ 
- 
-3) 请求3为提交验证码验证结果,检查用户的手机有效性;\\ 
- 
-4) 异步通知结果详见“5 服务器异步通知说明”;\\ 
- 
-=== 3.2 智能验证通过场景 === 
- 
-{{:​图片19.png |}} 
- 
-流程说明: \\  
-1) 请求1的流程是发生在开发者自己的客户端和服务器,主要检测手机是否已经注册,如果未注册,则返回签名作为请求2中调用智能验证SDK的参数;\\ ​ 
- 
-2) 请求2 执行下发验证码的操作,具体接口参数详见“接口调用“中的”请求验证“接口说明;\\ ​ 
- 
-3) 请求3为提交验证码验证结果,检查用户的手机有效性;\\ ​ 
- 
-4) 异步通知结果详见“5 服务器异步通知说明”; \\ 
- 
-==== 4 接口调用 ==== 
- 
- 
-=== 4.1 初始化 === 
- 
-<code java> 
-          ​ 
-/** 
- * 初始化实例及代理设置 
- */ 
-- (UCSVerifyService *)initWithDelegate:​(id)delegate;​ 
-</​code> ​       
- 
-=== 4.2 请求验证 === 
- 
-== 4.2.1 功能描述 == 
-  
-用户在收到短信或语音下发的验证码后,输入提交验证,APP调用SDK来完成验证码的校验 
- 
-== 4.2.2 接口说明 ​  == 
-      
-<code java> ​   ​ 
--(void)getVerificationCode:​(NSString *)sid withAppid:​(NSString *)appid withAppName:​(NSString *)appName withCodetype:​(int)codetype withPhone:​(NSString *)phone withSeconds:​(int)seconds withBusiness:​(int)business withSign:​(NSString *)sign; 
-</​code> ​     ​ 
- 
-参数说明: 
- 
-^名称 ^说明 | 
-|sid |开发者主账号 | 
-|appid |开发者应用ID | 
-|appName |APP包名 | 
-|codetype |保留字段(固定为1) | 
-|phone |手机号 | 
-|seconds |替换模板中的“有效时间”参数,单位在模板里自定义,\\ 如模板:你注册的验证码{1},请在{2}(秒/​分钟)内输入。\\ 此处参数会自动替换{2}参数 | 
-|busines |验证业务类型,当前智能验证业务参数值为1 | 
-|sign |签名 | 
- 
-== 4.2.3 调用示例 ​       == 
-  ​ 
-<code java> ​     ​ 
-//​获取验证码 
- 
--(void)requestCode 
-{ //​@"​d5580902cab4d8853b06644a55ef720a"​ withAppid:​@"​6f06242e1fea4c699dcc9124ad4421a5"​ 
-    [self.ucsCallService getVerificationCode:​@"​4c1990a5c1ad2674bc94bc39a6fd0699"​ withAppid:​@"​efb7e1de9da649fa83881afea2841cd7"​ withAppName:​@"​测试DEMO"​ withCodetype:​1 withPhone:​self.txt_codePhone.text withSeconds:​60 withBusiness:​1 withSign:​signString];​ 
-    ​ 
-} 
-</​code>  ​ 
-        ​ 
- 
-=== 4.3 提交验证码验证 === 
- 
-== 4.3.1 功能描述 == 
-  
-用户在收到短信或语音下发的验证码后,输入提交验证,APP调用SDK来完成验证码的校验 
-== 4.3.2 接口说明 ​ == 
- 
-<code java> ​           
--(void)doVerificationCode:​(NSString *)sid withAppid:​(NSString *)appid withPhone:​(NSString *)phone withVerifycode:​(NSString *)verifycode;​ 
-</​code>  ​ 
-        ​ 
- 
-参数说明: 
- 
-^名称 ^说明 | 
-|sid |开发者主账号 | 
-|appid |开发者应用ID | 
-|phone |用户手机号 | 
-|verifycode |用户输入的验证码 | 
- 
-== 4.3.3 调用示例 == 
- 
-<code java> ​             
-//​点击“下一步” 验证 
- 
-- (IBAction)bt_Verfy:​(id)sender { 
-    [self.txt_codePhone resignFirstResponder];​ 
-    [self.txt_code resignFirstResponder];​ 
-    ​ 
-    if (self.txt_code.text.length==0) { 
-        [self showtips:​@"​请输入验证码"​];​ 
-        return; 
-    } 
-    ​ 
-    [self.ucsCallService doVerificationCode:​@"​4c1990a5c1ad2674bc94bc39a6fd0699"​ withAppid:​@"​efb7e1de9da649fa83881afea2841cd7"​ withPhone:​self.txt_codePhone.text withVerifycode:​self.txt_code.text];​ 
-    ​ 
-} 
-</​code>  ​ 
-        ​ 
- 
-==== 5 服务器异步通知参数说明 ==== 
- 
- 
-=== 5.1 描述 === 
- 
- 
-当用户手机号在智能验证平台通过验证后,在返回SDK的HTTP结果时,执行异步线程通知开发者服务器的成功验证结果。开发者服务器在收到通知后,请注意做签名校验防止恶意请求。 
- 
-=== 5.2 列表 === 
- 
- 
--表- 回调验证成功参数 
- 
- 
-^参数 ^参数名称 ^类型 ^说明| 
-|appid |开发者id |String |开发者在我方注册的应用id | 
-|phone |手机号 |String |用户手机号 | 
-|sign |签名 |String |签名 | 
- 
-=== 5.3 样例 === 
- 
-<code java>  ​ 
-http://​www.xxx.com/​callback/?​appid=00e1d21234567891024e1a123456cfa3&​phone=13800038000&​sign=9d801affd5eadd325b8217430ec809e6 
-</​code>  ​ 
- 
-签名字符串:​ (开发者主账号+应用ID+手机号+应用配置的密钥) 
- 
-例如:\\ ​ 
-开发者主账号:0316894c88d389035113e4bf01c30e2f \\  
-应用ID:00e1d21234567891024e1a123456cfa3 \\  
-手机号:13800038000 \\ 
-秘钥:private_key ​ \\ 
- ​MD5(0316894c88d389035113e4bf01c30e2f00e1d21234567891024e1a123456cfa313800038000private_key) \\ 
- ​MD5后sign = 9d801affd5eadd325b8217430ec809e6 (注意是小写) \\ 
- 
-开发者服务器收到请求后返回: {“result”:​”success”} \\ 
- 
-==== 6 错误码 ==== 
- 
- 
-=== Ios SDK 错误码 === 
- 
-^参数 ^参数名称 | 
-|401061 |开发者号无效 | 
-|401062 |验证码错误 | 
-|401063 |验证码过期 | 
-|401064 |30s内重复请求 | 
-|401065 |签名错误 | 
-|401066 |手机号码无效 | 
-|401067 |已经注册过 | 
-|401068 |其他错误 | 
  

页面工具